body.vs-modern{background:#f5f7fb!important;color:#172033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.vs-modern .header{height:56px!important;min-height:56px!important;background:#fff!important;box-shadow:0 1px 8px rgba(16,24,40,.08);position:sticky;top:0;z-index:100;display:flex!important;align-items:center!important}.vs-modern .header .vs-brand{display:flex!important;align-items:center!important;height:56px!important;padding:0 15px!important;margin:0!important;background:transparent!important;text-indent:0!important;float:none!important}.vs-modern .header .vs-brand-logo{height:36px!important;width:auto!important;max-width:180px!important;display:block!important;visibility:visible!important;opacity:1!important}.vs-modern .header .navbar{height:56px!important;min-height:56px!important;margin:0!important;flex:1}.vs-modern .header .navbar-btn{margin-top:11px!important}.vs-modern .wrapper,.vs-modern .content{background:#f5f7fb!important}.vs-modern .content{padding:0 0 40px!important}.vs-hero{padding:48px 20px 34px;text-align:center;background:linear-gradient(180deg,#fff,#f5f7fb)}.vs-hero h1{font-size:38px;font-weight:800;margin:0 0 10px;color:#101828}.vs-hero p{max-width:720px;margin:auto;color:#667085;font-size:17px}.vs-app{max-width:1120px;margin:auto;padding:18px 16px}.vs-card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;box-shadow:0 8px 30px rgba(16,24,40,.06);overflow:hidden}.vs-tabs{display:flex;gap:7px;overflow:auto;padding:14px;border-bottom:1px solid #e4e7ec}.vs-tabs a{flex:0 0 auto;padding:10px 14px;border-radius:10px;color:#475467;text-decoration:none;font-weight:600}.vs-tabs a.active{background:#eff4ff;color:#2563eb}.vs-generator{display:grid;grid-template-columns:minmax(0,1fr) 360px}.vs-form{padding:28px;min-width:0}.vs-result{padding:28px;background:#fafbfc;border-left:1px solid #e4e7ec;display:flex;flex-direction:column;align-items:center}.vs-form h2,.vs-result h2{font-size:20px;margin:0 0 22px;font-weight:750}.vs-field{margin-bottom:16px}.vs-field label{display:block;font-size:13px;font-weight:650;color:#344054;margin-bottom:7px}.vs-field input,.vs-field textarea,.vs-field select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;font-size:15px;background:#fff}.vs-field input:focus,.vs-field textarea:focus,.vs-field select:focus{border-color:#84adff;box-shadow:0 0 0 3px #eff4ff;outline:none}.vs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vs-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.vs-btn{border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.vs-btn-primary{background:#2563eb;color:#fff;border:1px solid #2563eb}.vs-btn-secondary{background:#fff;color:#344054;border:1px solid #d0d5dd}.vs-preview{width:300px;height:300px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}.vs-preview img{max-width:100%;max-height:100%}.vs-empty{color:#98a2b3;text-align:center;padding:30px}.vs-status{min-height:22px;margin-top:12px;font-size:13px;color:#667085;text-align:center}.vs-custom{width:100%;margin-top:22px;border-top:1px solid #e4e7ec;padding-top:20px}.vs-history{margin-top:28px;width:100%;border-top:1px solid #e4e7ec;padding-top:22px}.vs-history .vs-history-table-wrap{max-height:320px;overflow:auto}.vs-history-table th,.vs-history-table td{border-right:1px solid #e4e7ec}.vs-history-table th:last-child,.vs-history-table td:last-child{border-right:0}.vs-history-table th{cursor:pointer;user-select:none}.vs-history-table th[data-sortable="false"]{cursor:default}.vs-history-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:8px 0}.vs-history-search{flex:1;min-width:180px;height:36px;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;font-size:13px;background:#fff}.vs-history-search:focus{border-color:#84adff;box-shadow:0 0 0 3px #eff4ff;outline:none}.vs-history-toolbar-actions{display:flex;gap:6px;align-items:center}.vs-history-toolbar-actions .vs-btn{height:36px;box-sizing:border-box;padding:0 12px;font-size:12px}.vs-history-page-size{height:36px;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:0 9px;font-size:12px;background:#fff}.vs-history-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:#667085}.vs-history-page-size-wrap{display:flex;align-items:center;gap:6px}.vs-history-page-size{height:32px;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:0 9px;font-size:12px;background:#fff}.vs-history-pagination{display:flex;align-items:center;gap:8px;font-size:12px;color:#667085}.vs-history-page-buttons{display:flex;gap:4px}.vs-history-page-buttons button{border:1px solid #d0d5dd;background:#fff;border-radius:6px;padding:4px 8px;cursor:pointer}.vs-history-page-buttons button.active{background:#eff4ff;border-color:#84adff;color:#2563eb}.vs-history-page-buttons button:disabled{opacity:.45;cursor:not-allowed}.vs-history-table th:last-child,.vs-history-table td:last-child{width:72px;min-width:72px;max-width:72px;padding-left:5px;padding-right:5px;text-align:center}.vs-history-delete{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #f04438!important;color:#d92d20!important;background:#fff!important;padding:0!important;border-radius:6px!important;cursor:pointer}.vs-history-delete:hover{background:#fff5f4!important}.vs-history-delete svg{width:15px;height:15px;fill:currentColor}.vs-history-actions{text-align:center!important;white-space:nowrap}.vs-history-table-wrap{width:100%;overflow:auto;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.vs-history-table{width:100%;min-width:720px;max-width:none;table-layout:fixed;border-collapse:collapse;font-size:12px}.vs-history-table th{background:#f8fafc;color:#344054;font-weight:700;text-align:left;padding:9px 10px;border-bottom:1px solid #e4e7ec;white-space:nowrap}.vs-history-table td{padding:9px 10px;border-bottom:1px solid #f0f2f5;color:#475467;vertical-align:top}.vs-history-table tbody tr:last-child td{border-bottom:0}.vs-history-empty{color:#98a2b3;text-align:center;padding:18px;font-size:12px}.vs-history-export{display:flex;align-items:center;gap:6px}.vs-history-export select{display:none}.vs-history h3{font-size:14px;margin:0}.vs-history-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.vs-history-export{display:flex;align-items:center;gap:6px}.vs-history-export select{border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px;font-size:12px;background:#fff}.vs-export-status{min-height:16px;color:#667085;font-size:12px;margin-top:7px}.vs-history-item{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #eee;font-size:12px}.vs-section{max-width:1120px;margin:18px auto;padding:0 16px}.vs-section .panel{border-radius:18px;border:1px solid #e4e7ec;box-shadow:none}@media(max-width:800px){.vs-generator{grid-template-columns:1fr}.vs-result{border-left:0;border-top:1px solid #e4e7ec}.vs-hero h1{font-size:30px}.vs-grid2{grid-template-columns:1fr}.vs-form,.vs-result{padding:20px}.vs-preview{width:260px;height:260px}}
/* External page styles */


/* Location map picker */
.vs-location-search{display:flex;gap:8px;margin-bottom:10px}.vs-location-search input{flex:1;height:38px;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:9px;padding:0 12px;font-size:13px;outline:none}.vs-location-search input:focus{border-color:#84adff;box-shadow:0 0 0 3px #eff4ff}.vs-location-search .vs-btn{height:38px;min-width:58px}.vs-location-map{height:320px;width:100%;border:1px solid #d0d5dd;border-radius:12px;overflow:hidden;background:#f2f4f7}.vs-location-selected{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #eaecf0;border-radius:9px;background:#f8fafc;font-size:12px}.vs-location-selected span:first-child{color:#344054;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-location-selected span:last-child{color:#667085;white-space:nowrap;font-variant-numeric:tabular-nums}.vs-location-help{margin:8px 0 0;color:#667085;font-size:12px}@media(max-width:640px){.vs-location-map{height:280px}.vs-location-selected{display:block}.vs-location-selected span{display:block}.vs-location-selected span:last-child{margin-top:4px}}
.vs-history-table-wrap{overflow-x:hidden}
.vs-history-table th:first-child,.vs-history-table td:first-child{width:42px}
@media(max-width:640px){.vs-history-footer{flex-wrap:wrap}.vs-history-pagination{margin-left:auto}.vs-history-table th,.vs-history-table td{padding:9px 7px}.vs-history-table th:first-child,.vs-history-table td:first-child{width:34px}.vs-history-table th:last-child,.vs-history-table td:last-child{width:42px;min-width:42px;max-width:42px}.vs-history-filter{min-width:0;max-width:none}.vs-history-toolbar-actions{width:100%;justify-content:flex-end}}
.vs-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;box-sizing:border-box}.vs-btn-icon{width:15px;height:15px;flex:0 0 15px;fill:currentColor}.vs-history-delete .vs-btn-icon{width:15px;height:15px}.vs-history-toolbar-actions .vs-btn{min-height:36px}

/* Prevent the history table from creating a horizontal scrollbar. */
.vs-history-table-wrap{overflow-x:hidden!important;overflow-y:auto!important;min-width:0!important}
.vs-history-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
.vs-history-table th,.vs-history-table td{min-width:0!important;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}
.vs-history-table th:first-child,.vs-history-table td:first-child{width:42px!important;max-width:42px!important}
.vs-history-table th.vs-history-qr-column,.vs-history-table td.vs-history-qr{width:72px!important;min-width:72px!important;max-width:72px!important;text-align:center!important;vertical-align:middle!important}
.vs-history-table th:last-child,.vs-history-table td:last-child{width:64px!important;min-width:64px!important;max-width:64px!important;text-align:center!important}
.vs-history-table th:not(:first-child):not(.vs-history-qr-column):not(:last-child),.vs-history-table td:not(:first-child):not(.vs-history-qr):not(:last-child){text-align:left!important}
.vs-history-table td{vertical-align:middle!important}
.vs-history-table td:not(.vs-history-qr):not(.vs-history-actions){white-space:nowrap!important;padding-left:12px!important;padding-right:12px!important}


/* Consistent form control sizing */
.vs-modern .vs-field input,
.vs-modern .vs-field select,
.vs-modern .vs-location-search input,
.vs-modern .vs-history-search,
.vs-modern .vs-history-page-size {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 38px;
  border-radius: 8px;
}

.vs-modern .vs-field textarea {
  min-height: 40px;
  padding: 9px 12px;
  line-height: 20px;
  border-radius: 8px;
}

.vs-modern .vs-btn {
  min-height: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  line-height: 1;
}

.vs-modern .vs-history-toolbar-actions .vs-btn,
.vs-modern .vs-history-page-size {
  height: 40px;
  min-height: 40px;
}

.vs-modern .vs-location-search .vs-btn {
  height: 40px;
  min-height: 40px;
}

.vs-modern .vs-field label {
  margin-bottom: 6px;
}

.vs-modern .vs-actions {
  align-items: center;
}

/* Keep table action text fully visible without squeezing data columns. */
.vs-history-table th:last-child{white-space:nowrap;padding-left:10px;padding-right:10px;}
.vs-history-table td:last-child{white-space:nowrap;padding-left:10px;padding-right:10px;}


/* QR app visual polish - SaaS utility style */
.vs-modern{
  --vs-primary:#2563eb;
  --vs-primary-dark:#1d4ed8;
  --vs-primary-soft:#eff6ff;
  --vs-text:#101828;
  --vs-muted:#667085;
  --vs-border:#e4e7ec;
  --vs-surface:#f8fafc;
}
.vs-modern .content{background:linear-gradient(180deg,#f8fafc 0,#f5f7fb 100%)!important}
.vs-modern .vs-hero{padding:34px 20px 26px;background:transparent;text-align:left}
.vs-modern .vs-hero .vs-app-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--vs-primary);background:var(--vs-primary-soft);border:1px solid #dbeafe;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.vs-modern .vs-hero h1{font-size:32px;letter-spacing:-.035em;margin:12px 0 6px}
.vs-modern .vs-hero p{margin:0;color:var(--vs-muted);font-size:14px;max-width:760px}
.vs-modern .vs-app{padding:8px 16px 28px}

@media (min-width:761px){
  .vs-modern .vs-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    align-items:start;
  }
  .vs-modern .vs-tabs{
    grid-column:1 / -1;
  }
  .vs-modern .vs-generator{
    grid-column:1;
    grid-row:2;
    display:block;
    min-width:0;
  }
  .vs-modern .vs-result{
    grid-column:2;
    grid-row:2;
    min-width:0;
    width:auto;
  }
}
@media (max-width:760px){
  .vs-modern .vs-card{
    display:block;
  }
  .vs-modern .vs-generator{
    display:block;
  }
  .vs-modern .vs-result{
    width:auto;
  }
}
.vs-modern .vs-card{border-radius:16px;box-shadow:0 10px 32px rgba(16,24,40,.07);border-color:#e7eaf0}
.vs-modern .vs-tabs{gap:5px;padding:10px;background:#fff;border-bottom:1px solid #eef0f3}
.vs-modern .vs-tabs a{position:relative;padding:9px 12px;border-radius:9px;font-size:13px;transition:background .15s ease,color .15s ease,transform .15s ease}
.vs-modern .vs-tabs a:hover{background:#f8fafc;color:var(--vs-primary);transform:translateY(-1px)}
.vs-modern .vs-tabs a.active{background:var(--vs-primary-soft);color:var(--vs-primary);box-shadow:inset 0 0 0 1px #dbeafe}
.vs-modern .vs-generator{background:#fff}
.vs-modern .vs-form{padding:26px 28px}
.vs-modern .vs-result{padding:26px 28px;background:linear-gradient(180deg,#fbfcfe,#f7f9fc);border-left:1px solid #eef0f3}
.vs-modern .vs-form h2,.vs-modern .vs-result h2{font-size:18px;letter-spacing:-.01em;margin-bottom:18px}
.vs-modern .vs-field{margin-bottom:14px}
.vs-modern .vs-field label{font-size:12px;color:#344054;font-weight:700}
.vs-modern .vs-field input,.vs-modern .vs-field textarea,.vs-modern .vs-field select{border-color:#d0d5dd;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:border-color .15s ease,box-shadow .15s ease}
.vs-modern .vs-field input:hover,.vs-modern .vs-field textarea:hover,.vs-modern .vs-field select:hover{border-color:#b8c0cc}
.vs-modern .vs-field input:focus,.vs-modern .vs-field textarea:focus,.vs-modern .vs-field select:focus{border-color:#84adff;box-shadow:0 0 0 3px #eff4ff,0 1px 2px rgba(16,24,40,.04)}
.vs-modern .vs-actions{margin-top:18px}
.vs-modern .vs-btn{box-shadow:0 1px 2px rgba(16,24,40,.05);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.vs-modern .vs-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(16,24,40,.08)}
.vs-modern .vs-btn-primary{background:linear-gradient(180deg,#2f6df0,#2563eb);border-color:#2563eb}
.vs-modern .vs-btn-secondary{background:#fff}
.vs-modern .vs-preview{width:300px;height:300px;border-radius:16px;border-color:#dfe3e8;box-shadow:0 12px 30px rgba(16,24,40,.08)}
.vs-modern .vs-status{font-size:12px}
.vs-modern .vs-custom{margin-top:20px;padding-top:18px}
.vs-modern .vs-history{margin-top:24px;padding-top:20px}
.vs-modern .vs-history-header h3{font-size:15px;letter-spacing:-.01em}
.vs-modern .vs-history-table-wrap{border-color:#e4e7ec;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.vs-modern .vs-history-table th{background:#f8fafc;color:#344054;font-size:11px;text-transform:none}
.vs-modern .vs-history-table td{background:#fff;font-size:12px}
.vs-modern .vs-history-table tbody tr:hover td{background:#f9fbff}
.vs-modern .vs-history-page-buttons button{min-width:30px;height:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}
.vs-modern .vs-history-page-buttons button.active{font-weight:700}
.vs-modern .vs-location-search{margin-bottom:12px}
.vs-modern .vs-location-map{border-color:#d0d5dd;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.vs-modern .vs-location-selected{background:#f8fafc;border-color:#e4e7ec}
@media(max-width:800px){
  .vs-modern .vs-hero{padding:26px 16px 20px}
  .vs-modern .vs-hero h1{font-size:27px}
  .vs-modern .vs-form,.vs-modern .vs-result{padding:20px}
  .vs-modern .vs-tabs{padding:8px}
}

/* App-shell redesign v2: make the working area visibly feel like an application */
.vs-modern .header{
  padding-left:max(12px,calc((100vw - 1120px)/2));
  padding-right:max(12px,calc((100vw - 1120px)/2));
}
.vs-modern .header .vs-brand{padding-left:8px!important;padding-right:18px!important}
.vs-modern .content{min-height:calc(100vh - 56px)!important;background:#f4f6fa!important}
.vs-modern .vs-hero{
  max-width:1120px;margin:0 auto;padding:34px 16px 20px!important;text-align:left!important;background:transparent!important;
}
.vs-modern .vs-hero:before{content:'VietSoft QR';display:block;width:max-content;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.vs-modern .vs-hero h1{font-size:30px!important;line-height:1.15!important;margin:10px 0 5px!important;letter-spacing:-.03em!important}
.vs-modern .vs-hero p{margin:0!important;font-size:14px!important;color:#667085!important;max-width:680px}
.vs-modern .vs-app{max-width:1120px!important;padding:8px 16px 40px!important}
.vs-modern .vs-card{
  border:1px solid #dfe3ea!important;border-radius:18px!important;box-shadow:0 12px 35px rgba(16,24,40,.08)!important;background:#fff!important;
}
.vs-modern .vs-tabs{
  padding:8px!important;gap:4px!important;background:#fff!important;border-bottom:1px solid #eaecf0!important;
}
.vs-modern .vs-tabs a{padding:10px 13px!important;border:1px solid transparent;font-size:12px!important;font-weight:700!important;color:#667085!important}
.vs-modern .vs-tabs a:hover{background:#f8fafc!important;color:#344054!important}
.vs-modern .vs-tabs a.active{background:#eff6ff!important;border-color:#dbeafe!important;color:#175cd3!important;box-shadow:none!important}
.vs-modern .vs-generator{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important}
.vs-modern .vs-form{padding:30px!important;background:#fff!important}
.vs-modern .vs-result{padding:30px!important;background:linear-gradient(180deg,#f9fbff 0%,#f5f7fb 100%)!important;border-left:1px solid #eaecf0!important;position:relative;box-sizing:border-box;min-width:0}
.vs-modern .vs-form h2,.vs-modern .vs-result h2{font-size:18px!important;margin-bottom:20px!important;color:#101828!important}
.vs-modern .vs-form h2:after{content:' ';display:block;width:34px;height:3px;background:#2563eb;border-radius:99px;margin-top:9px}
.vs-modern .vs-result h2{text-align:center!important;width:100%}
.vs-modern .vs-preview{width:300px!important;height:300px!important;border-radius:18px!important;border:1px solid #d8dee8!important;box-shadow:0 14px 36px rgba(16,24,40,.10)!important;background:#fff!important}
.vs-modern .vs-result .vs-actions{justify-content:center!important;width:100%!important;margin-top:18px!important}
.vs-modern .vs-result .vs-btn{min-width:104px!important}
.vs-modern .vs-custom{margin-top:24px!important;padding-top:22px!important;border-top:1px solid #eaecf0!important}
.vs-modern .vs-history{margin-top:24px!important;padding:20px 0 0!important;border-top:1px solid #eaecf0!important;background:#fff!important}
.vs-modern .vs-history-header{margin-bottom:14px!important}
.vs-modern .vs-history-header h3{font-size:16px!important;font-weight:750!important;color:#101828!important}
.vs-modern .vs-history-toolbar{padding:10px;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;margin:0 0 10px!important}
.vs-modern .vs-history-search{background:#fff!important}
.vs-modern .vs-history-table-wrap{border-radius:10px!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important}
.vs-modern .vs-history-table th{background:#f8fafc!important;color:#475467!important;font-size:11px!important;padding:11px 10px!important}
.vs-modern .vs-history-table td{padding:11px 10px!important}
.vs-modern .vs-history-footer{padding-top:4px!important}
@media(max-width:760px){
 .vs-modern .header{padding-left:8px;padding-right:8px}
 .vs-modern .vs-generator{grid-template-columns:1fr!important}
 .vs-modern .vs-result{border-left:0!important;border-top:1px solid #eaecf0!important}
 .vs-modern .vs-form,.vs-modern .vs-result{padding:22px!important}
 .vs-modern .vs-history{padding:20px 0 0!important}
}


/* History QR thumbnail */
.vs-modern .vs-history-table th.vs-history-qr-column,
.vs-modern .vs-history-table td.vs-history-qr{width:72px!important;min-width:72px!important;max-width:72px!important;padding:5px!important;text-align:center!important;vertical-align:middle!important}
.vs-modern .vs-history-qr a{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border:1px solid #e4e7ec;border-radius:7px;background:#fff;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.vs-modern .vs-history-qr a:hover{transform:scale(1.06);box-shadow:0 4px 10px rgba(16,24,40,.10)}
.vs-modern .vs-history-qr img{width:56px;height:56px;display:block}
@media(max-width:640px){.vs-modern .vs-history-table th.vs-history-qr-column,.vs-modern .vs-history-table td.vs-history-qr{width:66px!important;min-width:66px!important;max-width:66px!important;padding:4px!important}.vs-modern .vs-history-qr a,.vs-modern .vs-history-qr img{width:52px;height:52px}}


/* QR design editor */
.vs-modern .vs-design-intro{margin:-4px 0 18px;color:#667085;font-size:12px;line-height:1.5}
.vs-modern .vs-color-control{display:flex;gap:8px;align-items:center}.vs-modern .vs-color-control input[type=color]{width:44px;height:40px;padding:3px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}.vs-modern .vs-color-control input[type=text]{flex:1;height:40px;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;font-family:monospace;text-transform:uppercase}.vs-modern .vs-label-muted{font-weight:400;color:#98a2b3}.vs-modern .vs-design-file-name{margin-top:7px;color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs-modern .vs-design-warning{padding:10px 12px;border:1px solid #dbeafe;background:#eff6ff;color:#175cd3;border-radius:8px;font-size:12px;line-height:1.45}.vs-modern .vs-design-panel .vs-actions{margin-top:16px}.vs-modern .vs-design-panel .vs-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Client-side history QR renderer */
.vs-modern .vs-history-qr-code{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff}.vs-modern .vs-history-qr-code img,.vs-modern .vs-history-qr-code canvas{width:56px!important;height:56px!important;display:block}@media(max-width:640px){.vs-modern .vs-history-qr-code,.vs-modern .vs-history-qr-code img,.vs-modern .vs-history-qr-code canvas{width:52px!important;height:52px!important}}
/* Final history table sizing: QR, compact ID, readable action column. */
.vs-modern .vs-history-table th.vs-history-id-column,
.vs-modern .vs-history-table td.vs-history-id {
  width:56px!important;
  min-width:56px!important;
  max-width:56px!important;
  text-align:center!important;
  padding-left:6px!important;
  padding-right:6px!important;
}
.vs-modern .vs-history-table th.vs-history-actions-column {
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
  text-align:center!important;
  padding-left:6px!important;
  padding-right:6px!important;
}
.vs-modern .vs-history-table td.vs-history-actions {
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
  text-align:center!important;
  padding-left:6px!important;
  padding-right:6px!important;
}
.vs-modern .vs-history-table td.vs-history-actions button {
  flex:0 0 auto;
}
@media(max-width:640px){
  .vs-modern .vs-history-table th.vs-history-id-column,
  .vs-modern .vs-history-table td.vs-history-id {
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
  .vs-modern .vs-history-table th.vs-history-actions-column,
  .vs-modern .vs-history-table td.vs-history-actions {
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }
}


/* Design tab: focused editor without the generator/history clutter. */
.vs-modern .vs-design-panel{
  max-width:720px;
  padding:20px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfcff 0%,#f8fafc 100%);
  box-shadow:0 4px 16px rgba(16,24,40,.04);
}
.vs-modern .vs-design-intro{
  margin:0 0 18px;
  padding:0 0 16px;
  border-bottom:1px solid #eaecf0;
  color:#667085;
  font-size:13px;
  line-height:1.55;
}
.vs-modern .vs-design-panel .vs-grid2{
  gap:14px;
}
.vs-modern .vs-design-panel .vs-field{
  margin-bottom:16px;
}
.vs-modern .vs-design-panel .vs-field:last-of-type{
  margin-bottom:0;
}
.vs-modern .vs-color-control{
  padding:6px;
  border:1px solid #d0d5dd;
  border-radius:9px;
  background:#fff;
}
.vs-modern .vs-color-control input[type=color]{
  flex:0 0 42px;
  width:42px;
  height:38px;
  border:0;
  padding:2px;
}
.vs-modern .vs-color-control input[type=text]{
  height:38px;
  border:0;
  box-shadow:none;
  font-size:13px;
}
.vs-modern .vs-color-control input[type=text]:focus{
  box-shadow:none;
}
.vs-modern .vs-design-panel #vsDesignStyle{
  background:#fff;
}
.vs-modern .vs-design-panel #vsDesignLogo{
  height:auto;
  padding:9px 10px;
  line-height:20px;
  background:#fff;
}
.vs-modern .vs-design-file-name{
  min-height:18px;
}
.vs-modern .vs-design-warning{
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:8px;
}
.vs-modern .vs-design-panel .vs-actions{
  padding-top:2px;
}
.vs-modern .vs-design-panel .vs-btn-primary{
  min-width:170px;
}
@media(max-width:800px){
  .vs-modern .vs-design-panel{
    max-width:none;
    padding:16px;
  }
}


/* Guide and FAQ: align the lower content with the application shell. */
.vs-modern .vs-info-section{max-width:1120px;margin:18px auto;padding:0 16px}.vs-modern .vs-info-card{background:#fff;border:1px solid #dfe3ea;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.05);padding:24px}.vs-modern .vs-info-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.vs-modern .vs-info-icon{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#eff6ff;color:#2563eb;font-weight:800;border:1px solid #dbeafe}.vs-modern .vs-info-kicker{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#2563eb;margin-bottom:3px}.vs-modern .vs-info-heading h2{margin:0;color:#101828;font-size:19px;line-height:1.25;font-weight:750}.vs-modern .vs-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vs-modern .vs-guide-step{display:flex;gap:12px;padding:14px;border:1px solid #eaecf0;border-radius:12px;background:#fafbfc}.vs-modern .vs-guide-number{width:28px;height:28px;flex:0 0 28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#2563eb;color:#fff;font-size:12px;font-weight:800}.vs-modern .vs-guide-step strong{color:#344054;font-size:13px}.vs-modern .vs-guide-step p{margin:4px 0 0;color:#667085;font-size:12px;line-height:1.55}.vs-modern .vs-info-note{margin-top:14px;padding:11px 13px;border:1px solid #eaecf0;border-radius:10px;background:#f8fafc;color:#667085;font-size:12px;line-height:1.5}.vs-modern .vs-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vs-modern .vs-faq-grid details{border:1px solid #eaecf0;border-radius:11px;background:#fafbfc;overflow:hidden}.vs-modern .vs-faq-grid summary{padding:14px 15px;color:#344054;font-size:13px;font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:38px}.vs-modern .vs-faq-grid summary::-webkit-details-marker{display:none}.vs-modern .vs-faq-grid summary:after{content:'+';position:absolute;right:14px;top:11px;color:#667085;font-size:18px;font-weight:400}.vs-modern .vs-faq-grid details[open] summary{color:#175cd3;background:#f8fbff}.vs-modern .vs-faq-grid details[open] summary:after{content:'−';color:#2563eb}.vs-modern .vs-faq-grid details p{margin:0;padding:0 15px 14px;color:#667085;font-size:12px;line-height:1.6}@media(max-width:700px){.vs-modern .vs-info-section{padding:0 12px}.vs-modern .vs-info-card{padding:18px}.vs-modern .vs-guide-grid,.vs-modern .vs-faq-grid{grid-template-columns:1fr}}
/* Design tab: keep the editor visually consistent with the app shell. */
.vs-modern .vs-design-panel{max-width:720px;padding:20px;border:1px solid #e4e7ec;border-radius:14px;background:linear-gradient(180deg,#fbfcff 0%,#f8fafc 100%);box-shadow:0 4px 16px rgba(16,24,40,.04)}.vs-modern .vs-design-intro{margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid #eaecf0;color:#667085;font-size:13px;line-height:1.55}.vs-modern .vs-design-panel .vs-grid2{gap:14px}.vs-modern .vs-design-panel .vs-field{margin-bottom:16px}.vs-modern .vs-design-panel .vs-field:last-of-type{margin-bottom:0}.vs-modern .vs-color-control{padding:6px;border:1px solid #d0d5dd;border-radius:9px;background:#fff}.vs-modern .vs-color-control input[type=color]{flex:0 0 42px;width:42px;height:38px;border:0;padding:2px}.vs-modern .vs-color-control input[type=text]{height:38px;border:0;box-shadow:none;font-size:13px}.vs-modern .vs-color-control input[type=text]:focus{box-shadow:none}.vs-modern .vs-design-panel #vsDesignStyle{background:#fff}.vs-modern .vs-design-panel #vsDesignLogo{height:auto;padding:9px 10px;line-height:20px;background:#fff}.vs-modern .vs-design-file-name{min-height:18px}.vs-modern .vs-design-warning{margin-top:4px;display:flex;align-items:center;gap:8px}.vs-modern .vs-design-panel .vs-actions{padding-top:2px}.vs-modern .vs-design-panel .vs-btn-primary{min-width:170px}@media(max-width:800px){.vs-modern .vs-design-panel{max-width:none;padding:16px}}

/* History rows are directly editable by clicking the row. */
.vs-modern .vs-history-table tbody tr.vs-history-row{cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}
.vs-modern .vs-history-table tbody tr.vs-history-row:hover td{background:#f5f9ff!important}
.vs-modern .vs-history-table tbody tr.vs-history-row:focus-within td{background:#f5f9ff!important}


/* QR design controls live with the generated result. */
.vs-result-design{margin:18px 0 0;padding:18px;border:1px solid #e5eaf2;border-radius:16px;background:#f8fafc}
.vs-result-design-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.vs-result-design-header h3{margin:2px 0 0;font-size:18px;font-weight:700}
.vs-result-design-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2563eb}
.vs-result-design-hint{font-size:12px;color:#64748b;padding-top:4px}
.vs-result-design .vs-actions{margin-top:14px}
.vs-result-design .vs-design-warning{margin-top:12px}
@media (max-width:700px){
  .vs-result-design-header{display:block}
  .vs-result-design-hint{display:block;margin-top:5px}
}

/* Align checkbox controls with their labels without inheriting text-input sizing. */
.vs-modern .vs-field input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 7px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle;
  line-height: normal !important;
  box-shadow: none !important;
  border-radius: 4px;
}
.vs-modern .vs-field label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 0;
}


/* Keep the payment tab icon aligned with the text baseline. */
.vs-modern .vs-tabs a .vs-tab-icon {
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: -3px;
  margin-right: 5px;
  fill: currentColor;
}
.vs-modern .vs-tabs a[data-type="payment"] {
  display: inline-flex;
  align-items: center;
}


/* Compact QR customization: keep design controls collapsed until requested. */
.vs-modern .vs-result-design{
  margin:16px 0 0;
  padding:0;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.vs-modern .vs-result-design-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:13px 14px;
}
.vs-modern .vs-result-design-header h3{
  margin:2px 0 0;
  font-size:14px;
  font-weight:700;
  color:#101828;
}
.vs-modern .vs-result-design-summary{
  margin:3px 0 0;
  color:#667085;
  font-size:11px;
}
.vs-modern .vs-result-design-kicker{
  font-size:10px;
  letter-spacing:.05em;
}
.vs-modern .vs-result-design-hint{display:none}
.vs-modern .vs-result-design-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #d0d5dd;
  border-radius:8px;
  background:#fff;
  color:#344054;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.vs-modern .vs-result-design-toggle:hover{
  background:#f8fafc;
  border-color:#b8c0cc;
}
.vs-modern .vs-result-design-chevron{
  font-size:15px;
  line-height:1;
  transition:transform .15s ease;
}
.vs-modern .vs-result-design-toggle[aria-expanded="true"] .vs-result-design-chevron{
  transform:rotate(180deg);
}
.vs-modern .vs-result-design-body{
  display:none;
  padding:14px;
  border-top:1px solid #eaecf0;
  background:#f8fafc;
}
.vs-modern .vs-result-design-body .vs-field{margin-bottom:12px}
.vs-modern .vs-result-design-body .vs-actions{margin-top:12px}
.vs-modern .vs-result-design-body .vs-design-warning{margin-top:4px}
@media(max-width:700px){
  .vs-modern .vs-result-design-header{padding:12px}
  .vs-modern .vs-result-design-toggle{min-height:32px;padding:6px 9px}
}

.vs-modern .vs-result-design-body > .vs-result-config{
  margin:0!important;
  padding:0 0 14px!important;
  border:0!important;
}
.vs-modern .vs-result-design-body > .vs-result-config .vs-grid2{
  margin-bottom:0;
}
.vs-modern .vs-result-design-body > .vs-result-config + .vs-grid2{
  padding-top:14px;
  border-top:1px solid #eaecf0;
}


/* History import / export / print actions */
.vs-modern .vs-history-export{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
.vs-modern .vs-history-export .vs-btn{
  min-height:34px;
  padding:7px 10px;
}

#vsImportExcelInput{display:none!important;width:0!important;height:0!important;position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}

/* Batch export selection */
.vs-modern .vs-history-select-column,.vs-modern .vs-history-select{width:36px!important;min-width:36px!important;max-width:36px!important;text-align:center!important;padding:6px!important;}
.vs-modern .vs-history-select-column input,.vs-modern .vs-history-select input,.vs-modern .vs-history-select-all input{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;vertical-align:middle;flex:0 0 16px;}
.vs-modern .vs-import-preview-qr{width:110px;min-width:110px;text-align:center;vertical-align:middle!important}.vs-modern .vs-import-preview-qr img{width:72px;height:72px;display:block;margin:0 auto}.vs-modern .vs-import-preview-qr-loading,.vs-modern .vs-import-preview-qr-empty{color:#98a2b3;font-size:11px;white-space:nowrap;}
.vs-modern .vs-history-select-all{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#475467;white-space:nowrap;margin:0 4px 0 0;cursor:pointer;font-weight:600;}
.vs-modern .vs-history-selected-count{font-size:11px;color:#667085;white-space:nowrap;}

/* Make history selection controls explicitly clickable above row interactions. */
.vs-modern .vs-history-select-column input,
.vs-modern .vs-history-select input,
.vs-modern .vs-history-select-all input { position:relative; z-index:3; cursor:pointer; pointer-events:auto; }
.vs-modern .vs-history-select-column,
.vs-modern .vs-history-select { position:relative; z-index:2; }

.vs-modern .vs-history-export .vs-pro-feature{white-space:nowrap}

.vs-modern .vs-history-header{display:flex;align-items:center;margin-bottom:8px}.vs-modern .vs-history-header + .vs-history-export{width:100%;justify-content:flex-start;margin:0 0 10px}

.vs-modern.vs-file-export-modal-open{overflow:hidden}.vs-modern .vs-file-export-modal{display:none;position:fixed;inset:0;z-index:10001}.vs-modern .vs-file-export-modal.is-open{display:flex;align-items:center;justify-content:center;padding:20px}.vs-modern .vs-file-export-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48)}.vs-modern .vs-file-export-card{position:relative;width:min(460px,100%);padding:26px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22)}.vs-modern .vs-file-export-close{position:absolute;top:12px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#f2f4f7;color:#475467;font-size:24px;line-height:1;cursor:pointer}.vs-modern .vs-file-export-kicker{margin-bottom:7px;color:#175cd3;font-size:11px;font-weight:800;letter-spacing:.1em}.vs-modern .vs-file-export-card h2{margin:0 38px 7px 0;color:#101828;font-size:22px}.vs-modern .vs-file-export-card>p{margin:0 0 18px;color:#667085;font-size:13px;line-height:1.5}.vs-modern .vs-file-export-options{display:grid;gap:10px}.vs-modern .vs-file-export-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid #eaecf0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.vs-modern .vs-file-export-option:hover{background:#f8fafc;border-color:#c7d7fe}.vs-modern .vs-file-export-option-icon{display:flex;flex:0 0 38px;width:38px;height:38px;align-items:center;justify-content:center;border-radius:9px;background:#eef4ff;color:#175cd3;font-size:12px;font-weight:800}.vs-modern .vs-file-export-option span:last-child{display:flex;flex-direction:column;gap:3px}.vs-modern .vs-file-export-option strong{color:#101828;font-size:13px}.vs-modern .vs-file-export-option small{color:#667085;font-size:11px}.vs-modern .vs-history-export .vs-pro-feature{white-space:nowrap}@media(max-width:640px){.vs-modern .vs-file-export-modal.is-open{padding:10px}.vs-modern .vs-file-export-card{padding:22px 16px;border-radius:15px}}

.vs-modern .vs-design-advanced{margin:4px 0 14px;padding:12px;border:1px solid #eaecf0;border-radius:10px;background:#fff}.vs-modern .vs-design-advanced-title{margin-bottom:10px;color:#344054;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vs-modern .vs-design-advanced .vs-field{margin-bottom:10px}.vs-modern .vs-design-advanced .vs-field:last-child{margin-bottom:0}


/* History content inset: keep filter, table and pagination aligned with the history section. */
.vs-modern #vsHistory .vs-history-search,
.vs-modern #vsHistory .vs-history-table-wrap,
.vs-modern #vsHistory .vs-history-footer {
  width: calc(100% - 16px) !important;
  margin-left: 8px !important;
  margin-right: 8px !important;
  box-sizing: border-box !important;
}


/* Highlight the history row currently loaded into the QR editor. */
.vs-modern .vs-history-table tbody tr.vs-history-row.is-selected td{
  background:#eff6ff!important;
  box-shadow:none!important;
}
.vs-modern .vs-history-table tbody tr.vs-history-row.is-selected:hover td{
  background:#eaf2ff!important;
}


/* QR print metadata options */
.vs-qr-print-options{display:none;position:fixed;inset:0;z-index:10002;align-items:center;justify-content:center;padding:20px}
.vs-qr-print-options.is-open{display:flex}
.vs-qr-print-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48)}
.vs-qr-print-card{position:relative;width:min(460px,100%);padding:24px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22)}
.vs-qr-print-kicker{margin-bottom:6px;color:#175cd3;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.vs-qr-print-card h3{margin:0 0 7px;color:#101828;font-size:20px}
.vs-qr-print-card>p{margin:0 0 16px;color:#667085;font-size:13px;line-height:1.5}
.vs-qr-print-check{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;cursor:pointer}
.vs-qr-print-check input{width:16px!important;height:16px!important;min-width:16px!important;margin:2px 0 0!important;padding:0!important}
.vs-qr-print-check span{display:flex;flex-direction:column;gap:3px}
.vs-qr-print-check strong{color:#344054;font-size:13px}
.vs-qr-print-check small{color:#667085;font-size:11px;line-height:1.45}
.vs-qr-print-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
@media(max-width:640px){.vs-qr-print-options{padding:10px}.vs-qr-print-card{padding:20px 16px;border-radius:14px}}
