
:root{--nav:#202c3b;--nav2:#2e4055;--gold:#b58c45;--gold2:#d6b36d;--bg:#f3f5f7;--card:#fff;--line:#d9dee6;--text:#172033;--muted:#6b7280;--red:#b42318;--green:#18794e}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.hidden{display:none!important}
#setupScreen,#authScreen{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,var(--nav),#50647c)}
.auth-card{box-sizing:border-box;width:min(520px,95vw);background:white;padding:30px;border-radius:14px;box-shadow:0 20px 60px #0f172a66}
.logo{font-size:30px;font-weight:750}.logo span{color:var(--gold)}.sub{color:var(--muted);margin:5px 0 24px}
label{display:block;font-size:12px;color:var(--muted);margin:0 0 5px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}
.field{margin-bottom:12px}.rtl{direction:rtl;text-align:right}
.btn,button{border:1px solid var(--line);background:#fff;color:var(--text);padding:9px 13px;border-radius:7px}
.primary{background:var(--nav)!important;color:#fff!important;border-color:var(--nav)!important}.gold{background:var(--gold)!important;color:#fff!important;border-color:var(--gold)!important}.danger{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}.green{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.full{width:100%}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.small{font-size:12px}.muted{color:var(--muted)}
header{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;position:sticky;top:0;z-index:5}
header .logo{font-size:22px}.userbox{margin-left:auto;text-align:right;font-size:12px;color:var(--muted)}
.layout{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 70px)}
nav{background:var(--nav);padding:16px 11px}nav button{width:100%;display:block;text-align:left;background:transparent;border:0;color:#dce5ef;padding:11px 13px;margin-bottom:4px}
nav button.active,nav button:hover{background:var(--nav2);color:#fff}
main{padding:23px}.page{display:none}.page.active{display:block}h1{font-size:27px;margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px #1720330d}
.card{padding:16px}.card b{font-size:27px;display:block;margin-top:7px}.panel{padding:17px;margin-bottom:17px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}th{background:#f8fafc}
.search{max-width:420px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8edf3;font-size:12px}
.modal{position:fixed;inset:0;background:#0f172a80;display:flex;justify-content:center;align-items:center;padding:20px;z-index:20}.modalbox{width:min(1000px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:20px}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.invoice-paper{max-width:900px;margin:auto;background:#fff;padding:34px}.invoice-head{display:flex;justify-content:space-between;border-bottom:3px solid var(--gold);padding-bottom:17px}.invoice-title{font-size:39px;font-weight:300;letter-spacing:2px}.right{text-align:right}.totals{width:350px;margin-left:auto}.totals div{display:flex;justify-content:space-between;padding:6px}.totals .grand{font-size:19px;font-weight:bold;border-top:2px solid var(--nav)}
.notice{padding:11px;border:1px solid #b9c8da;background:#edf4fb;border-radius:7px}.error{color:var(--red);margin-top:9px}.success{color:var(--green);margin-top:9px}
.price-input{width:105px;text-align:right}.saving{opacity:.55}.row-selected{background:#fff8e8}.pagination-note{font-size:13px;color:var(--muted)}

.product-picker{position:relative}
.product-picker .product-search-input{padding-right:34px}
.product-search-results{
 position:absolute;left:0;right:0;top:100%;z-index:200;
 background:#fff;border:1px solid var(--line);border-radius:8px;
 box-shadow:0 12px 32px rgba(15,23,42,.18);
 max-height:340px;overflow:auto;margin-top:4px
}
.product-search-result{padding:10px 12px;border-bottom:1px solid #edf0f4;cursor:pointer}
.product-search-result:last-child{border-bottom:0}
.product-search-result:hover,.product-search-result.active{background:#eef3f8}
.product-search-result .code{font-weight:700;color:var(--nav)}
.product-search-result .title{margin-top:3px}
.product-search-result .meta{font-size:11px;color:var(--muted);margin-top:3px}
.product-search-empty{padding:14px;color:var(--muted)}
.product-search-clear{
 position:absolute;right:7px;top:26px;border:0;background:transparent;
 color:var(--muted);padding:4px 6px;font-size:17px
}


.offline-banner{display:none;position:sticky;top:70px;z-index:4;background:#fff4ce;border-bottom:1px solid #e0bd55;padding:9px 20px;font-weight:600}
.offline-banner.show{display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scrollbox{max-height:430px;overflow:auto}
.low-stock{background:#fff1f0}.overdue{color:var(--red);font-weight:700}.clickable{cursor:pointer}.kpi-detail{font-size:12px;color:var(--muted);margin-top:5px}
.import-drop{border:2px dashed #aeb9c7;border-radius:10px;padding:24px;text-align:center;background:#fafbfd}.import-drop.drag{background:#eef5fb;border-color:#527da8}
.review-table input,.review-table select{min-width:90px}.review-table .desc{min-width:260px}.priority-Rush{background:#fee2e2;color:#991b1b}.priority-High{background:#fff4ce;color:#854d0e}

.field.has-error label{color:#b42318;font-weight:700}
.field.has-error input,
.field.has-error select,
.field.has-error textarea,
.product-picker.has-error input{
 border-color:#d92d20 !important;
 box-shadow:0 0 0 3px rgba(217,45,32,.12) !important;
 background:#fff7f6
}
.field-error{color:#b42318;font-size:12px;font-weight:600;margin-top:5px;line-height:1.35}
.form-error{
 background:#fff1f0;border:1px solid #f04438;color:#912018;border-radius:8px;
 padding:10px 12px;margin:12px 0;font-size:13px;font-weight:600;line-height:1.4
}
.invoice-lines-block{border:1px solid transparent;border-radius:9px;padding:8px;margin:0 -8px}
.invoice-lines-block.has-error{
 border-color:#d92d20;background:#fff7f6;box-shadow:0 0 0 3px rgba(217,45,32,.08)
}

@media(max-width:1050px){.cards{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.split{grid-template-columns:1fr}}
@media(max-width:720px){.layout{grid-template-columns:1fr}nav{display:flex;overflow:auto}nav button{min-width:130px}.cards,.grid,.grid2{grid-template-columns:1fr}main{padding:14px}}

/* ===== V18 BUSINESS EDITION ===== */
:root{
 --qb-navy:#17324d;--qb-blue:#2b6f9f;--qb-green:#1f7a4d;--qb-light:#f5f8fb;
 --qb-border:#d9e2ec;--qb-ink:#172033;--qb-muted:#64748b
}
body{background:var(--qb-light)}
header{position:sticky;top:0;z-index:80;box-shadow:0 1px 0 rgba(15,23,42,.08)}
header .header-actions{display:flex;align-items:center;gap:7px}
header .header-actions button{padding:8px 11px}
nav{position:sticky;top:58px;height:calc(100vh - 58px);overflow:auto}
nav .nav-group{padding:13px 14px 5px;color:#8ea2b7;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
main{max-width:1900px}
.page>h1{font-size:25px;letter-spacing:-.02em}
.panel{border-color:var(--qb-border);box-shadow:0 1px 2px rgba(15,23,42,.035)}
table{font-size:13px}
table thead th{position:sticky;top:58px;z-index:8;background:#eef3f8;color:#324a60}
table tbody tr:nth-child(even){background:#fafcfe}
table tbody tr:hover{background:#f0f6fb}
td,th{vertical-align:middle}
.action-bar{display:flex;gap:6px;flex-wrap:wrap}
.action-bar button{padding:7px 10px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:13px}
.kpi{
 background:#fff;border:1px solid var(--qb-border);border-radius:11px;padding:15px 16px;
 box-shadow:0 2px 6px rgba(15,23,42,.04)
}
.kpi .label{color:var(--qb-muted);font-size:12px;font-weight:700}
.kpi .value{display:block;font-size:25px;font-weight:800;color:var(--qb-ink);margin-top:5px}
.kpi .sub{font-size:11px;color:var(--qb-muted);margin-top:5px}
.kpi.positive{border-left:4px solid var(--qb-green)}
.kpi.warning{border-left:4px solid #d89b24}
.kpi.danger{border-left:4px solid #c63d36}
.quick-actions{display:flex;gap:9px;flex-wrap:wrap}
.quick-actions button{min-width:130px}
.business-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}
.report-grid .panel{margin:0}
.compact-table th,.compact-table td{padding:7px 9px}
.sort-box{display:flex;align-items:center;gap:7px;margin-left:auto}
.sort-box select{min-width:220px}
.role-pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e9f2f9;color:#245a7c;font-size:11px;font-weight:800;text-transform:capitalize}
.security-banner{border:1px solid #b9d8c8;background:#effaf4;color:#195b39;padding:12px 14px;border-radius:9px}
.pending-card{max-width:590px}
.permission-viewer .write-action{display:none!important}
.mini-chart{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end;height:115px}
.mini-chart .bar{background:#2b6f9f;border-radius:5px 5px 0 0;min-height:3px;position:relative}
.mini-chart .bar span{position:absolute;bottom:-23px;left:0;right:0;text-align:center;font-size:10px;color:var(--qb-muted)}
.mini-chart-wrap{padding-bottom:22px}
.form-section{border-top:1px solid var(--qb-border);padding-top:15px;margin-top:15px}
.access-status{font-size:12px;font-weight:700}
.status-Pending{color:#9a6700}.status-Approved{color:#167044}.status-Rejected{color:#b42318}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.business-grid,.report-grid{grid-template-columns:1fr}}
@media(max-width:700px){.kpi-grid{grid-template-columns:1fr}.sort-box{width:100%;margin-left:0}.sort-box select{width:100%}}


/* ===== V19 OPERATIONS & SECURITY ===== */
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:500;display:grid;gap:9px;max-width:420px}
.toast{background:#172033;color:#fff;padding:12px 15px;border-radius:9px;box-shadow:0 12px 35px #0f172a55;font-size:13px}
.toast.success{background:#176b43}.toast.error{background:#9b2c24}.toast.warning{background:#8a5b00}
.scan-box{border:1px solid #9cb9d0;background:#f0f7fc;border-radius:9px;padding:12px}
.scan-box input{font-size:18px;letter-spacing:.08em;font-weight:700}
.auto-add-note{font-size:12px;color:#245a7c;background:#edf6fc;border:1px solid #bdd7ea;padding:8px 10px;border-radius:7px}
.confidence{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;margin-left:5px}
.confidence-high{background:#dcf5e7;color:#17633e}.confidence-medium{background:#fff2c7;color:#7a5200}.confidence-low{background:#fee2e2;color:#912018}
.smart-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}
.smart-summary>div{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:9px}
.smart-summary b{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.barcode-cell{font-family:Consolas,monospace;white-space:nowrap}.barcode-preview{background:#fff;padding:16px;border:1px solid var(--line);border-radius:8px;text-align:center;overflow:auto}
.security-center{border-left:4px solid #18794e}.security-center li{margin:7px 0}
.trash-row{opacity:.82}.danger-zone{border:1px solid #f1b4ae;background:#fff7f6}
.import-confidence{font-size:11px;color:var(--muted)}
.smart-import-lines input,.smart-import-lines select{min-width:85px}.smart-import-lines .description{min-width:260px}
.locked-button{pointer-events:none;opacity:.58}
@media(max-width:1000px){.smart-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.smart-summary{grid-template-columns:1fr}}


/* ===== V20 EXACT AS BOOKBINDING INVOICE READER ===== */
.template-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#e7f5ee;color:#16603a;font-size:11px;font-weight:800}
.revision-warning{border:1px solid #f0b44d;background:#fff8e8;color:#704a00;padding:12px 14px;border-radius:9px;margin:12px 0}
.import-review-low{background:#fff1f0!important;box-shadow:inset 4px 0 0 #d92d20}
.import-review-medium{background:#fff9ec!important;box-shadow:inset 4px 0 0 #e09a21}
.row-warning{color:#b42318;font-size:11px;font-weight:700;margin-top:4px;max-width:280px}
.remittance-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin:12px 0}
.remittance-card{border:1px solid #d9e2ec;border-radius:8px;padding:10px;background:#fafcfe}
.remittance-card b{display:block;font-size:11px;color:#64748b;margin-bottom:4px}
.smart-import-lines input,.smart-import-lines select{min-width:90px}
.smart-import-lines .description{min-width:300px}
@media(max-width:1000px){.remittance-grid{grid-template-columns:repeat(2,1fr)}}


/* V21: modal table headers must never cover an item row */
.modalbox table thead th,
#modalBody table thead th{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
}
.modalbox table{
  border-collapse:separate;
  border-spacing:0;
}


/* V22: Hebrew and mixed Hebrew/English item descriptions */
input.hebrew-aware[dir="rtl"],
textarea.hebrew-aware[dir="rtl"]{
  direction:rtl !important;
  text-align:right !important;
  unicode-bidi:plaintext;
}
input.hebrew-aware[dir="ltr"],
textarea.hebrew-aware[dir="ltr"]{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext;
}
.smart-import-lines th.description-heading,
.smart-import-lines td.description-cell,
.review-table th.description-heading,
.review-table td.description-cell{
  min-width:300px;
}


/* ===== V23 ENTERPRISE OPERATIONS ===== */
.location-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#e8f1f8;color:#234e70;font-size:11px;font-weight:700}
.missing-hebrew{background:#fff1f0!important;color:#a12a22!important;border:1px solid #f3b7b2;padding:3px 6px;border-radius:5px}
.set-chip{background:#f3e8ff;color:#6b21a8;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}
.condition-chip{background:#ecfdf3;color:#166534;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700}
.item-option-summary{font-size:11px;color:#475569;line-height:1.35;max-width:360px}
.item-config-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}
.component-list,.upgrade-list{border:1px solid var(--line);border-radius:9px;padding:10px;max-height:280px;overflow:auto;background:#fbfdff}
.component-row,.upgrade-row{display:grid;grid-template-columns:28px 1fr 90px;gap:8px;align-items:center;padding:7px;border-bottom:1px solid #edf2f7}
.component-row:last-child,.upgrade-row:last-child{border-bottom:0}
.label-settings{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}
.label-preview{border:1px dashed #94a3b8;border-radius:8px;padding:12px;background:white;min-height:130px;text-align:center}
.email-type{padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800;background:#e7eef7;color:#294b6a}
.email-type.Order{background:#e8f7ee;color:#166534}.email-type.Bill{background:#fff3df;color:#8a4b00}.email-type.Invoice{background:#e9efff;color:#3346a8}
.email-unread{font-weight:800;background:#f4f9ff}
.monitor-card{border:1px solid #b9d8c8;background:#effaf4;border-radius:10px;padding:13px}
.parser-source{font-size:11px;background:#eef2ff;color:#3730a3;border-radius:999px;padding:3px 7px;font-weight:800}
.party-detected{border:1px solid #f0c36e;background:#fff8e8;border-radius:9px;padding:11px;margin:10px 0}
.bulk-location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:950px){.item-config-grid,.label-settings,.bulk-location-grid{grid-template-columns:1fr}}

/* V24 multiple customer and supplier email addresses */
.email-contact-table input[type="text"],
.email-contact-table input[type="email"]{min-width:145px}
.email-contact-table .email-address{min-width:245px}
.email-contact-table th,.email-contact-table td{padding:7px 6px}
.email-purpose{display:flex;gap:8px;flex-wrap:wrap;font-size:11px}
.email-purpose label{display:flex;align-items:center;gap:3px;margin:0}
.email-count{display:inline-flex;margin-left:5px;padding:2px 7px;border-radius:999px;background:#e9f2f9;color:#245a7c;font-size:10px;font-weight:800}
.recipient-picker{border:1px solid #d9e2ec;border-radius:9px;padding:10px;margin:10px 0;background:#f8fafc}
.recipient-picker label{display:flex;gap:7px;align-items:center;margin:5px 0}


/* V25 online recovery and free phone alerts */
.database-warning-banner{
 display:none;position:sticky;top:70px;z-index:5;background:#fff7df;border-bottom:1px solid #d9a72e;
 padding:9px 16px;color:#624500;align-items:center;gap:9px;flex-wrap:wrap
}
.database-warning-banner.show{display:flex}
.database-warning-banner button{padding:5px 9px}
.alert-help{background:#eef8ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px 12px}
.alert-topic{font-family:ui-monospace,Consolas,monospace}


/* V26: storage and access recovery */
.storage-warning-banner{
 display:none;position:sticky;top:70px;z-index:6;background:#eef8ff;
 border-bottom:1px solid #93c5fd;padding:9px 16px;color:#17486b;
 align-items:center;gap:9px;flex-wrap:wrap
}
.storage-warning-banner.show{display:flex}
.storage-warning-banner button{padding:5px 9px}


/* V27 PDF and email diagnostics */
.email-failed-button{
 border:0;background:#fee2e2;color:#991b1b;border-radius:999px;
 padding:4px 9px;font-size:11px;font-weight:800;cursor:pointer
}
.email-diagnostic{
 border:1px solid #fecaca;background:#fff7f7;border-radius:9px;
 padding:12px;color:#7f1d1d;white-space:pre-wrap;overflow-wrap:anywhere
}
.email-health-ok{
 border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;
 border-radius:9px;padding:12px
}


/* V28 clean document importer */
.import-stage{
 display:inline-flex;padding:3px 8px;border-radius:999px;
 background:#e9f2f9;color:#245a7c;font-size:11px;font-weight:800
}


/* ===== V30 SMART DOCUMENT VAULT ===== */
.v30-compare-modal .modalbox{
 width:min(1660px,98vw)!important;
 max-height:96vh!important;
 padding:14px!important
}
.v30-compare-layout{
 display:grid;grid-template-columns:minmax(420px,.95fr) minmax(580px,1.25fr);
 gap:14px;min-height:76vh
}
.v30-source-pane,.v30-data-pane{
 border:1px solid #d9e2ec;border-radius:10px;background:#fff;overflow:hidden
}
.v30-pane-head{
 display:flex;gap:8px;align-items:center;justify-content:space-between;
 padding:10px 12px;background:#eef3f8;border-bottom:1px solid #d9e2ec
}
.v30-source-view{height:70vh;background:#f8fafc}
.v30-source-view iframe{width:100%;height:100%;border:0;background:white}
.v30-source-view img{width:100%;height:100%;object-fit:contain;background:white}
.v30-source-text{height:100%;overflow:auto;padding:15px;white-space:pre-wrap;font-family:ui-monospace,Consolas,monospace;font-size:12px}
.v30-data-scroll{height:70vh;overflow:auto;padding:13px}
.v30-doc-tabs,.v30-file-tabs{display:flex;gap:6px;flex-wrap:wrap}
.v30-doc-tabs button,.v30-file-tabs button{padding:7px 10px}
.v30-doc-tabs button.active,.v30-file-tabs button.active{background:#17324d;color:#fff}
.v30-party-card{
 border:1px solid #bcd5e8;background:#f3f9fd;border-radius:10px;padding:12px;margin:12px 0
}
.v30-party-card.new-party{border-color:#d8bd70;background:#fff9e9}
.v30-related-card{border:1px solid #d6c8ed;background:#faf7ff;border-radius:10px;padding:12px;margin:12px 0}
.v30-detail-grid{
 display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px
}
.v30-detail-grid .field{margin:0}
.v30-extra-details{
 display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:7px;
 border:1px solid #e2e8f0;border-radius:9px;padding:10px;background:#fafcfe
}
.v30-extra-details div{font-size:12px}
.v30-extra-details b{color:#475569;margin-right:5px}
.v30-line-table input,.v30-line-table select{min-width:82px}
.v30-line-table .description{min-width:300px}
.v30-package-summary{
 border:1px solid #b9d8c8;background:#effaf4;border-radius:9px;padding:10px 12px;margin-bottom:10px
}
.v30-savebar{
 position:sticky;bottom:-13px;background:#fff;border-top:1px solid #d9e2ec;
 padding:11px 0 3px;z-index:4
}
.v30-confidence-high{color:#167044;font-weight:800}
.v30-confidence-medium{color:#9a6700;font-weight:800}
.v30-confidence-low{color:#b42318;font-weight:800}
.v30-compare-button{background:#e9f2f9;color:#245a7c}
.v30-document-json{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere}
@media(max-width:1100px){
 .v30-compare-layout{grid-template-columns:1fr}
 .v30-source-view,.v30-data-scroll{height:48vh}
 .v30-detail-grid{grid-template-columns:repeat(2,1fr)}
}


/* ===== V31 UNIVERSAL DOCUMENT ENGINE ===== */
.v31-profile-banner{
 border:1px solid #b9d8c8;background:#effaf4;border-radius:9px;
 padding:9px 11px;margin:0 0 10px;font-size:12px
}
.v31-standard-badge{
 display:inline-flex;padding:3px 8px;border-radius:999px;
 background:#e8e6ff;color:#493f91;font-weight:800;font-size:10px
}
.v31-profile-badge{
 display:inline-flex;padding:3px 8px;border-radius:999px;
 background:#e9f2f9;color:#245a7c;font-weight:800;font-size:10px
}
.v31-learning-badge{
 display:inline-flex;padding:3px 8px;border-radius:999px;
 background:#fff3cd;color:#7a5800;font-weight:800;font-size:10px
}
.v31-unknown-warning{
 border:1px solid #f2c7c7;background:#fff5f5;color:#8f1d1d;
 border-radius:9px;padding:9px 11px;margin-bottom:10px
}
.v31-supported-list{columns:3;column-gap:25px;font-size:12px}
@media(max-width:900px){.v31-supported-list{columns:1}}


/* V32 database and failed-import repair */
.v32-retry-button{background:#17324d;color:#fff}
.v32-status-failed{color:#b42318;font-weight:800}
.v32-status-retrying{color:#9a6700;font-weight:800}
.v32-status-superseded{color:#64748b;font-weight:800}
.v32-optional-note{
 border:1px solid #bfdbfe;background:#eff6ff;color:#1e4f76;
 border-radius:8px;padding:9px 11px;margin:8px 0
}


/* V33 supplier-bill ownership and ship-to clarification */
.v33-ownership-note{
 border:1px solid #b9d8c8;background:#effaf4;color:#175c38;
 border-radius:9px;padding:10px 12px;margin:10px 0
}
.v33-destination-card{
 border:1px solid #cbd5e1;background:#f8fafc;border-radius:9px;
 padding:10px 12px;margin:10px 0
}


/* ===== V34 500 BUSINESS UPGRADES ===== */
.v34-system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.v34-system-card{border:1px solid #d9e2ec;border-radius:10px;background:#fff;padding:12px}
.v34-system-card h3{margin:0 0 6px;font-size:15px}
.v34-system-card .count{font-size:26px;font-weight:800;color:#17324d}
.v34-tab-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e4f76;border-radius:9px;padding:10px 12px;margin-bottom:10px}
.v34-table-actions{display:flex;gap:5px;flex-wrap:wrap}
.v34-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
.v34-status-open{background:#fff3cd;color:#7a5200}
.v34-status-complete,.v34-status-approved,.v34-status-active{background:#dcfce7;color:#166534}
.v34-status-rejected,.v34-status-failed{background:#fee2e2;color:#991b1b}
.v34-status-inactive{background:#e5e7eb;color:#475569}
.v34-command-overlay{position:fixed;inset:0;background:#0f172a99;z-index:10000;display:grid;place-items:start center;padding-top:9vh}
.v34-command-box{width:min(760px,94vw);background:#fff;border-radius:13px;box-shadow:0 25px 80px #0008;overflow:hidden}
.v34-command-box input{border:0;border-bottom:1px solid #d9e2ec;border-radius:0;font-size:18px;padding:15px}
.v34-command-results{max-height:62vh;overflow:auto}
.v34-command-result{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #edf0f4;cursor:pointer}
.v34-command-result:hover,.v34-command-result.active{background:#eef5fb}
.v34-command-type{font-size:10px;text-transform:uppercase;color:#64748b;font-weight:800}
.v34-feature-search{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:10px}
.v34-feature-list{max-height:64vh;overflow:auto;border:1px solid #d9e2ec;border-radius:9px}
.v34-feature-row{display:grid;grid-template-columns:82px 220px 1fr 110px;gap:8px;padding:8px 10px;border-bottom:1px solid #edf0f4;align-items:center}
.v34-feature-row:nth-child(even){background:#fafcfe}
.v34-custom-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:12px}
.v34-diagnostic-ok{color:#166534;font-weight:800}
.v34-diagnostic-warn{color:#9a6700;font-weight:800}
.v34-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.v34-shortcut{border:1px solid #d9e2ec;border-radius:8px;padding:8px}
.v34-shortcut kbd{background:#172033;color:#fff;border-radius:5px;padding:2px 6px}
.v34-empty{padding:22px;text-align:center;color:#64748b}
@media(max-width:900px){
 .v34-custom-grid{grid-template-columns:1fr}
 .v34-feature-search{grid-template-columns:1fr}
 .v34-feature-row{grid-template-columns:70px 1fr}
 .v34-feature-row .v34-hide-mobile{display:none}
}


/* ===== V35 2,000 EASY-OPERATION UPGRADES ===== */
.v35-save-state{font-size:11px;font-weight:800;padding:5px 9px;border-radius:999px;background:#e8eef3;color:#475569}
.v35-save-state.saving{background:#fff3cd;color:#7a5200}
.v35-save-state.saved{background:#dcfce7;color:#166534}
.v35-save-state.error{background:#fee2e2;color:#991b1b}
.v35-easy-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.v35-easy-card{border:1px solid #d9e2ec;border-radius:11px;background:#fff;padding:13px}
.v35-easy-card h3{margin:0 0 5px;font-size:15px}
.v35-easy-card p{margin:5px 0 10px;color:#64748b;font-size:12px}
.v35-big-button{width:100%;padding:14px;font-size:15px}
.v35-help-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e4f76;border-radius:9px;padding:10px 12px;margin:8px 0}
.v35-warning-note{border:1px solid #f3c969;background:#fff9e9;color:#7a5200;border-radius:9px;padding:10px 12px;margin:8px 0}
.v35-translation-good{background:#ecfdf3}
.v35-translation-review{background:#fff8e6}
.v35-translation-missing{background:#fff1f2}
.v35-translation-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(500px,1.25fr);gap:12px}
.v35-search-overlay{position:fixed;inset:0;background:#0f172ab8;z-index:12000;display:grid;place-items:start center;padding-top:6vh}
.v35-search-box{width:min(920px,96vw);background:#fff;border-radius:14px;box-shadow:0 28px 90px #0008;overflow:hidden}
.v35-search-input{font-size:20px;border:0;border-bottom:1px solid #d9e2ec;border-radius:0;padding:17px}
.v35-search-results{max-height:72vh;overflow:auto}
.v35-search-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;padding:11px 14px;border-bottom:1px solid #edf0f4;cursor:pointer}
.v35-search-row:hover,.v35-search-row.active{background:#eef5fb}
.v35-search-type{font-size:10px;text-transform:uppercase;font-weight:800;color:#64748b}
.v35-upgrade-filter{display:grid;grid-template-columns:1fr 220px 220px;gap:8px;margin-bottom:10px}
.v35-upgrade-list{max-height:65vh;overflow:auto;border:1px solid #d9e2ec;border-radius:9px}
.v35-upgrade-row{display:grid;grid-template-columns:90px 165px 240px 1fr 100px;gap:8px;padding:8px 10px;border-bottom:1px solid #edf0f4;align-items:center}
.v35-upgrade-row:nth-child(even){background:#fafcfe}
.v35-number-preview{font-size:27px;font-weight:900;letter-spacing:1px;color:#17324d;padding:12px;border:1px dashed #8aa8bd;border-radius:9px;background:#f4f9fc;text-align:center}
.v35-translation-actions{display:flex;gap:5px;flex-wrap:wrap}
.v35-inline-help{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#e5edf4;color:#17324d;font-size:10px;font-weight:900;margin-left:4px;cursor:help}
.v35-draft-banner{border:1px solid #d8bd70;background:#fff9e9;border-radius:8px;padding:9px 11px;margin-bottom:10px}
.v35-simple-step{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.v35-simple-step span{display:inline-flex;width:25px;height:25px;border-radius:50%;background:#17324d;color:#fff;align-items:center;justify-content:center;font-weight:800}
body.v35-easy-mode #nav .nav-group{display:none}
body.v35-easy-mode #nav button{display:none}
body.v35-easy-mode #nav button[data-page="dashboard"],
body.v35-easy-mode #nav button[data-page="customers"],
body.v35-easy-mode #nav button[data-page="products"],
body.v35-easy-mode #nav button[data-page="orders"],
body.v35-easy-mode #nav button[data-page="orderImport"],
body.v35-easy-mode #nav button[data-page="production"],
body.v35-easy-mode #nav button[data-page="invoices"],
body.v35-easy-mode #nav button[data-page="payments"],
body.v35-easy-mode #nav button[data-page="easyhub"]{display:block}
body.v35-easy-mode .advanced-option{display:none!important}
body.v35-easy-mode .layout{grid-template-columns:185px 1fr}
body.v35-easy-mode button{min-height:38px}
body.v35-easy-mode input,body.v35-easy-mode select,body.v35-easy-mode textarea{font-size:15px}
@media(max-width:1000px){
 .v35-translation-grid{grid-template-columns:1fr}
 .v35-upgrade-filter{grid-template-columns:1fr}
 .v35-upgrade-row{grid-template-columns:80px 1fr}
 .v35-upgrade-row .v35-hide-small{display:none}
}


/* ===== V36 ONE UNIFIED MODE ===== */
.v36-unified-badge{
 display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;
 background:#dcfce7;color:#166534;font-size:12px;font-weight:900
}

/* All V35 convenience improvements are always active in V36. */
body.v36-unified-mode button{min-height:38px}
body.v36-unified-mode input,
body.v36-unified-mode select,
body.v36-unified-mode textarea{font-size:15px}
body.v36-unified-mode .layout{grid-template-columns:220px minmax(0,1fr)}
body.v36-unified-mode .advanced-option{display:block!important}

/* Never hide navigation groups or advanced pages. One mode shows everything. */
body.v36-unified-mode #nav .nav-group,
body.v36-unified-mode #nav button{display:block!important}

/* Keep important save/help/search controls visible and consistent. */
body.v36-unified-mode .header-actions{gap:7px;align-items:center}
body.v36-unified-mode .field label{font-weight:700}
body.v36-unified-mode .form-section,
body.v36-unified-mode .panel{border-radius:11px}
body.v36-unified-mode .v35-help-note{display:block}

/* Disable the old two-mode CSS behavior even if an old class remains in cache. */
body.v35-easy-mode #nav .nav-group,
body.v35-easy-mode #nav button{display:block!important}
body.v35-easy-mode .advanced-option{display:block!important}
body.v35-easy-mode .layout{grid-template-columns:220px minmax(0,1fr)}

@media(max-width:900px){
 body.v36-unified-mode .layout,
 body.v35-easy-mode .layout{grid-template-columns:1fr}
}


/* ===== V37 SIMPLE WORKFLOW ===== */
.v37-import-modal .modalbox{
 width:min(1580px,98vw)!important;
 max-height:96vh!important;
 padding:12px!important
}
.v37-review-layout{
 display:grid;grid-template-columns:minmax(410px,.9fr) minmax(520px,1.1fr);
 gap:12px;min-height:76vh
}
.v37-source,.v37-review{
 border:1px solid #d9e2ec;border-radius:11px;background:#fff;overflow:hidden
}
.v37-pane-title{
 display:flex;align-items:center;gap:8px;padding:10px 12px;
 background:#eef3f8;border-bottom:1px solid #d9e2ec
}
.v37-source-view{height:72vh;background:#f8fafc}
.v37-source-view iframe{width:100%;height:100%;border:0;background:#fff}
.v37-source-view img{width:100%;height:100%;object-fit:contain}
.v37-review-scroll{height:72vh;overflow:auto;padding:13px}
.v37-summary{
 border:1px solid #b9d8c8;background:#effaf4;border-radius:10px;
 padding:12px;margin-bottom:11px;font-size:14px
}
.v37-warning{
 border:1px solid #f2c66d;background:#fff8e7;color:#775100;
 border-radius:9px;padding:10px 12px;margin:9px 0
}
.v37-party{
 border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;
 padding:11px;margin:11px 0
}
.v37-party.missing{border-color:#e2b45c;background:#fff8e7}
.v37-fields{
 display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));gap:9px
}
.v37-fields .field{margin:0}
.v37-line-table input,.v37-line-table select{min-width:90px}
.v37-line-table .v37-description{min-width:280px}
.v37-savebar{
 position:sticky;bottom:-13px;background:#fff;border-top:1px solid #d9e2ec;
 padding:11px 0 3px;z-index:5
}
.v37-doc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.v37-doc-tabs button{padding:7px 10px}
.v37-doc-tabs button.active{background:#17324d;color:#fff}
.v37-advanced{
 border:1px solid #e2e8f0;border-radius:9px;background:#fafcfe;
 margin:10px 0;padding:8px 10px
}
.v37-advanced summary{cursor:pointer;font-weight:800}
.v37-advanced-grid{
 display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));
 gap:7px;margin-top:9px
}
.v37-advanced-grid div{font-size:12px}
.v37-advanced-grid b{color:#475569;margin-right:5px}
.v37-friendly-status{
 display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900
}
.v37-friendly-status.done{background:#dcfce7;color:#166534}
.v37-friendly-status.problem{background:#fee2e2;color:#991b1b}
.v37-friendly-status.working{background:#fff3cd;color:#7a5200}
.v37-history-actions{display:flex;gap:6px;flex-wrap:wrap}
.v37-no-technical{display:none!important}
@media(max-width:1050px){
 .v37-review-layout{grid-template-columns:1fr}
 .v37-source-view,.v37-review-scroll{height:47vh}
 .v37-fields{grid-template-columns:repeat(2,minmax(145px,1fr))}
}
@media(max-width:650px){
 .v37-fields{grid-template-columns:1fr}
}





/* ===== V38 COMMERCIAL RC1 ===== */
.v38-release-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff3cd;color:#7a5200;font-size:11px;font-weight:900}
body .admin-only.hidden{display:none!important}


/* ===== V38.4 CUSTOMER INVOICE NUMBERING ===== */
.v384-numbering-section{
 border:2px solid #d7e2ec;
 background:#f8fbfe;
}
.v384-numbering-toggle{
 display:flex;
 gap:8px;
 align-items:center;
 font-weight:800;
 margin-bottom:10px;
}
.v384-customer-number-preview{
 margin:10px 0;
 padding:13px;
 border:1px dashed #8ca7bf;
 border-radius:9px;
 background:#fff;
 font-size:18px;
 text-align:center;
}
.v384-disabled{
 opacity:.45;
 pointer-events:none;
}
.v384-invoice-number-toolbar{
 align-items:flex-start;
}

/* ===== V38.5 SET MULTIPLIER AND MATERIAL UPGRADES ===== */
.v385-set-callout{display:grid;grid-template-columns:minmax(230px,360px) 1fr;gap:14px;align-items:end;border:2px solid #c7d9e8;border-radius:12px;background:#f3f8fc;padding:14px;margin-bottom:9px}
.v385-set-preview{min-height:45px;display:flex;align-items:center;border:1px dashed #8aa7bf;border-radius:9px;background:#fff;padding:11px 13px;font-size:15px}
.v385-material-section{border:2px solid #d5e2cc;border-radius:12px;background:#f7fbf4;padding:13px;margin-bottom:14px}
.v385-material-row{display:grid;grid-template-columns:38px repeat(3,minmax(150px,1fr)) minmax(120px,.7fr) minmax(120px,.7fr);gap:9px;align-items:end;border:1px solid #d8e3d1;border-radius:10px;background:#fff;padding:10px;margin:8px 0}
.v385-remove-material{width:34px;height:34px;padding:0}
.v385-config-summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(160px,.8fr);gap:10px;align-items:end;border:2px solid #c8d9e7;border-radius:11px;background:#f3f8fc;padding:12px;margin-bottom:12px}
.v385-config-summary>div:not(.field){min-height:58px;display:flex;flex-direction:column;justify-content:center;border:1px solid #d6e2ec;background:#fff;border-radius:9px;padding:8px 11px}
.v385-config-summary span{font-size:12px;color:#536577}
.v385-config-summary b{font-size:20px}
.v385-material-option{border-color:#b8d3aa;background:#f8fff4}
.v385-options-button{font-weight:800}
.v385-qty-note{font-size:11px;font-weight:800;color:#51677b;margin-top:3px;white-space:nowrap}
@media(max-width:1000px){.v385-material-row{grid-template-columns:38px repeat(2,minmax(150px,1fr))}}
@media(max-width:700px){.v385-set-callout,.v385-config-summary{grid-template-columns:1fr}.v385-material-row{grid-template-columns:38px 1fr}}


/* ===== V38.6 FULL OR PARTIAL SETS ===== */
.v386-set-choice{
 display:grid;
 grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) 1.5fr;
 gap:10px;
 align-items:end;
 border:2px solid #d7c89e;
 border-radius:11px;
 background:#fffaf0;
 padding:12px;
 margin:12px 0;
}
.v386-set-choice .v35-help-note{margin:0}
@media(max-width:900px){
 .v386-set-choice{grid-template-columns:1fr}
}


/* ===== V38.7 TYPED ITEM UPGRADES ===== */
.v387-upgrade-editor{
 border:2px solid #cbd9e6;
 border-radius:12px;
 background:#f7fafc;
 padding:14px;
 margin-bottom:14px;
}
.v387-upgrade-editor-row{
 display:grid;
 grid-template-columns:38px minmax(130px,.8fr) minmax(170px,1fr)
  minmax(220px,1.4fr) minmax(115px,.65fr) minmax(125px,.7fr)
  minmax(150px,.8fr);
 gap:9px;
 align-items:end;
 border:1px solid #d4e0ea;
 border-radius:10px;
 background:#fff;
 padding:10px;
 margin:9px 0;
}
.v387-remove-upgrade{
 width:34px;
 height:34px;
 padding:0;
}
.v387-product-upgrade-summary{
 margin-top:5px;
 max-width:460px;
 font-size:11px;
 line-height:1.35;
 color:#536779;
}
.v387-upgrade-groups{
 display:grid;
 gap:12px;
}
.v387-upgrade-group{
 border:1px solid #cfdde8;
 border-radius:11px;
 overflow:hidden;
 background:#fff;
}
.v387-upgrade-group-title{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 background:#eef5fa;
 padding:10px 12px;
 border-bottom:1px solid #d5e2eb;
}
.v387-upgrade-group-title b{
 font-size:16px;
}
.v387-upgrade-group-title span{
 font-size:11px;
 color:#5a6d7e;
 text-transform:uppercase;
 letter-spacing:.04em;
}
.v387-upgrade-choice{
 display:grid;
 grid-template-columns:26px 1fr auto;
 gap:10px;
 align-items:center;
 padding:10px 12px;
 border-bottom:1px solid #edf1f4;
 cursor:pointer;
}
.v387-upgrade-choice:last-child{
 border-bottom:0;
}
.v387-upgrade-choice:hover{
 background:#f8fbfd;
}
.v387-upgrade-choice input{
 width:18px;
 height:18px;
}
.v387-upgrade-choice span{
 display:flex;
 flex-direction:column;
 gap:2px;
}
.v387-upgrade-choice small{
 color:#607283;
}
.v387-upgrade-choice strong{
 white-space:nowrap;
}
.v387-no-upgrade{
 color:#677988;
 background:#fafcfd;
}
@media(max-width:1200px){
 .v387-upgrade-editor-row{
  grid-template-columns:38px repeat(3,minmax(150px,1fr));
 }
}
@media(max-width:760px){
 .v387-upgrade-editor-row{
  grid-template-columns:38px 1fr;
 }
 .v387-upgrade-choice{
  grid-template-columns:24px 1fr;
 }
 .v387-upgrade-choice strong{
  grid-column:2;
 }
}

/* ===== V38.8 MULTIPLE UPGRADES + RETURN TO INVOICE ===== */
.v388-selected-upgrades{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;border:1px solid #b8cddd;border-radius:9px;background:#f4f9fc;padding:10px 12px;color:#40566a}
.v388-selected-upgrades b{color:#172b3d}
.v387-upgrade-choice:has(input:checked){background:#edf8e9;box-shadow:inset 4px 0 0 #4f8a3d}
.v387-upgrade-choice input[type="checkbox"]{accent-color:#426f35}
@media(max-width:700px){.v388-selected-upgrades{align-items:flex-start;flex-direction:column}}


/* ===== V38.9 SAFE UPGRADE WINDOW ===== */
.v389-options-overlay{
 position:fixed;
 inset:0;
 z-index:100000;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:22px;
 background:rgba(20,34,48,.64);
}
.v389-options-box{
 width:min(1120px,96vw);
 max-height:94vh;
 overflow:auto;
 border-radius:14px;
 background:#fff;
 box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.v389-options-header{
 position:sticky;
 top:0;
 z-index:4;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 padding:14px 18px;
 border-bottom:1px solid #d7e0e8;
 background:#fff;
}
.v389-options-header h2{margin:0}
.v389-options-close{
 width:42px;
 height:42px;
 padding:0;
 border-radius:50%;
 font-size:25px;
 line-height:1;
}
.v389-options-body{padding:16px 18px 22px}
body:has(.v389-options-overlay){overflow:hidden}


/* ===== V38.10 BULK SETS, UPGRADES & CUSTOMER PRICES ===== */
.v390-bulk-bar{
 position:sticky;
 top:64px;
 z-index:15;
 padding:10px;
 border:2px solid #c8d8e6;
 border-radius:10px;
 background:#f7fafc;
 box-shadow:0 4px 14px rgba(30,50,70,.08);
}
.v390-bulk-bar.v390-has-selection{
 border-color:#b89442;
 background:#fffaf0;
}
.v390-selection-count{
 margin-left:auto;
 min-width:150px;
 padding:7px 10px;
 border-radius:8px;
 background:#eaf1f7;
 font-weight:800;
 color:#20384d;
 text-align:center;
}
.v390-set-part-list{
 max-height:300px;
 overflow:auto;
 display:grid;
 gap:7px;
 margin:10px 0 16px;
}
.v390-set-part-row{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:16px;
 border:1px solid #d9e2e9;
 border-radius:9px;
 background:#fff;
 padding:9px 11px;
}
.v390-set-part-row>div{
 display:flex;
 flex-direction:column;
 gap:3px;
}
.v390-set-part-row label{
 display:flex;
 align-items:center;
 gap:8px;
 white-space:nowrap;
}
.v390-set-part-row input{
 width:78px;
}
.v390-velvet-box,
.v390-customer-override{
 margin:14px 0;
 padding:13px;
 border:2px solid #d7c8e4;
 border-radius:11px;
 background:#fbf8fe;
}
.v390-check-line{
 display:flex;
 align-items:center;
 gap:9px;
 font-size:16px;
 font-weight:800;
}
.v390-customer-price-tag{
 display:block;
 margin-top:3px;
 color:#24713d;
 font-size:10px;
 font-style:normal;
 text-transform:uppercase;
 letter-spacing:.04em;
}
@media(max-width:900px){
 .v390-bulk-bar{
  position:static;
 }
 .v390-selection-count{
  margin-left:0;
 }
 .v390-set-part-row{
  align-items:flex-start;
  flex-direction:column;
 }
}


/* ===== V38.11 INVOICE + SET EDITOR REPAIR ===== */
.v3811-needs-resend{background:#fff1c7!important;color:#7a4b00!important;border:1px solid #e0b85c}
.v3811-critical-notice,.v3811-sent-correction{padding:14px 16px;border:2px solid #c8952e;border-radius:10px;background:#fff8e7;color:#573b00;line-height:1.5}
.v3811-selected-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;max-height:340px;overflow:auto;margin:14px 0;padding:10px;border:1px solid #d8e2ea;border-radius:10px;background:#f8fafc}
.v3811-selected-preview>div{min-width:0;display:grid;grid-template-columns:minmax(80px,.45fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #e2e8ee;border-radius:8px;background:#fff}
.v3811-selected-preview span{min-width:0;overflow-wrap:anywhere}.v3811-selected-preview strong{color:#24713d;font-size:11px;white-space:nowrap}
.v3811-invoice-save-bar{position:sticky;bottom:0;z-index:6;margin:16px -20px -20px;padding:13px 20px;border-top:1px solid #d8e1e9;background:#fff;box-shadow:0 -8px 20px rgba(20,35,50,.08)}
.v389-options-overlay{align-items:stretch;padding:8px}.v389-options-box{width:min(1540px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:auto;display:flex;flex-direction:column;overflow:hidden}.v389-options-header{flex:0 0 auto}.v389-options-header h2{min-width:0;overflow-wrap:anywhere;line-height:1.25}.v389-options-body{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;overflow-x:hidden;padding:16px 18px 24px}.v389-options-body *{max-width:100%}.v389-options-body input,.v389-options-body select,.v389-options-body textarea{min-width:0;width:100%}
.v3811-set-upgrade-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:14px;align-items:start}.v3811-editor-card{min-width:0;border:1px solid #cfdae4;border-radius:12px;background:#f9fbfd;padding:14px}.v3811-editor-card h3{margin:0 0 10px}.v3811-upgrades-card{grid-column:1/-1}.v3811-main-check{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:#182b3d;font-size:16px;font-weight:800}.v3811-main-check input{width:19px;height:19px;flex:0 0 auto}.v3811-set-preview{min-height:54px;display:flex;align-items:center;margin:4px 0 10px;padding:11px 13px;border:1px dashed #8ca9bf;border-radius:9px;background:#fff;line-height:1.45}
.v3811-component-list,.v3811-upgrade-list{min-width:0;max-height:440px;overflow:auto;padding:8px;border:1px solid #d7e1e9;border-radius:10px;background:#fff}.v3811-component-row{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(120px,.3fr);gap:9px;align-items:end;padding:9px;border-bottom:1px solid #e8edf1}.v3811-upgrade-row{min-width:0;display:grid;grid-template-columns:38px minmax(130px,.75fr) minmax(160px,1fr) minmax(190px,1.25fr) minmax(110px,.55fr) minmax(120px,.65fr) minmax(150px,.8fr);gap:9px;align-items:end;padding:9px;border-bottom:1px solid #e8edf1}.v3811-component-row .field,.v3811-upgrade-row .field{min-width:0;margin:0}.v3811-editor-footer{position:sticky;bottom:-24px;z-index:8;display:flex;gap:9px;margin:16px -18px -24px;padding:13px 18px;border-top:1px solid #d5dfe7;background:#fff;box-shadow:0 -8px 20px rgba(20,35,50,.08)}
@media(max-width:1100px){.v3811-set-upgrade-layout{grid-template-columns:1fr}.v3811-upgrades-card{grid-column:auto}.v3811-upgrade-row{grid-template-columns:38px repeat(3,minmax(150px,1fr))}}
@media(max-width:720px){.v389-options-overlay{padding:0}.v389-options-box{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.v3811-component-row,.v3811-upgrade-row{grid-template-columns:38px minmax(0,1fr)}.v3811-selected-preview>div{grid-template-columns:1fr}}


/* ===== V38.12 SAFE LINE OPTIONS ===== */
.v3812-line-explanation{
 padding:10px 12px;
 border:1px solid #cbdbe8;
 border-radius:9px;
 background:#f4f9fc;
 line-height:1.45;
}
.v385-options-button{
 min-width:108px;
 white-space:normal;
 line-height:1.2;
}
#cfgBase:focus,
#cfgSetCount:focus,
#cfgVolumesIncluded:focus{
 border-color:#af7f28;
 box-shadow:0 0 0 3px rgba(175,127,40,.16);
}


/* ===== V38.13 SET & UPGRADES ON EVERY ITEM ===== */
.v385-options-button{
 min-width:125px;
 font-weight:900;
}


/* ===== V38.14 ADD UPGRADES INSIDE INVOICE ===== */
.v3814-add-upgrade-section{
 margin-top:14px;
 padding:13px;
 border:2px solid #d3c28d;
 border-radius:11px;
 background:#fffaf0;
}
.v3814-add-upgrade-section h3{
 margin:0 0 3px;
}
.v3814-line-upgrade-row{
 min-width:0;
 display:grid;
 grid-template-columns:38px minmax(120px,.7fr)
  minmax(160px,1fr) minmax(180px,1.15fr)
  minmax(110px,.55fr) minmax(120px,.65fr)
  minmax(140px,.8fr);
 gap:9px;
 align-items:end;
 margin-top:9px;
 padding:10px;
 border:1px solid #dfd1a7;
 border-radius:9px;
 background:#fff;
}
.v3814-line-upgrade-row .field{
 min-width:0;
 margin:0;
}
.v3814-line-upgrade-row input,
.v3814-line-upgrade-row select{
 width:100%;
 min-width:0;
}
.v3814-remove-upgrade{
 width:34px;
 height:34px;
 padding:0;
}
.v3814-save-upgrade{
 grid-column:2/-1;
 display:flex;
 align-items:center;
 gap:8px;
 padding:7px 9px;
 border-radius:7px;
 background:#f4f8fb;
 color:#314a5f;
 font-size:12px;
 font-weight:700;
}
.v3814-save-upgrade input{
 width:17px;
 height:17px;
 flex:0 0 auto;
}
.v3814-empty-upgrades{
 margin-top:9px;
 padding:12px;
 border:1px dashed #b9a56e;
 border-radius:8px;
 background:#fff;
 color:#66552c;
}
@media(max-width:1150px){
 .v3814-line-upgrade-row{
  grid-template-columns:38px repeat(3,minmax(150px,1fr));
 }
}
@media(max-width:720px){
 .v3814-line-upgrade-row{
  grid-template-columns:38px minmax(0,1fr);
 }
 .v3814-save-upgrade{
  grid-column:2;
 }
}


/* ===== V38.16 FULL-SITE LAYOUT + SPEED REPAIR ===== */
html,body{
 max-width:100%;
 overflow-x:hidden;
}
.layout,main,.page,.panel{
 min-width:0;
}
table{
 max-width:100%;
}
.totals{
 width:min(350px,100%);
}
.modalbox,
#modalBody,
.v389-options-box,
.v389-options-body{
 min-width:0;
}
#modalBody input,
#modalBody select,
#modalBody textarea,
.v389-options-body input,
.v389-options-body select,
.v389-options-body textarea{
 max-width:100%;
 box-sizing:border-box;
}

@media(max-width:900px){
 header{
  height:auto!important;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:7px 10px;
  padding:9px 11px;
 }
 header .logo{
  min-width:0;
  max-width:100%;
  font-size:18px;
  line-height:1.25;
  overflow-wrap:anywhere;
 }
 header .userbox{
  min-width:0;
  max-width:42vw;
  margin-left:0;
  overflow-wrap:anywhere;
 }
 header .header-actions{
  grid-column:1/-1;
  width:100%;
  max-width:100%;
  display:flex;
  flex-wrap:wrap;
  overflow:visible;
  padding-bottom:3px;
 }
 header .header-actions>*{
  flex:0 0 auto;
 }
 .layout,
 body.v36-unified-mode .layout,
 body.v35-easy-mode .layout{
  display:block!important;
  width:100%;
  max-width:100%;
 }
 #nav,
 body.v36-unified-mode #nav,
 body.v35-easy-mode #nav{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:100vw!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  align-items:center;
  gap:5px;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:7px 8px;
  box-sizing:border-box;
  scrollbar-width:thin;
 }
 #nav .nav-group{
  display:none!important;
 }
 #nav button,
 body.v36-unified-mode #nav button,
 body.v35-easy-mode #nav button{
  display:block!important;
  flex:0 0 auto;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:8px 11px;
  white-space:nowrap;
 }
 main{
  width:100%;
  max-width:100%;
  padding:12px;
  box-sizing:border-box;
 }
 .page{
  width:100%;
  max-width:100%;
 }
 .panel{
  max-width:100%;
  box-sizing:border-box;
 }
 .toolbar{
  max-width:100%;
  flex-wrap:wrap;
 }
 .toolbar input.search{
  min-width:min(260px,100%);
  max-width:100%;
 }
 .kpi-grid,.business-grid,.report-grid{
  grid-template-columns:1fr!important;
 }
}

@media(max-width:720px){
 .modal{
  padding:0!important;
  align-items:stretch;
 }
 .modalbox{
  width:100vw!important;
  max-width:100vw!important;
  max-height:100vh!important;
  min-height:100vh;
  border-radius:0!important;
  padding:12px!important;
  overflow-x:hidden!important;
  box-sizing:border-box;
 }
 .modalhead{
  position:sticky;
  top:-12px;
  z-index:20;
  margin:-12px -12px 10px;
  padding:10px 12px;
  background:#fff;
  border-bottom:1px solid var(--line);
 }
 #modalBody{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
 }
 #modalBody table,
 .v389-options-body table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
 }
 #modalBody th,
 #modalBody td,
 .v389-options-body th,
 .v389-options-body td{
  padding:6px;
  font-size:11px;
 }
 #modalBody .grid,
 #modalBody .grid2,
 #modalBody .item-config-grid{
  grid-template-columns:1fr!important;
 }
 #modalBody .invoice-lines-block,
 #modalBody .component-list,
 #modalBody .upgrade-list{
  min-width:0;
  max-width:100%;
 }
 .invoice-paper{
  max-width:100%;
  padding:14px;
  box-sizing:border-box;
 }
 .invoice-head{
  flex-direction:column;
  gap:10px;
 }
 .invoice-title{
  font-size:30px;
 }
 .v389-options-overlay{
  padding:0!important;
 }
 .v389-options-box{
  width:100vw!important;
  max-width:100vw!important;
  max-height:100vh!important;
  border-radius:0!important;
 }
 .v389-options-header{
  padding:10px 12px;
 }
 .v389-options-body{
  padding:12px 12px 20px;
  overflow-x:hidden!important;
 }
 .v3814-line-upgrade-row,
 .v3811-upgrade-row,
 .v3811-component-row{
  grid-template-columns:38px minmax(0,1fr)!important;
 }
 .v3814-save-upgrade{
  grid-column:2!important;
 }
}


@media(max-width:900px){
 .page table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
 }
 .page .panel{
  overflow-x:hidden;
 }
}

/* V38.16 laptop layout repair: wide business tables must scroll inside their panel,
   never disappear behind the right edge of the browser. */
@media(max-width:1200px){
 .page .panel{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
 }
}
@media(max-width:1100px){
 .v35-translation-grid{
  grid-template-columns:1fr;
 }
}

/* ===== V38.17 EXACT DOCUMENT PRINTING ===== */
.invoice-paper{
 color:#172033;
 font-family:Arial,Helvetica,sans-serif;
}
.invoice-paper .invoice-items-table{
 width:100%;
 table-layout:fixed;
 border-collapse:collapse;
}
.invoice-paper .invoice-items-table th:nth-child(1),
.invoice-paper .invoice-items-table td:nth-child(1){width:14%}
.invoice-paper .invoice-items-table th:nth-child(2),
.invoice-paper .invoice-items-table td:nth-child(2){width:55%}
.invoice-paper .invoice-items-table th:nth-child(3),
.invoice-paper .invoice-items-table td:nth-child(3){width:7%;text-align:center}
.invoice-paper .invoice-items-table th:nth-child(4),
.invoice-paper .invoice-items-table td:nth-child(4){width:11%;text-align:right;white-space:nowrap}
.invoice-paper .invoice-items-table th:nth-child(5),
.invoice-paper .invoice-items-table td:nth-child(5){width:13%;text-align:right;white-space:nowrap}
.invoice-paper .invoice-items-table td:nth-child(2){
 overflow-wrap:anywhere;
 word-break:normal;
 line-height:1.3;
}
.invoice-paper .invoice-bill-grid{
 grid-template-columns:minmax(0,1fr) minmax(125px,.35fr);
 gap:24px;
}
.invoice-paper table thead th{
 position:static;
 top:auto;
 z-index:auto;
}

@page{
 size:Letter portrait;
 margin:.35in;
}
@media print{
 html,body{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#172033!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
 }
 *,*::before,*::after{
  box-sizing:border-box!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
 }
 #offlineBanner,#databaseWarningBanner,#storageWarningBanner,
 #setupScreen,#authScreen,#pendingScreen,
 #appScreen>header,#appScreen>.layout>#nav,#nav,
 .header-actions,.userbox,.no-print,.label-control-panel,
 #modal,#toastStack{
  display:none!important;
 }
 #appScreen,#appScreen.hidden,
 #appScreen>.layout,#appScreen>.layout>main{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:#fff!important;
 }
 #appScreen .page{
  display:none!important;
 }
 #appScreen #printPage{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
 }
 #printPage .invoice-paper{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
  border:0!important;
  background:#fff!important;
  font-size:10.5pt!important;
  line-height:1.25!important;
 }
 #printPage .invoice-head{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:24px!important;
  padding-bottom:14px!important;
  border-bottom:3px solid #b68a3a!important;
 }
 #printPage .invoice-title{
  font-size:28pt!important;
  line-height:1!important;
 }
 #printPage .grid2,#printPage .invoice-bill-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(125px,.35fr)!important;
  gap:24px!important;
 }
 #printPage table{
  display:table!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
 }
 #printPage thead{display:table-header-group!important}
 #printPage tbody{display:table-row-group!important}
 #printPage tr{
  display:table-row!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
 }
 #printPage th,#printPage td{
  display:table-cell!important;
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  padding:7px 8px!important;
  border-bottom:1px solid #d9e2ec!important;
  vertical-align:middle!important;
  font-size:9pt!important;
 }
 #printPage th{
  background:#eef3f8!important;
  color:#172033!important;
 }
 #printPage .totals{
  width:3.55in!important;
  max-width:48%!important;
  margin:0 0 0 auto!important;
 }
 #printPage .totals div{padding:4px 6px!important}
 #printPage .totals .grand{
  font-size:12.5pt!important;
  border-top:2px solid #202c3b!important;
 }
 #printPage p{orphans:3;widows:3}
}


/* ===== V38.18 PROFESSIONAL WORKFLOW & CONTEXTUAL TOOLS ===== */
.professional-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.professional-page-head h1{margin:2px 0 5px}
.professional-kicker{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#557086}
.professional-head-actions{margin-left:auto}
.professional-workspace{padding:0;overflow:hidden}
.professional-workspace-bar{padding:13px 16px;border-bottom:1px solid var(--line);background:#f8fafc}
.professional-workspace-bar label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:#526170}
.professional-workspace-bar select{min-width:310px;background:white}
.professional-workspace #v34SuiteContent,.professional-workspace #v35EasyContent{padding:16px;margin-top:0!important;min-height:260px}
.professional-loading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:10px;color:#607080;font-weight:700}
.professional-loading span{width:18px;height:18px;border:3px solid #d9e2ea;border-top-color:#24528c;border-radius:50%;animation:v3818spin .8s linear infinite}
@keyframes v3818spin{to{transform:rotate(360deg)}}
.professional-section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px;padding:4px 2px 14px;border-bottom:1px solid #e5ebf0}
.professional-section-intro h2{margin:0 0 5px}.professional-section-intro p{margin:0;color:#657383;max-width:780px}
.professional-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.professional-work-card{display:flex;flex-direction:column;min-height:175px;padding:16px;border:1px solid #d9e1e8;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(30,55,80,.04)}
.professional-work-card:hover{border-color:#a9bdcf;box-shadow:0 5px 16px rgba(30,55,80,.08)}
.professional-work-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.professional-work-card h3{margin:0;font-size:16px}.professional-work-card-head b{min-width:34px;padding:4px 8px;border-radius:999px;background:#eaf1f8;color:#284f78;text-align:center}
.professional-work-card p{flex:1;margin:10px 0 14px;color:#647282;font-size:13px;line-height:1.5}
.professional-work-card button{align-self:flex-start}
.professional-context-map{margin-top:18px;padding-top:16px;border-top:1px solid #e3e9ee}.professional-context-map h3{margin:0 0 10px}
.professional-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.professional-context-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:12px;background:#f8fafc;border-color:#d9e2e9}
.professional-context-grid button b{font-size:13px}.professional-context-grid button span{margin-top:3px;color:#667585;font-size:11px}
.professional-kpi-button{text-align:left;border:1px solid var(--line);cursor:pointer}.professional-kpi-button:hover{border-color:#93adc3;background:#f7fbff}.professional-kpi-button b{display:block;font-size:25px;margin-top:3px}
.professional-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.professional-setting-card{padding:15px;border:1px solid #d8e1e8;border-radius:11px;background:#fafcfe}
.professional-setting-card h3{margin:0 0 5px}.professional-setting-card p{margin:0 0 12px;color:#647282;font-size:13px}
.professional-health-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.professional-health-card{padding:13px;border:1px solid #dce4ea;border-radius:9px;background:#f9fbfd}.professional-health-card span{display:block;color:#6c7987;font-size:11px}.professional-health-card b{display:block;margin-top:5px;font-size:16px;word-break:break-word}
@media(max-width:1100px){.professional-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.professional-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.professional-work-grid,.professional-context-grid,.professional-settings-grid,.professional-health-grid{grid-template-columns:1fr}.professional-workspace-bar label{width:100%;align-items:flex-start;flex-direction:column}.professional-workspace-bar select{width:100%;min-width:0}.professional-section-intro{flex-direction:column}.professional-head-actions{margin-left:0}}

/* V38.18.2 — professional large-catalog translation review */
.professional-translation-toolbar{align-items:center;gap:8px}
.professional-compact-field{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;white-space:nowrap}
.professional-compact-field select{min-width:72px}
.professional-list-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 2px;color:#64748b;font-size:13px}
.professional-table-scroll{width:100%;overflow:auto;border:1px solid #dce3ec;border-radius:10px;background:#fff}
.professional-table-scroll table{margin:0;min-width:920px}
.professional-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0}
.professional-pagination>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}
.professional-pagination button{min-width:38px}
.professional-page-ellipsis{padding:0 3px;color:#64748b}
@media(max-width:700px){
 .professional-list-summary{align-items:flex-start;flex-direction:column;gap:2px}
 .professional-pagination{flex-wrap:wrap;justify-content:center}
 .professional-pagination>div{order:3;width:100%}
 .professional-translation-toolbar>*{width:100%}
 .professional-compact-field{justify-content:space-between}
}


/* V38.20 immediate-response feedback */
body.v3819-refreshing::before{content:"";position:fixed;z-index:100000;left:0;top:0;height:3px;width:38%;background:linear-gradient(90deg,#b68a37,#1f4d83,#b68a37);animation:v3819Progress 1.1s ease-in-out infinite;box-shadow:0 1px 6px rgba(31,77,131,.35)}
@keyframes v3819Progress{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
button,input,select,textarea{transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease,opacity .12s ease}
button:not(:disabled):active{transform:translateY(1px);opacity:.88}
button:disabled{cursor:wait;opacity:.62}
.page{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:800px}
.page.active{content-visibility:visible}
.professional-table-scroll{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){body.v3819-refreshing::before{animation:none;width:100%}button,input,select,textarea{transition:none}}


/* V38.20 access-request reliability */
.access-request-button{position:relative}
.access-request-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#b91c1c;color:#fff;font-size:11px;font-weight:800;line-height:1}
.access-request-badge.hidden{display:none}
.pending-card .toolbar{flex-wrap:wrap}
.request-confirmation{margin-top:12px;padding:12px;border:1px solid #a7d7b8;border-radius:8px;background:#edf9f1;color:#14532d}
.request-error-help{margin-top:10px;padding:10px;border-left:4px solid #b45309;background:#fff7ed;color:#7c2d12}
@media(max-width:700px){.access-request-button{width:auto}.pending-card .toolbar button{flex:1 1 180px}}


/* ===== V38.21 ROLE ENFORCEMENT ===== */
body .v3821-denied{display:none!important}
body.v36-unified-mode #nav button.v3821-denied,
body.v35-easy-mode #nav button.v3821-denied,
body #nav button.v3821-denied{display:none!important}
.v3821-readonly-banner{display:none;margin:0 0 12px;padding:10px 13px;border:1px solid #8ab4df;border-radius:9px;background:#edf6ff;color:#174f7c;font-weight:750}
body.permission-viewer .v3821-readonly-banner{display:block}
body.permission-viewer #modal input:disabled,body.permission-viewer #modal textarea:disabled,body.permission-viewer #modal select:disabled{opacity:1;color:#26384d;background:#f4f7fa;border-color:#d8e0e8;cursor:default}
.v3821-access-summary{display:inline-flex;max-width:390px;padding:4px 8px;border-radius:999px;background:#eef3f8;color:#34485f;font-size:11px;font-weight:700;white-space:normal}

/* V38.21 exact role enforcement */
body .v3821-denied{display:none!important}
.v3821-readonly-banner{margin:0 0 14px;padding:11px 13px;border:1px solid #d8a425;border-left:5px solid #b8810b;border-radius:8px;background:#fff7dc;color:#684b00;font-weight:700}
.v3821-access-summary{display:block;max-width:390px;color:#475569;font-size:12px;line-height:1.35}

/* V38.22 role clarity and safe item deletion */
.v3822-role-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800;text-transform:capitalize;background:#e8eef6;color:#294565;border:1px solid #cad6e5}
.v3822-role-badge.role-owner,.v3822-role-badge.role-admin{background:#f7ecd0;color:#714d00;border-color:#e2c77f}
.v3822-role-badge.role-manager{background:#e6efff;color:#164b8e;border-color:#b8cff2}
.v3822-role-badge.role-staff{background:#e9f7ee;color:#17623b;border-color:#bfe3cd}
.v3822-role-badge.role-viewer{background:#eef1f5;color:#4d5968;border-color:#d7dde5}
.v3822-role-badge.inactive{opacity:.55;text-decoration:line-through}
.v3822-dirty{outline:2px solid #c58b22;outline-offset:-2px;background:#fff9e9!important}
.v3822-row-focus{animation:v3822Focus 2.5s ease}
@keyframes v3822Focus{0%,100%{box-shadow:none}25%,70%{box-shadow:inset 0 0 0 3px #2b6cb0;background:#eef6ff}}
.v3822-protected-owner{font-weight:700;color:#7b5b19}
.v3822-recycle-item{white-space:nowrap}
.request-approved select{pointer-events:none}
#trash .notice{line-height:1.5}
.permission-viewer #productRows .price-input{background:#f3f5f8;color:#55606e;cursor:not-allowed}


/* V38.23 one-recipient invoice sending */
.invoice-send-recipient-list{display:grid;gap:9px;margin:14px 0;max-height:360px;overflow:auto;padding:2px}
.invoice-send-recipient{display:flex;align-items:center;gap:11px;border:1px solid #d6e0eb;border-radius:10px;padding:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.invoice-send-recipient:hover{border-color:#8ba9cb;background:#f8fbff}
.invoice-send-recipient:has(input:checked){border-color:#2f6da8;box-shadow:0 0 0 2px rgba(47,109,168,.13);background:#f4f9ff}
.invoice-send-recipient input{width:18px;height:18px;flex:0 0 auto}
.invoice-send-recipient-copy{display:grid;min-width:0;flex:1}
.invoice-send-recipient-copy b{font-size:14px}
.invoice-send-recipient-copy span{font-size:13px;color:#526070;overflow-wrap:anywhere}
.invoice-send-recipient-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.invoice-send-recipient-tags em{font-style:normal;font-size:11px;font-weight:700;color:#285f95;background:#e8f2fc;border-radius:999px;padding:3px 7px;white-space:nowrap}
@media(max-width:600px){.invoice-send-recipient{align-items:flex-start}.invoice-send-recipient-tags{display:none}}


/* V38.24 packing slips */
.packing-list-editor{max-height:360px;margin:12px 0}
.packing-list-editor table{min-width:720px}
.packing-list-editor th:first-child,.packing-list-editor td:first-child{width:72px;text-align:center}
.packing-list-editor th:last-child,.packing-list-editor td:last-child{width:130px}
.packing-list-editor input[type="number"]{min-width:95px}
.packing-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.36fr);gap:24px;margin:24px 0}
.packing-list-table th:nth-child(1),.packing-list-table td:nth-child(1){width:18%}
.packing-list-table th:nth-child(2),.packing-list-table td:nth-child(2){width:67%}
.packing-list-table th:nth-child(3),.packing-list-table td:nth-child(3){width:15%;text-align:center}
.packing-signatures{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:48px}
.packing-signatures>div{border-top:1px solid var(--ink,#172033);padding-top:6px;color:#526070}
@media(max-width:700px){.packing-meta,.packing-signatures{grid-template-columns:1fr}.packing-signatures{gap:30px}.packing-list-editor{max-height:300px}}
