:root{--nav:#102f50;--nav2:#0b223c;--accent:#2563eb;--accent2:#0ea5e9;--bg:#f4f7fb;--card:#fff;--text:#162235;--muted:#66758b;--border:#d9e2ee;--danger:#c92a2a;--success:#178344;--warning:#a16207;--sidebar:255px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--nav),var(--nav2));color:#eaf3ff;padding:14px 10px;overflow-y:auto;z-index:50}.brand{display:flex;gap:10px;align-items:center;padding:9px 10px 18px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#38bdf8,#2563eb);display:grid;place-items:center;font-weight:900;color:#fff}.brand strong,.brand small{display:block}.brand small{opacity:.7;font-size:.72rem;margin-top:2px}.sidebar nav>a,.sidebar summary,.sidebar details div a{display:block;border-radius:8px;padding:8px 10px;margin:2px 0}.sidebar nav>a:hover,.sidebar details div a:hover{background:rgba(255,255,255,.1)}.sidebar summary{cursor:pointer;font-weight:750;list-style:none}.sidebar summary::-webkit-details-marker{display:none}.sidebar details div{padding-left:12px}.sidebar details div a{font-size:.88rem;color:#c8d8ea}.app-main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:60px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:40}.topbar-title{font-weight:800;flex:1}.icon-btn{display:none;border:0;background:#edf3fa;width:38px;height:38px;border-radius:9px}.user-chip{text-align:right}.user-chip span,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:.75rem}.content{padding:20px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}.page-head h1{margin:0;font-size:1.55rem}.page-head p{margin:5px 0 0;color:var(--muted)}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;background:#e8eef6;color:var(--text);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--accent);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.warning{background:#f59f00;color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:#fff;border-color:var(--border)}.btn.sm{padding:6px 9px;font-size:.78rem}.btn:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px}.metric{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:15px;box-shadow:0 5px 18px rgba(28,53,85,.05)}.metric .label{color:var(--muted);font-size:.78rem;font-weight:700}.metric .value{font-size:1.55rem;font-weight:900;margin-top:5px}.metric .hint{font-size:.72rem;color:var(--muted);margin-top:4px}.two-col{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--card);border:1px solid var(--border);border-radius:13px;margin-bottom:15px;box-shadow:0 4px 16px rgba(28,53,85,.04);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:1.02rem;margin:0}.panel-head p{font-size:.78rem;color:var(--muted);margin:3px 0 0}.panel-body{padding:15px}.toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:13px 15px;background:#fbfcfe;border-bottom:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:5px;min-width:150px}.field.grow{flex:1;min-width:220px}.field label{font-size:.74rem;font-weight:750;color:#526176;text-transform:uppercase;letter-spacing:.02em}.input{width:100%;border:1px solid #cbd7e5;border-radius:8px;background:#fff;padding:9px 10px;color:var(--text)}.input:focus{outline:2px solid rgba(37,99,235,.16);border-color:var(--accent)}textarea.input{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid .span-2{grid-column:span 2}.form-grid .span-4{grid-column:1/-1}.required:after{content:' *';color:var(--danger)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{background:#edf3fa;color:#34455d;font-size:.72rem;text-transform:uppercase;letter-spacing:.02em;text-align:left;white-space:nowrap;padding:10px;border-bottom:1px solid var(--border);position:sticky;top:0}.data-table td{padding:9px 10px;border-bottom:1px solid #e8edf4;vertical-align:middle}.data-table tbody tr:hover{background:#f8faff}.data-table.compact td{padding:7px 9px}.product-name{font-weight:800}.barcode{font-family:Consolas,monospace;font-size:.75rem;color:var(--muted);margin-top:2px}.muted{color:var(--muted)}.small{font-size:.78rem}.status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:850;background:#e7eef7;color:#40516a}.status-draft{background:#fff4ce;color:#7a5600}.status-reviewed,.status-entered{background:#e0f2fe;color:#075985}.status-approved,.status-checked{background:#e8e6ff;color:#4938a6}.status-confirmed,.status-dispatched{background:#dbeafe;color:#1d4ed8}.status-posted,.status-received,.status-closed{background:#dcfce7;color:#166534}.status-partially-received{background:#ffedd5;color:#9a3412}.status-cancelled{background:#fee2e2;color:#991b1b}.alert{border-radius:9px;padding:11px 13px;margin-bottom:13px;display:flex;justify-content:space-between;gap:10px}.alert button{border:0;background:transparent;font-size:1.2rem}.alert.success{background:#dcfce7;color:#14532d}.alert.danger{background:#fee2e2;color:#7f1d1d}.alert.warning{background:#fff4ce;color:#713f12}.alert.info{background:#e0f2fe;color:#0c4a6e}.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;gap:10px;color:var(--muted);font-size:.82rem}.empty{padding:35px!important;text-align:center;color:var(--muted)}.chart-box{height:260px;padding:12px}.bar-list{display:grid;gap:8px;padding:15px}.bar-row{display:grid;grid-template-columns:130px 1fr 80px;gap:9px;align-items:center;font-size:.8rem}.bar-track{height:10px;background:#edf2f7;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px}.inline-form{display:flex;gap:8px;align-items:center;padding:14px 16px;flex-wrap:wrap}.file-list{padding:0 16px 14px}.file-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.file-row strong,.file-row small{display:block}.file-row small{color:var(--muted);margin-top:3px}.locked{border-left:4px solid #f59f00;background:#fff8e1;padding:10px 12px;margin-bottom:12px;border-radius:7px}.workflow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.workflow .arrow{color:#9aa8ba}.item-actions{display:flex;gap:4px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#1b5b92,#0b223c 55%,#071727)}.login-card{width:min(430px,92vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.3)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-logo .brand-mark{width:50px;height:50px}.login-card h1{margin:0}.login-card p{color:var(--muted)}.login-card .field{margin-bottom:12px}.mobile-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mobile-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;text-align:center}.mobile-card .icon{font-size:2rem}.mobile-card h2{margin:10px 0 5px}.mobile-card p{color:var(--muted);min-height:38px}.search-results{position:absolute;z-index:20;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 25px rgba(0,0,0,.12);max-height:330px;overflow:auto;width:100%}.search-result{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;border-bottom:1px solid #edf0f5}.search-result:hover{background:#f2f7ff}.relative{position:relative}.print-only{display:none}
@media(max-width:1200px){.metrics{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .span-4{grid-column:1/-1}}
@media(max-width:800px){html{font-size:14px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.icon-btn{display:block}.content{padding:12px}.topbar{padding:0 12px}.user-chip{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.two-col,.three-col,.mobile-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-4{grid-column:auto}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .field.grow{grid-column:1/-1}.toolbar .btn{width:100%}.page-head .actions{width:100%}.page-head .actions .btn{flex:1}.panel{border-radius:10px}.file-row{align-items:flex-start;flex-direction:column}.workflow{display:grid;grid-template-columns:1fr}.workflow .arrow{display:none}.workflow form,.workflow .btn{width:100%}input,select,textarea,button{font-size:16px}.data-table{font-size:.82rem}}
@media(max-width:450px){.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:11px}.metric .value{font-size:1.25rem}.toolbar{grid-template-columns:1fr}.toolbar .field.grow{grid-column:auto}.content{padding:8px}.topbar-title{font-size:.9rem}}
@media print{.sidebar,.topbar,.no-print,.alert{display:none!important}.app-main{margin:0}.content{padding:0}.panel{box-shadow:none;border:0}.print-only{display:block}.data-table th{position:static}}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--border);border-radius:10px;padding:15px;background:#fbfdff}.report-card:hover{border-color:#8fb3e6;background:#f3f8ff}.report-card span{font-size:.76rem;color:var(--muted)}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.permission-item{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border);border-radius:9px;padding:10px;background:#fbfcfe}.permission-item strong,.permission-item small{display:block}.permission-item small{font-size:.7rem;color:var(--muted);margin-top:3px}.mobile-item-list{display:grid;gap:10px;padding:12px}.mobile-line{background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px}.mobile-line-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.mobile-line-head strong,.mobile-line-head small{display:block}.mobile-line-head small{color:var(--muted);margin-top:3px}.mobile-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.mobile-line-grid label{font-size:.72rem;font-weight:700;color:var(--muted)}.mobile-line-grid .input{margin-top:4px}.mobile-submit{position:sticky;bottom:8px;width:100%;padding:13px}.label-print-area{display:none}.label-card{border:.15mm solid #bbb;overflow:hidden;padding:1.4mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;page-break-inside:avoid;background:#fff;color:#000}.label-name{font-size:9pt;font-weight:800;line-height:1.05;max-height:8mm;overflow:hidden}.label-price{font-size:13pt;font-weight:900;line-height:1.1;margin:.7mm 0}.label-card img{max-width:90%;height:11mm;object-fit:fill}.label-code{font-family:Consolas,monospace;font-size:8pt;line-height:1}.label-foot{font-size:5.5pt;margin-top:.7mm}.disabled{pointer-events:none;opacity:.45}
@media(max-width:800px){.report-grid,.check-grid{grid-template-columns:1fr}.mobile-line-grid{grid-template-columns:1fr 1fr}}
@media print{body.printing-labels .app-shell,body.printing-labels main,body.printing-labels .no-print{display:none!important}body.printing-labels #labelPrintArea{display:grid!important;position:absolute;left:0;top:0;margin:0!important;padding:0!important}.label-card{box-shadow:none}}
/* v1.1 product, modal, export, sharing and PWA improvements */
.data-table th.sortable{cursor:pointer;padding-right:24px;user-select:none}.data-table th.sortable:after{content:'⇅';position:absolute;right:7px;opacity:.4}.data-table th.sortable[data-dir='asc']:after{content:'▲';opacity:.9}.data-table th.sortable[data-dir='desc']:after{content:'▼';opacity:.9}.product-thumb{width:48px;height:48px;object-fit:cover;border-radius:7px}.product-image-preview{width:100px;height:100px;object-fit:cover;border-radius:9px;display:block;margin-bottom:5px}.picture-grid{margin-top:14px}.soft-toolbar{background:#fff9e8}.export-options{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fbfcfe}.export-options summary{cursor:pointer;padding:12px 15px;font-weight:800}.column-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.column-choice-grid label{border:1px solid var(--border);border-radius:7px;padding:8px;background:#fff;font-size:.8rem}.modal-overlay{position:fixed;inset:0;background:rgba(7,23,39,.62);z-index:1000;display:grid;place-items:center;padding:18px}.modal-overlay[hidden]{display:none}.modal-card{width:min(620px,96vw);max-height:92vh;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:auto}.modal-card.wide{width:min(1450px,98vw)}.modal-head{position:sticky;top:0;z-index:4;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px;border-bottom:1px solid var(--border)}.modal-head h2,.modal-head p{margin:0}.modal-head p{margin-top:4px;color:var(--muted);font-size:.8rem}.modal-head .icon-btn{display:grid;place-items:center;font-size:1.35rem}.modal-filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.modal-summary,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px}.modal-table{max-height:58vh}.modal-table .data-table{min-width:1100px}.modal-table .input{padding:7px}.scanner-video{position:fixed;inset:10%;width:80%;height:70%;object-fit:cover;z-index:9999;background:#000;border:4px solid #fff;border-radius:14px}.document-totals{margin-left:auto;width:min(420px,100%);display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:14px}.document-totals strong{font-size:1.05rem}.install-card{border:1px dashed #60a5fa;background:#eff6ff;border-radius:12px;padding:14px;margin-bottom:14px}.line-index{display:inline-block;min-width:1.6em}
@media(max-width:1100px){.column-choice-grid{grid-template-columns:repeat(3,1fr)}.modal-filters{grid-template-columns:1fr 1fr 1fr}.modal-filters [data-filter='q']{grid-column:1/-1}}
@media(max-width:800px){.column-choice-grid{grid-template-columns:1fr 1fr}.modal-overlay{padding:4px}.modal-card,.modal-card.wide{width:100%;max-height:98vh;border-radius:10px}.modal-filters{grid-template-columns:1fr 1fr}.modal-filters [data-filter='q']{grid-column:1/-1}.modal-filters .btn{width:100%}.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border)}}
/* v1.2 consistent dialogs, live search, product picker and barcode preview */
.notice-card,.confirm-card{width:min(520px,96vw)}
.notice-body{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:22px 20px;font-size:.96rem;line-height:1.5}
.notice-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#075985;font-size:1.4rem;font-weight:900}
#erpNoticeDialog[data-tone='success'] .notice-icon{background:#dcfce7;color:#166534}
#erpNoticeDialog[data-tone='danger'] .notice-icon{background:#fee2e2;color:#991b1b}
#erpNoticeDialog[data-tone='warning'] .notice-icon,.notice-icon.warning{background:#fff4ce;color:#854d0e}
.modal-table select.input,.picker-mode{min-width:92px;padding-right:34px!important;background-position:right 10px center}
.modal-table .picker-by{min-width:110px}
.live-search-hint{font-size:.72rem;color:var(--muted);margin-top:3px}
.product-modal-trigger{display:inline-flex;align-items:center;gap:6px}
.barcode-preview-shell{background:#eef3f8;border-top:1px solid var(--border);padding:16px}
.barcode-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.barcode-preview-canvas{background:#fff;border:1px solid var(--border);min-height:160px;padding:10px;overflow:auto}
.label-preview-area{display:grid;gap:0;align-content:start;justify-content:start}
.label-preview-area .label-card{box-shadow:0 1px 5px rgba(0,0,0,.08)}
.table-live-summary{font-size:.76rem;color:var(--muted);padding:4px 0}
@media(max-width:800px){.notice-body{grid-template-columns:38px 1fr;padding:16px}.notice-icon{width:36px;height:36px}.modal-table select.input,.picker-mode{min-width:100px}}
.feature-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px;padding:11px 14px;border:1px solid #bfd3ed;border-radius:10px;background:#eef5fc;color:#173b67}.feature-banner strong{font-size:.86rem}.feature-banner span{font-size:.76rem;color:#4c627b}
.table-live-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px 14px;background:#f8fbff;border-bottom:1px solid var(--border)}
.table-live-toolbar .field{max-width:520px}
@media(max-width:800px){.table-live-toolbar{align-items:stretch;flex-direction:column}.table-live-toolbar .field{max-width:none}}

/* v1.3 product-picker native select spacing: prevent arrow/text overlap. */
.modal-table td.picker-by{min-width:132px;width:132px}
.modal-table .picker-mode{min-width:116px;padding:7px 40px 7px 10px!important;background-position:right 12px center!important}

/* v1.4: profit margin and bulk import presentation */
.margin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:5px 9px;border-radius:999px;font-weight:850;color:hsl(var(--margin-hue) 62% 24%);border:1px solid hsl(var(--margin-hue) 55% 66%);background:linear-gradient(135deg,hsl(var(--margin-hue) 88% 96%),hsl(var(--margin-hue) 72% 82%));box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.bulk-item-toolbar{background:linear-gradient(90deg,#f7fbff,#eef7ff)}
.bulk-item-toolbar input[type=file]{min-width:260px}
.report-filter-form{align-items:end}
.permission-item small{overflow-wrap:anywhere}
@media(max-width:800px){.bulk-item-toolbar .field{width:100%}.bulk-item-toolbar input[type=file]{min-width:0}}

/* v1.5 transient messages */
.alert{transition:opacity .2s ease,transform .2s ease}
.alert.fade-out{opacity:0;transform:translateY(-4px)}

/* v1.6 simplified PO / Transfer flow */
.simple-flow{align-items:center;flex-wrap:wrap}
.flow-step{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-weight:700;font-size:13px}
.flow-step.active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.flow-step.done{border-color:#16a34a;background:#dcfce7;color:#166534}
@media(max-width:700px){.simple-flow .arrow{display:none}.flow-step{width:100%;justify-content:center}}

/* v1.6.1 barcode modal and reliable browser print portal */
.barcode-preview-modal{width:min(1120px,96vw);max-height:94vh;display:flex;flex-direction:column}
.barcode-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.barcode-preview-scroll{overflow:auto;min-height:240px;max-height:68vh;padding:16px;background:#eef3f8}
.barcode-preview-scroll .label-preview-area{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;min-height:180px}
@media print{
  body.printing-labels > *:not(#labelPrintArea){display:none!important}
  body.printing-labels #labelPrintArea{display:block!important;background:#fff!important}
}

/* v1.6.2 reliable confirmed form submission and visible processing state */
.processing-overlay{z-index:1200;cursor:wait}
.processing-card{width:min(470px,94vw);display:flex;align-items:center;gap:18px;padding:24px;overflow:visible}
.processing-card h2{margin:0 0 5px;font-size:1.15rem}
.processing-card p{margin:0;color:var(--muted);line-height:1.45}
.processing-spinner{width:42px;height:42px;flex:0 0 42px;border:4px solid #dbeafe;border-top-color:var(--accent);border-radius:50%;animation:erp-spin .8s linear infinite}
@keyframes erp-spin{to{transform:rotate(360deg)}}

/* v2.0 professional workspace — sidebar intentionally unchanged */
:root{--surface:#ffffff;--surface-subtle:#f8fafc;--surface-muted:#f1f5f9;--shadow-sm:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.045);--shadow-md:0 14px 38px rgba(15,23,42,.14);--radius:10px;--radius-sm:7px}
body{font-size:14px;line-height:1.42}.content{padding:16px 18px;max-width:1760px}.topbar{height:56px;padding:0 18px}.page-head{align-items:center;margin-bottom:12px}.page-head h1{font-size:1.38rem;letter-spacing:-.018em}.page-head p{margin-top:3px;font-size:.82rem}.actions{gap:6px}.btn{min-height:34px;border-radius:7px;padding:7px 11px;font-size:.83rem;box-shadow:none;transition:background .15s ease,border-color .15s ease,transform .1s ease}.btn:hover{filter:none;transform:translateY(-1px)}.btn.primary{background:#1d5fd1}.btn.primary:hover{background:#174fac}.btn.success{background:#167849}.btn.success:hover{background:#11633c}.btn.danger{background:#b4232c}.btn.ghost{background:#fff;border-color:#cbd5e1;color:#334155}.btn.ghost:hover{background:#f8fafc;border-color:#94a3b8}.btn.sm{min-height:29px;padding:5px 9px;font-size:.75rem}.panel{border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow-sm);border-color:#dbe3ec}.panel-head{min-height:48px;padding:10px 13px}.panel-head h2{font-size:.94rem}.panel-head p{font-size:.73rem}.panel-body{padding:12px 13px}.toolbar{padding:9px 12px;gap:7px;background:#fbfdff}.soft-toolbar{background:#f8fbff}.field{gap:4px;min-width:135px}.field label{font-size:.67rem;letter-spacing:.045em}.input{min-height:34px;padding:7px 9px;border-radius:7px;border-color:#cbd5e1}.input:focus{outline:3px solid rgba(37,99,235,.13);outline-offset:0}.form-grid{gap:9px}.locked,.compact-note{padding:8px 11px;margin-bottom:10px;font-size:.79rem}.metrics{gap:10px;margin-bottom:12px}.metric{border-radius:10px;padding:12px;box-shadow:var(--shadow-sm)}.metric .value{font-size:1.35rem}.data-table{min-width:720px}.data-table th{padding:8px 9px;font-size:.66rem;background:#eaf1f8;color:#2c4058}.data-table td{padding:7px 9px}.data-table[data-density='comfortable'] td{padding:11px 10px}.data-table[data-density='comfortable'] th{padding:10px}.data-table tbody tr:nth-child(even){background:#fbfcfe}.data-table tbody tr:hover{background:#eef5ff}.data-table th[hidden],.data-table td[hidden]{display:none!important}.table-wrap{scrollbar-width:thin}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);background:#fbfdff}.compact-search{display:flex;align-items:center;gap:6px;min-width:240px;max-width:430px;flex:1}.compact-search>span{color:#64748b;font-size:1rem}.compact-search .input{min-height:30px;padding:5px 8px}.table-tool-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.table-live-summary{font-size:.7rem;white-space:nowrap}.table-live-toolbar{display:none!important}.column-modal{width:min(560px,96vw)}.column-modal-tools{display:flex;justify-content:flex-end;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border)}.column-modal-list{padding:8px 12px;display:grid;gap:5px;max-height:55vh;overflow:auto}.column-modal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dce4ed;border-radius:7px;padding:7px 8px;background:#fff}.column-modal-row label{display:flex;align-items:center;gap:7px;flex:1;font-size:.82rem}.column-order-actions{display:flex;gap:4px}.export-form-hidden{display:none!important}.export-column-modal{width:min(650px,96vw)}.compact-column-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;margin:0}.compact-column-grid label{padding:7px 8px;font-size:.78rem}.document-actions{justify-content:flex-end}.document-summary-card .panel-body{padding-top:10px}.detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.compact-details>div{border:1px solid #e2e8f0;border-radius:7px;padding:8px 9px;background:#fbfdff;min-width:0}.compact-details span{display:block;color:#64748b;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.compact-details strong{display:block;font-size:.82rem;overflow-wrap:anywhere}.compact-details .detail-span{grid-column:span 2}.compact-action-panel .panel-head{align-items:center}.document-totals{padding:10px 13px;gap:5px 16px;font-size:.82rem}.document-totals strong{font-size:.92rem}.modal-overlay{backdrop-filter:blur(2px);background:rgba(15,23,42,.58)}.modal-card{border-radius:12px;box-shadow:var(--shadow-md)}.modal-head{padding:12px 14px}.modal-actions{padding:9px 12px}.modal-filters{padding:9px 10px;gap:6px}.modal-summary{padding:8px 11px}.bulk-item-toolbar{background:#f8fbff}.bulk-item-toolbar .btn{min-height:30px}.bulk-item-toolbar a.btn{font-size:.73rem}.feature-banner{margin:8px 10px;padding:8px 10px}.export-options{display:none!important}.inline-form{padding:10px 12px}.alert{padding:9px 11px;font-size:.82rem}.file-row{padding:8px 0}.status{padding:3px 7px}.product-name{font-size:.83rem}.barcode{font-size:.7rem}.page-head+.locked{margin-top:-2px}

/* Professional retail barcode label */
.label-card{position:relative;border:.25mm dashed #8a8a8a;padding:1.5mm 2mm;display:grid;grid-template-rows:auto auto 1fr auto;align-items:center;justify-items:center;background:#fff;overflow:hidden;color:#111}.label-price{order:-2;font-family:Arial,Helvetica,sans-serif;font-size:18pt;font-weight:900;line-height:1;margin:0 0 .7mm;letter-spacing:-.4pt}.label-name{order:-1;font-family:Arial,Helvetica,sans-serif;font-size:7.8pt;font-weight:600;line-height:1.08;text-align:center;max-height:7mm;overflow:hidden;width:100%}.label-barcode-row{width:100%;align-self:end;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5mm;align-items:end;margin-top:1mm}.label-code{font-family:Consolas,'Courier New',monospace;font-size:6.8pt;line-height:1;text-align:left;white-space:nowrap;overflow:hidden}.label-card img{display:block;width:100%;height:9mm;object-fit:fill}.label-foot{display:block;font-family:Arial,Helvetica,sans-serif;font-size:4.5pt;line-height:1;text-align:center;width:100%;white-space:nowrap;overflow:hidden;margin-top:.5mm;color:#333}.label-preview-area .label-card{box-shadow:0 2px 9px rgba(15,23,42,.09)}.barcode-layout-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}.barcode-layout-summary div{border:1px solid #dbe3ec;border-radius:7px;padding:7px 8px;background:#fff}.barcode-layout-summary span{display:block;font-size:.64rem;color:#64748b;text-transform:uppercase}.barcode-layout-summary strong{font-size:.83rem}.barcode-preview-controls{background:#f8fafc}.barcode-preview-scroll{background:#e9eef5}.label-page{box-sizing:border-box}

/* Focus and accessibility */
.btn:focus-visible,.input:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}.icon-btn{min-width:32px;min-height:32px}.data-table th.sortable:after{right:6px}

@media(max-width:1200px){.detail-grid{grid-template-columns:repeat(3,1fr)}.compact-column-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.content{padding:10px}.page-head{align-items:flex-start}.page-head .actions{width:auto}.page-head .actions .btn{flex:0 0 auto}.document-actions{width:100%!important}.document-actions .btn{flex:1 1 auto!important}.table-tools{align-items:stretch;flex-direction:column}.compact-search{max-width:none;width:100%}.table-tool-actions{justify-content:space-between}.detail-grid{grid-template-columns:1fr 1fr}.compact-column-grid{grid-template-columns:1fr}.barcode-layout-summary{grid-template-columns:1fr 1fr}.bulk-item-toolbar{display:flex}.bulk-item-toolbar .field{width:100%}}
@media(max-width:480px){.detail-grid{grid-template-columns:1fr}.compact-details .detail-span{grid-column:auto}.btn{min-height:36px}.modal-card{border-radius:8px}.barcode-layout-summary{grid-template-columns:1fr}}
.export-form-compact{display:flex;align-items:center;justify-content:flex-end;padding:8px 11px!important}.export-form-compact>.actions{margin:0}.compact-export-panel>.panel-head{min-height:42px}.compact-export-panel>.panel-head p{display:none}.compact-export-panel>.panel-head h2{font-size:.86rem}.compact-export-panel .column-choice-grid[hidden]{display:none!important}
@media(max-width:800px){.export-form-compact{justify-content:stretch}.export-form-compact>.actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.export-form-compact>.actions .btn{width:100%}}
.compact-filter-bar{align-items:end}.compact-filter-bar .field.grow{min-width:300px}.compact-select{min-width:230px}.compact-document-toolbar{min-height:42px}.compact-modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-modal-form .span-2{grid-column:span 2}
@media(max-width:800px){.compact-filter-bar .field.grow{min-width:0}.compact-select{min-width:0}.compact-modal-form{grid-template-columns:1fr}.compact-modal-form .span-2{grid-column:auto}}

/* v1.7: preserve the approved sidebar exactly while compacting the workspace */
.sidebar{font-size:15px;line-height:normal}

/* Compact bulk-item import modal */
.bulk-import-modal{width:min(480px,94vw)}
.bulk-import-drop{display:grid;justify-items:center;gap:6px;padding:22px 16px;border:1px dashed #9fb3c8;border-radius:10px;background:#f8fbff;text-align:center}
.bulk-import-drop strong{font-size:.86rem;max-width:100%;overflow-wrap:anywhere}
.bulk-import-drop small{color:var(--muted);font-size:.72rem}
.bulk-file-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e6efff;color:#1d5fd1;font-size:1.4rem;font-weight:900}
.bulk-import-help{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 10px;border-radius:8px;background:#f8fafc;font-size:.76rem;color:var(--muted)}
@media(max-width:480px){.bulk-import-help{align-items:stretch;flex-direction:column}.bulk-import-help .btn{width:100%}}

/* v1.8 operational reporting, readability and overview */
.product-overview-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#f8fbff,#fff)}
.product-overview-metric{display:flex;align-items:baseline;gap:6px;padding:6px 9px;border:1px solid #dbe5f0;border-radius:8px;background:#fff;min-width:145px}
.product-overview-metric span{font-size:.65rem;text-transform:uppercase;letter-spacing:.045em;color:#64748b;font-weight:750}
.product-overview-metric strong{font-size:1rem;color:#143b66}
.product-overview-note{font-size:.72rem;color:#64748b;margin-left:auto}
.barcode{font-size:.79rem;font-weight:650;color:#42546a;letter-spacing:.015em;line-height:1.25}
.data-table td.barcode{font-size:.8rem;color:#293b52}
.document-barcode,.bill-product-barcode{font-family:Consolas,'Courier New',monospace;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#24364d}
.status-paid{background:#dcfce7;color:#166534}.status-unpaid{background:#e2e8f0;color:#334155}.status-partially-paid{background:#ffedd5;color:#9a3412}.status-overdue{background:#fee2e2;color:#991b1b}.status-reversed{background:#f1f5f9;color:#475569}
.payment-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.payment-summary>div{border:1px solid #dbe3ec;border-radius:8px;background:#fbfdff;padding:7px 10px;min-width:120px}.payment-summary span{display:block;font-size:.64rem;color:#64748b;text-transform:uppercase}.payment-summary strong{display:block;margin-top:2px}
@media(max-width:800px){.product-overview-note{width:100%;margin-left:0}.product-overview-metric{flex:1 1 140px}}
.report-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);background:#f8fbff}
.report-summary-metric{padding:8px 10px;border:1px solid #dbe5ef;border-radius:8px;background:#fff;min-width:0}
.report-summary-metric span{display:block;font-size:.64rem;color:#64748b;text-transform:uppercase;letter-spacing:.045em;font-weight:750}
.report-summary-metric strong{display:block;margin-top:3px;font-size:1rem;color:#153b63;overflow-wrap:anywhere}
@media(max-width:800px){.report-summary-strip{grid-template-columns:1fr 1fr}}@media(max-width:480px){.report-summary-strip{grid-template-columns:1fr}}

/* v1.8.1 full-dataset search and barcode performance */
.server-search-loading{opacity:.72;pointer-events:none}.server-search-loading::after{content:'Searching all records…';font-size:.72rem;color:var(--muted);padding:0 6px}.barcode-preview-scroll .label-preview-area{contain:layout paint}.barcode-preview-modal .barcode-layout-summary{grid-template-columns:repeat(5,minmax(0,1fr))}

/* v1.9 product galleries, mobile PWA comfort, and workflow controls */
.product-thumb-button,.product-image-button,.mobile-product-thumb,.mobile-search-thumb,.picker-product-thumb,.mobile-line-thumb{border:0;background:transparent;padding:0;cursor:pointer;position:relative;display:inline-grid;place-items:center;border-radius:9px;overflow:hidden}
.product-thumb-button>span{position:absolute;right:3px;bottom:3px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:rgba(15,23,42,.82);color:#fff;font-size:.65rem;display:grid;place-items:center}
.product-image-button{width:100%;background:#f8fafc;border:1px solid var(--border)}
.picture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.picture-tile{display:grid;gap:7px;align-content:start;border:1px solid var(--border);border-radius:10px;padding:8px;background:#fbfdff}.picture-tile .product-image-preview{width:100%;height:130px;object-fit:contain;background:#fff}
.product-gallery-card{width:min(900px,96vw);max-height:94vh;overflow:hidden}.product-gallery-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px;padding:12px;background:#eef3f8}.product-gallery-viewport{height:min(62vh,620px);overflow:auto;display:grid;place-items:center;background:#fff;border-radius:10px;border:1px solid var(--border);touch-action:pan-y}.product-gallery-viewport img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;transition:transform .18s ease;transform-origin:center}.product-gallery-viewport img.zoomed{max-width:none;max-height:none;width:200%;height:auto;cursor:zoom-out}.gallery-nav{border:0;background:#fff;width:42px;height:56px;border-radius:10px;font-size:2rem;color:#173d66;box-shadow:0 4px 14px rgba(15,23,42,.12);cursor:pointer}.gallery-nav:disabled{opacity:.35}.product-gallery-caption{display:grid;gap:3px;text-align:center;padding:10px 14px}.product-gallery-caption strong{font-size:1rem}.product-gallery-caption .barcode{font-size:.92rem;font-weight:800}.product-gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding:0 14px 10px;justify-content:center}.product-gallery-thumbs button{border:2px solid transparent;border-radius:8px;background:#fff;padding:2px;min-width:58px;height:58px}.product-gallery-thumbs button.active{border-color:var(--accent)}.product-gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.reason-card{width:min(500px,94vw)}
.mobile-product-result{display:grid!important;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;padding:8px}.mobile-result-main{border:0;background:transparent;text-align:left;padding:2px;min-width:0;cursor:pointer}.mobile-result-main strong{display:block}.mobile-search-thumb,.picker-product-thumb,.mobile-line-thumb{width:52px;height:52px;border:1px solid var(--border);background:#fff}.mobile-search-thumb img,.picker-product-thumb img,.mobile-line-thumb img{width:100%;height:100%;object-fit:contain}.mobile-product-thumb.placeholder,.mobile-search-thumb.placeholder,.picker-product-thumb.placeholder,.mobile-line-thumb.placeholder{font-size:.58rem;color:var(--muted);text-align:center;background:#f1f5f9}.mobile-line-head{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto;gap:9px;align-items:start}.mobile-line-title{display:grid;gap:2px;min-width:0}.mobile-line-title strong{overflow-wrap:anywhere}.mobile-line-title small{display:block;color:var(--muted)}
.picker-product-thumb{width:46px;height:46px}.product-thumb-button:focus-visible,.product-image-button:focus-visible,.mobile-product-thumb:focus-visible,.mobile-search-thumb:focus-visible,.picker-product-thumb:focus-visible,.mobile-line-thumb:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}

@media(max-width:800px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .topbar{height:56px;padding-top:env(safe-area-inset-top)}
  .content{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .mobile-submit{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:25;width:100%;min-height:48px;box-shadow:0 8px 28px rgba(15,23,42,.24)}
  .mobile-item-list{display:grid;gap:10px;padding:10px}.mobile-line{border:1px solid var(--border);border-radius:11px;background:#fff;padding:10px;box-shadow:0 3px 12px rgba(15,23,42,.05)}
  .mobile-line-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.mobile-line-grid label{display:grid;gap:4px;font-size:.72rem;color:var(--muted)}
  .product-gallery-stage{grid-template-columns:34px minmax(0,1fr) 34px;padding:7px}.gallery-nav{width:34px;height:48px}.product-gallery-viewport{height:55vh}.product-gallery-thumbs{justify-content:flex-start}.product-gallery-card{width:100vw;max-height:100vh;border-radius:0}.product-gallery-overlay{align-items:stretch;padding:0}.picture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){.mobile-line-grid{grid-template-columns:1fr}.picture-grid{grid-template-columns:1fr}.product-gallery-stage{grid-template-columns:30px minmax(0,1fr) 30px}.gallery-nav{width:30px}}
.pwa-install-shortcut{display:none}
@media(max-width:800px){.pwa-install-shortcut{display:inline-flex;padding:6px 8px;min-height:34px}.topbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.gallery-count-badge{position:absolute;right:3px;bottom:3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:rgba(15,23,42,.84);color:#fff;font-size:.62rem;font-weight:800;display:grid;place-items:center;line-height:1}

/* v1.9.2 export download progress */
.export-download-overlay{z-index:2200;background:rgba(10,25,42,.46);backdrop-filter:blur(2px)}
.export-download-card{max-width:430px;display:flex;align-items:center;gap:18px;padding:24px}
.export-download-card h2{margin:0 0 5px;color:#153b63;font-size:1.05rem}
.export-download-card p{margin:0;color:#5b6776;line-height:1.45}
.export-download-spinner{width:36px;height:36px;flex:0 0 36px;border:4px solid #dce8f7;border-top-color:#153b63;border-radius:50%;animation:erp-export-spin .8s linear infinite}
@keyframes erp-export-spin{to{transform:rotate(360deg)}}

/* v2.0 checkbox multi-select filters */
.multi-filter{position:relative;min-width:150px}.multi-filter-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.multi-filter-button{width:100%;min-height:36px;padding:7px 32px 7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;text-align:left;font:inherit;position:relative;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-filter-button::after{content:'▾';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#64748b}.multi-filter-button.has-selection{border-color:#6f9fdf;background:#f4f8ff;color:#174f9d;font-weight:700}.multi-filter-panel{position:absolute;z-index:900;top:calc(100% + 5px);left:0;width:max(230px,100%);max-width:min(360px,90vw);padding:8px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.18)}.multi-filter-search{width:100%;min-height:34px;padding:6px 9px;border:1px solid #d5dee9;border-radius:7px;margin-bottom:7px}.multi-filter-tools{display:flex;justify-content:flex-end;gap:5px;padding-bottom:6px;border-bottom:1px solid #e5eaf0}.multi-filter-tools button{border:0;background:transparent;color:#1d5fd1;font-size:.72rem;font-weight:750;cursor:pointer;padding:3px 5px}.multi-filter-options{display:grid;gap:2px;max-height:260px;overflow:auto;padding-top:5px}.multi-filter-option{display:flex;align-items:flex-start;gap:8px;padding:6px 7px;border-radius:6px;cursor:pointer;font-size:.8rem;line-height:1.25}.multi-filter-option:hover{background:#f1f6fd}.multi-filter-option input{margin-top:1px;accent-color:#1d5fd1}.multi-filter-empty{padding:10px;color:#64748b;font-size:.78rem}.toolbar .multi-filter{max-width:230px}.compact-filter-bar .multi-filter{min-width:135px;max-width:190px}@media(max-width:800px){.toolbar .field:has(.multi-filter),.toolbar .multi-filter,.compact-filter-bar .multi-filter{width:100%;max-width:none}.multi-filter-panel{position:fixed;left:12px;right:12px;top:18%;width:auto;max-width:none;max-height:65vh}.multi-filter-options{max-height:48vh}}

/* v2.5.1 Purchase Return quantity feedback */
#returnItems tr.row-error td { background: rgba(180, 35, 24, .05); }
#returnItems tr.row-error .js-entry { border-color: #b42318; box-shadow: 0 0 0 2px rgba(180,35,24,.08); }

/* v2.6 numeric + searchable-select + compact responsive standards */
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
.searchable-select{position:relative;min-width:0}.searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.searchable-select-menu{position:absolute;left:0;right:auto;top:calc(100% + 3px);z-index:1500;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.18);width:max(100%,min(560px,calc(100vw - 32px)));max-width:calc(100vw - 32px);max-height:340px;overflow:auto}.searchable-select-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;font:inherit;color:#1e293b;cursor:pointer;white-space:normal;line-height:1.35;overflow-wrap:anywhere}.searchable-select-option:hover,.searchable-select-option:focus{background:#eef5ff;outline:none}.searchable-select-empty{padding:9px 10px;color:#64748b;font-size:.8rem}.compact-number{min-width:100px;max-width:150px}.cost-concept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.cost-concept{border:1px solid #dbe3ec;border-radius:9px;padding:11px;background:#f8fbff}.cost-concept>span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.cost-concept>strong{display:block;font-size:1rem;margin:4px 0;color:#173b63}.cost-concept>small{display:block;color:#64748b;line-height:1.35}.mt-16{margin-top:16px}.qty-mode-group{display:grid;grid-template-columns:minmax(90px,1fr) minmax(78px,110px);gap:6px;align-items:center}.erp-modal[hidden]{display:none}.erp-modal-card{width:min(720px,96vw);max-height:92vh;background:#fff;border-radius:12px;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.35)}.erp-modal-head,.erp-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid #dbe3ec}.erp-modal-foot{border-top:1px solid #dbe3ec;border-bottom:0;justify-content:flex-end}.erp-modal-body{padding:13px}.column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.column-grid label{border:1px solid #dbe3ec;border-radius:7px;padding:7px;background:#fff}
@media(max-width:900px){.cost-concept-grid{grid-template-columns:1fr 1fr}.qty-mode-group{grid-template-columns:1fr}.column-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cost-concept-grid{grid-template-columns:1fr}.searchable-select-menu{position:fixed;left:8px;right:8px;top:auto;bottom:8px;max-height:45vh}}

/* v2.6 professional operations rebuild */
.choice-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.choice-card{display:flex;gap:9px;align-items:flex-start;min-width:220px;flex:1;border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:#fbfdff;cursor:pointer}.choice-card:has(input:checked){border-color:#6b9bd6;background:#eef6ff;box-shadow:0 0 0 1px rgba(29,78,216,.08)}.choice-card input{margin-top:3px}.choice-card span,.choice-card strong,.choice-card small{display:block}.choice-card small{margin-top:3px;color:var(--muted);line-height:1.35}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.number-entry{font-variant-numeric:tabular-nums;text-align:right}.readonly-display{min-height:38px;display:flex;align-items:center;background:#f8fafc;color:#334155;font-variant-numeric:tabular-nums}.mobile-search-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.mobile-form-stack{display:grid;gap:12px}.erp-modal-card.wide{width:min(1180px,96vw)}
@media(max-width:800px){.compact-form-grid{grid-template-columns:1fr}.choice-row{display:grid;grid-template-columns:1fr 1fr}.choice-card{min-width:0}.mobile-search-actions{grid-template-columns:1fr}.erp-modal-card.wide{width:98vw}}
@media(max-width:520px){.choice-row{grid-template-columns:1fr}.choice-card{width:100%}.qty-mode-group{grid-template-columns:minmax(0,1fr) 88px}.column-grid{grid-template-columns:1fr}}

/* v2.8.1 workflow, purchasing and filter usability fixes */
.filter-panel{overflow:visible}
.dense-filters{display:grid;grid-template-columns:minmax(260px,2.2fr) repeat(3,minmax(145px,1fr)) repeat(2,minmax(135px,.85fr)) auto auto;align-items:end;gap:8px}
.dense-filters .field,.dense-filters .field.grow{min-width:0;max-width:none}
.dense-filters .multi-filter,.dense-filters .searchable-select{width:100%;max-width:none;min-width:0}
.dense-filters .multi-filter-panel{min-width:260px;max-width:min(420px,90vw)}
.dense-filters>.btn{white-space:nowrap}
.workflow-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.workflow-toolbar form{margin:0}
.workflow-toolbar .btn{min-width:118px}
.po-cost-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px;background:#f8fafc;border-top:1px solid var(--border)}
.po-cost-card{min-width:0;border:1px solid #dbe3ec;border-radius:10px;background:#fff;padding:11px 12px}
.po-cost-card>span{display:block;color:#64748b;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.po-cost-card>strong{display:block;margin-top:5px;color:#173b63;font-size:1.04rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.po-cost-card>small{display:block;margin-top:5px;color:#64748b;line-height:1.35}
.po-cost-card.highlight{border-color:#a9c7ef;background:#f4f8ff}
.po-cost-card.internal{border-color:#b9dfc7;background:#f5fcf7}
.receive-modal-table{max-height:54vh;overflow:auto}
.receive-modal-table .data-table{min-width:1180px}
.receive-modal-table .receive-qty{min-width:120px}
.erp-modal-body .field textarea.input,.modal-card textarea.input{min-height:90px}
@media(max-width:1450px){.dense-filters{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(140px,1fr));}.dense-filters>.field:nth-of-type(n+5){grid-row:auto}.po-cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.dense-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.dense-filters .field.grow{grid-column:1/-1}.dense-filters>.btn{width:100%}.workflow-toolbar .btn{min-width:0}}
@media(max-width:650px){.dense-filters{grid-template-columns:1fr}.dense-filters .field.grow{grid-column:auto}.po-cost-summary{grid-template-columns:1fr}.workflow-toolbar{display:grid;grid-template-columns:1fr 1fr}.workflow-toolbar form,.workflow-toolbar .btn{width:100%}}
@media(max-width:420px){.workflow-toolbar{grid-template-columns:1fr}}

/* v2.8.2 clean action surfaces ------------------------------------------------ */
.compact-page-head{align-items:flex-start;gap:14px;margin-bottom:12px}
.top-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.top-action-bar .btn{min-height:34px;padding:7px 11px;border-radius:8px;font-size:.78rem;font-weight:800}
.action-create{background:#155eef!important;border-color:#155eef!important;color:#fff!important}
.action-import{background:#eef8f2!important;border:1px solid #a9d9bb!important;color:#17683b!important}
.action-export{background:#fff7e8!important;border:1px solid #f0cf8c!important;color:#8a5a00!important}
.action-more{background:#f5f7fa!important;border:1px solid #d7dee8!important;color:#334155!important}
.action-menu{position:relative}.action-menu>summary{list-style:none;cursor:pointer}.action-menu>summary::-webkit-details-marker{display:none}
.action-menu-pop{position:absolute;z-index:1800;right:0;top:calc(100% + 6px);min-width:205px;background:#fff;border:1px solid #d8e0ea;border-radius:10px;padding:6px;box-shadow:0 18px 45px rgba(15,23,42,.18);display:grid;gap:2px}
.action-menu-pop a,.action-menu-pop button{display:block;width:100%;border:0;background:transparent;color:#24364d;padding:9px 10px;text-align:left;border-radius:7px;font:inherit;font-size:.79rem;cursor:pointer;text-decoration:none}
.action-menu-pop a:hover,.action-menu-pop button:hover{background:#f0f5fb;color:#124f9c}
.compact-panel>.toolbar,.compact-filter-bar{padding:10px 12px;margin:0;border-bottom:1px solid var(--border);background:#fbfcfe}
.compact-modal-table{max-height:62vh;overflow:auto}.compact-modal-table .data-table{min-width:980px}
.row-actions{display:flex;gap:5px;justify-content:flex-end;align-items:center}.row-actions form{margin:0}
/* Convert old master import/export strips into compact, less dominant surfaces. */
[data-master-bulk-tools]{padding:7px 9px!important;margin:0 0 10px!important;border:1px solid #e0e7ef!important;border-radius:9px!important;background:#fbfcfe!important}
[data-master-bulk-tools]>.actions{justify-content:flex-end;gap:6px!important}
[data-master-bulk-tools] .btn{min-height:32px;padding:6px 9px;font-size:.75rem}
/* Make dense filter rows scroll/stack rather than overlap at intermediate widths. */
.toolbar,.dense-filters{min-width:0}.toolbar .field,.dense-filters .field{min-width:0}.toolbar .input,.dense-filters .input{max-width:100%}
@media(max-width:1180px){.page-head{align-items:flex-start}.top-action-bar{width:100%;justify-content:flex-start}.action-menu-pop{left:0;right:auto}.dense-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.dense-filters .field.grow{grid-column:1/-1!important}}
@media(max-width:760px){.top-action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.top-action-bar>.btn,.top-action-bar>.action-menu,.top-action-bar>.action-menu>summary{width:100%}.dense-filters{grid-template-columns:1fr!important}.action-menu-pop{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0;max-height:55vh;overflow:auto}.page-head>div:first-child{min-width:0}.page-head h1{font-size:1.2rem}}
@media(max-width:440px){.top-action-bar{grid-template-columns:1fr}}

/* v2.8.3 PO planning table alignment + persistent picker selection */
.po-planning-wrap{overflow:auto;border-top:1px solid #e2e8f0}
.po-planning-table{table-layout:fixed;width:2010px;min-width:2010px}
.po-planning-table th,.po-planning-table td{vertical-align:middle}
.po-planning-table th{white-space:normal;line-height:1.2;overflow-wrap:normal;word-break:normal;text-align:left;z-index:2}
.po-planning-table td{overflow:hidden}
.po-planning-table .input{min-width:0;max-width:100%}
.po-planning-table .item-actions{justify-content:center;flex-wrap:nowrap}
.po-planning-table col.po-col-sn{width:52px}
.po-planning-table col.po-col-product{width:230px}
.po-planning-table col.po-col-ctn{width:76px}
.po-planning-table col.po-col-required{width:92px}
.po-planning-table col.po-col-soh{width:100px}
.po-planning-table col.po-col-committed{width:120px}
.po-planning-table col.po-col-available{width:100px}
.po-planning-table col.po-col-incoming{width:132px}
.po-planning-table col.po-col-suggested{width:98px}
.po-planning-table col.po-col-order{width:108px}
.po-planning-table col.po-col-by{width:92px}
.po-planning-table col.po-col-unitqty{width:98px}
.po-planning-table col.po-col-lastprice{width:132px}
.po-planning-table col.po-col-suppliercost{width:132px}
.po-planning-table col.po-col-finalcost{width:142px}
.po-planning-table col.po-col-remarks{width:190px}
.po-planning-table col.po-col-actions{width:116px}
#erpProductPicker .modal-summary{background:#f8fbff;border-bottom:1px solid var(--border)}
#erpProductPicker [data-result-count]{font-weight:800;color:#334155;white-space:nowrap}
#erpProductPicker .picker-check{width:17px;height:17px;accent-color:#1d5fd1}
@media(max-width:760px){.po-planning-table{width:2010px;min-width:2010px}}


/* v2.8.7 Staff Mobile touch-first UX --------------------------------------- */
[hidden]{display:none!important}
body.scanner-open{overflow:hidden;touch-action:none}
.scanner-overlay{position:fixed;inset:0;z-index:20000;background:#05080d;color:#fff;overflow:hidden}
.scanner-overlay .scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;border:0;border-radius:0}
.scanner-overlay:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.36);pointer-events:none}
.scanner-topbar{position:absolute;z-index:4;left:0;right:0;top:0;display:grid;grid-template-columns:56px 1fr 56px;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;text-align:center;background:linear-gradient(180deg,rgba(0,0,0,.66),transparent)}
.scanner-topbar strong{font-size:1.08rem;letter-spacing:.01em}.scanner-close{width:54px;height:54px;border:0;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer}
.scanner-target{position:absolute;z-index:3;left:50%;top:50%;width:min(78vw,560px);height:min(34vh,260px);transform:translate(-50%,-50%);border-radius:24px;box-shadow:0 0 0 9999px rgba(0,0,0,.24)}
.scanner-target i{position:absolute;width:58px;height:58px;border-color:#fff;border-style:solid}.scanner-target i:nth-child(1){left:0;top:0;border-width:6px 0 0 6px;border-radius:24px 0 0 0}.scanner-target i:nth-child(2){right:0;top:0;border-width:6px 6px 0 0;border-radius:0 24px 0 0}.scanner-target i:nth-child(3){left:0;bottom:0;border-width:0 0 6px 6px;border-radius:0 0 0 24px}.scanner-target i:nth-child(4){right:0;bottom:0;border-width:0 6px 6px 0;border-radius:0 0 24px 0}
.scanner-instruction{position:absolute;z-index:4;left:14px;right:14px;bottom:calc(26px + env(safe-area-inset-bottom));padding:15px 18px;border-radius:16px;background:rgba(0,0,0,.68);text-align:center;font-size:1.05rem;font-weight:750}

.mobile-product-toolbar{padding:10px;background:#f8fbff;border-bottom:1px solid var(--border)}
.mobile-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mobile-touch-action{min-width:0;min-height:64px;border:1px solid #d4dfec;border-radius:14px;background:#fff;color:#21324a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 5px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.mobile-touch-action:active{transform:scale(.97);background:#eef5ff}.mobile-action-icon{display:grid;place-items:center;width:27px;height:27px}.mobile-action-icon svg,.mobile-search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mobile-scan-action{background:#155eef;color:#fff;border-color:#155eef;box-shadow:0 6px 16px rgba(21,94,239,.22)}
.mobile-save-action{background:#178344;color:#fff;border-color:#178344;box-shadow:0 6px 16px rgba(23,131,68,.18)}
.mobile-unit-action{position:relative;gap:2px}.mobile-unit-action .mobile-unit-badge{font-size:.74rem;line-height:1;padding:5px 7px;border-radius:7px;background:#eaf1fb;color:#31577f}.mobile-unit-action select{width:100%;max-width:74px;border:0;background:transparent;color:inherit;font-size:.78rem;font-weight:850;text-align:center;text-align-last:center;outline:0;padding:0;cursor:pointer}
.mobile-search-box{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;margin-top:9px;border:1px solid #cbd7e5;border-radius:14px;background:#fff;padding:0 12px;min-height:50px}.mobile-search-box:focus-within{border-color:#4f83df;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.mobile-search-icon{display:grid;width:22px;height:22px;color:#63748c}.mobile-search-box .input{border:0;box-shadow:none!important;outline:0!important;padding:12px 0;min-height:48px;background:transparent}
.mobile-search-results{left:10px;right:10px;width:auto;top:100%;max-height:52vh;border-radius:14px;z-index:80}
.mobile-document-totals{border-top:1px solid var(--border);background:#fbfdff}

@media(max-width:800px){
  .mobile-workspace{margin:-4px -4px 0}.mobile-workspace .mobile-page-head{margin:0 4px 10px;align-items:center}.mobile-workspace .mobile-page-head h1{font-size:1.28rem}.mobile-workspace .mobile-page-head p{font-size:.82rem;line-height:1.4}.mobile-workspace .mobile-page-head>.btn{min-height:44px}
  .mobile-workspace .panel{border-radius:15px;margin-bottom:10px}.mobile-products-panel{overflow:visible}.mobile-product-toolbar{position:sticky;top:60px;z-index:30;border-radius:14px 14px 0 0;box-shadow:0 5px 18px rgba(15,23,42,.08)}
  .mobile-item-list{padding:8px;gap:8px}.mobile-line{border-radius:14px;padding:11px;box-shadow:0 2px 9px rgba(15,23,42,.05)}.mobile-line-head{grid-template-columns:66px minmax(0,1fr) 46px!important;gap:10px;align-items:center!important}.mobile-line-thumb{width:62px;height:62px;border-radius:12px}.mobile-line-title strong{font-size:.98rem;line-height:1.25}.mobile-line-title .barcode{font-size:.78rem}.mobile-line-head>.btn.danger{width:44px;height:44px;border-radius:12px;padding:0;font-size:1.15rem;align-self:start}
  .mobile-line-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.mobile-line-grid label{font-size:.72rem;font-weight:750}.mobile-line-grid .input,.mobile-line-grid select.input{min-height:48px;font-size:16px;border-radius:11px}.mobile-line-grid .readonly-display{min-height:48px}
  .mobile-product-result{grid-template-columns:64px minmax(0,1fr)!important;min-height:76px;padding:9px}.mobile-search-thumb{width:58px;height:58px}.mobile-result-main{min-height:58px}.mobile-result-main strong{font-size:.95rem;line-height:1.25}
  .mobile-home-screen .install-card{margin:0 4px 10px}.mobile-home-screen .mobile-cards{gap:10px}.mobile-home-screen .mobile-card{padding:17px;border-radius:15px;text-align:left;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px}.mobile-home-screen .mobile-card .icon{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:#eef5ff}.mobile-home-screen .mobile-card h2{margin:0}.mobile-home-screen .mobile-card p{margin:2px 0 0;min-height:0}.mobile-home-screen .mobile-card .btn{grid-column:3;grid-row:1/3;min-height:44px}
}
@media(max-width:430px){.mobile-touch-action{min-height:61px;font-size:.78rem}.mobile-action-icon{width:25px;height:25px}.mobile-line-grid{grid-template-columns:1fr 1fr}.mobile-home-screen .mobile-card{grid-template-columns:46px 1fr}.mobile-home-screen .mobile-card .btn{grid-column:1/-1;grid-row:auto}.scanner-target{width:82vw;height:30vh}.scanner-instruction{font-size:.96rem}}

/* v2.8.8 Mobile compact transaction entry ---------------------------------- */
@media(max-width:800px){
  .mobile-compact-entry-page{margin-top:-8px}
  .mobile-context-strip{display:flex;align-items:center;gap:8px;margin:0 4px 8px;position:sticky;top:56px;z-index:32;background:var(--bg);padding:6px 0}
  .mobile-context-button{min-width:0;flex:1;border:1px solid #d8e2ee;background:#fff;border-radius:12px;min-height:46px;padding:6px 10px;display:flex;align-items:center;gap:9px;text-align:left;color:#23364e;box-shadow:0 2px 8px rgba(15,23,42,.04);cursor:pointer}
  .mobile-context-button>span:last-child{min-width:0;display:grid;gap:1px}.mobile-context-button strong{font-size:.83rem}.mobile-context-button small{color:#6a7a8f;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-context-icon{width:28px;height:28px;border-radius:8px;background:#edf4ff;color:#225fc7;display:grid;place-items:center;font-weight:900}
  .mobile-back-button{min-height:46px;padding:7px 11px}
  .mobile-products-focus{border-radius:14px!important;margin:0 4px 8px!important;overflow:visible!important}
  .mobile-toolbar-compact{position:sticky!important;top:108px!important;padding:7px!important;border-radius:13px 13px 0 0!important;background:#fff!important}
  .mobile-primary-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .mobile-primary-action{min-width:0;height:50px;border:1px solid #d6e0ec;border-radius:11px;background:#fff;color:#24364c;display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 5px;font-size:.76rem;font-weight:850;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .mobile-primary-action:active{transform:scale(.97)}.mobile-primary-action.scan{background:#155eef;border-color:#155eef;color:#fff}.mobile-primary-action.save{background:#178344;border-color:#178344;color:#fff}.mobile-primary-action.add{background:#eef5ff;border-color:#bed4f5;color:#174f9d}
  .mobile-primary-icon{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px}.mobile-primary-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .mobile-item-list{padding:7px!important;gap:7px!important}.mobile-line.mobile-line-compact{padding:9px!important;border-radius:12px!important}
  .mobile-line-compact .mobile-line-head{grid-template-columns:52px minmax(0,1fr) 38px!important;gap:8px!important;align-items:start!important}.mobile-line-compact .mobile-line-thumb{width:48px!important;height:48px!important;border-radius:9px!important}.mobile-line-compact .mobile-line-head>.btn.danger{width:36px!important;height:36px!important;border-radius:9px!important;font-size:1rem!important}
  .mobile-line-compact .mobile-line-title{gap:1px!important}.mobile-line-compact .mobile-line-title strong{font-size:.9rem!important;line-height:1.17!important}.mobile-line-compact .mobile-line-title .barcode{font-size:.7rem!important;margin-top:1px!important}
  .mobile-product-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;color:#65758a;font-size:.7rem}.mobile-product-meta span{display:inline-flex;gap:3px;align-items:center}.mobile-product-meta b{color:#32465f;font-weight:800}
  .mobile-qty-unit-row{display:grid;grid-template-columns:minmax(90px,118px) minmax(86px,106px) minmax(0,1fr);gap:7px;align-items:end;margin-top:8px}.mobile-qty-unit-row>label{display:grid;gap:3px;font-size:.69rem;font-weight:750;color:#64748b}.mobile-qty-unit-row .input{min-height:40px!important;height:40px!important;padding:6px 8px!important;border-radius:9px!important;font-size:16px!important}.mobile-unit-select{padding-right:25px!important}
  .mobile-line-remarks{min-width:0;align-self:end}.mobile-line-remarks summary{list-style:none;cursor:pointer;height:40px;border:1px solid #d8e1ec;border-radius:9px;background:#f8fafc;color:#52647a;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 9px}.mobile-line-remarks summary::-webkit-details-marker{display:none}.mobile-line-remarks[open]{grid-column:1/-1}.mobile-line-remarks[open] summary{height:34px;justify-content:flex-start;margin-bottom:5px}.mobile-line-remarks .input{width:100%;height:40px!important}
  .mobile-empty-products{padding:32px 16px;text-align:center;color:#708096;display:grid;gap:4px}.mobile-empty-products strong{color:#41536a}.mobile-empty-products[hidden]{display:none!important}
  .mobile-entry-modal,.mobile-search-modal{align-items:flex-end!important;padding:0!important}.mobile-sheet-card{width:100%!important;max-width:none!important;max-height:92vh!important;border-radius:18px 18px 0 0!important;overflow:auto!important;margin:0!important}.mobile-sheet-card .modal-head{position:sticky;top:0;background:#fff;z-index:3}.mobile-sheet-card .icon-btn{display:grid!important;place-items:center!important}.mobile-modal-form{display:grid;gap:10px}.mobile-modal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-search-box-modal{margin:0!important}.mobile-search-results-modal{position:static!important;width:100%!important;max-height:58vh!important;margin-top:8px!important;box-shadow:none!important;border-radius:12px!important}
}
@media(max-width:380px){.mobile-primary-action{font-size:.7rem;gap:3px}.mobile-primary-icon{width:19px;height:19px;flex-basis:19px}.mobile-qty-unit-row{grid-template-columns:minmax(82px,1fr) minmax(78px,.9fr) minmax(80px,.9fr)}.mobile-modal-two-col{grid-template-columns:1fr}}

/* v2.8.9 Sidebar accordion ----------------------------------------------- */
.sidebar nav details[data-sidebar-section]>summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar nav details[data-sidebar-section]>summary::after{content:'›';font-size:1rem;line-height:1;opacity:.7;transition:transform .16s ease}
.sidebar nav details[data-sidebar-section][open]>summary::after{transform:rotate(90deg)}
.sidebar nav>a.active,.sidebar details div a.active{background:rgba(255,255,255,.14);color:#fff;font-weight:800}
.sidebar nav details[data-sidebar-section]:not([open])>div{display:none}

/* v2.9.2 report More Filters modal -----------------------------------------
   The shared multi-filter panel is absolutely positioned. This report-only
   card expands while a panel is open so the option list stays visible inside
   the dialog instead of being clipped by the modal scroll container. */
#reportFilterModal{
  align-items:start;
  justify-items:center;
  overflow-y:auto;
  padding:clamp(8px,3vh,22px) 12px;
}
#reportFilterModal .report-filter-modal-card{
  display:flex;
  flex-direction:column;
  width:min(760px,calc(100vw - 24px));
  max-height:none;
  overflow:visible;
  margin:0;
  transition:min-height .16s ease;
}
#reportFilterModal .report-filter-modal-card.filter-options-open{
  min-height:var(--report-filter-open-height,520px);
}
#reportFilterModal .report-filter-modal-body{
  flex:0 0 auto;
  align-content:start;
  overflow:visible;
}
#reportFilterModal .modal-actions{
  position:static;
  flex:0 0 auto;
  margin-top:auto;
  background:#fff;
  border-top:1px solid var(--border);
  border-radius:0 0 12px 12px;
}
#reportFilterModal .field,
#reportFilterModal .multi-filter{
  width:100%;
  min-width:0;
}
#reportFilterModal .multi-filter-panel{
  position:absolute;
  z-index:1300;
  width:max(100%,min(380px,calc(100vw - 40px)));
  max-width:min(420px,calc(100vw - 40px));
  max-height:none;
}
#reportFilterModal .multi-filter-options{
  max-height:min(260px,calc(100dvh - 260px));
  overflow-y:auto;
  overscroll-behavior:contain;
}
@media(max-width:800px){
  #reportFilterModal{padding:8px}
  #reportFilterModal .report-filter-modal-card{width:100%}
  #reportFilterModal .compact-modal-form{grid-template-columns:1fr}
  #reportFilterModal .compact-modal-form .span-2{grid-column:auto}
  #reportFilterModal .multi-filter-panel{
    position:absolute;
    left:0;
    right:auto;
    top:calc(100% + 5px);
    width:100%;
    max-width:100%;
    max-height:none;
  }
  #reportFilterModal .multi-filter-options{max-height:min(250px,calc(100dvh - 270px))}
}
@media(max-height:520px){
  #reportFilterModal .multi-filter-options{max-height:calc(100dvh - 250px)}
}
