:root{font-family:Segoe UI,Arial,sans-serif;color:#17263d;background:#f0f4f9;font-size:16px;--nav:#10253e;--blue:#1756d0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--blue);color:white;border:0;border-radius:7px;padding:11px 15px;font-weight:600}button.secondary{background:#e9eff8;color:#17365d}button.danger{background:#a83333}button:disabled{opacity:.45;cursor:wait}input,select,textarea{border:1px solid #c8d3e1;border-radius:6px;padding:10px;background:white;min-width:0;color:#17263d}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}aside{position:fixed;width:220px;inset:0 auto 0 0;background:var(--nav);color:#dbe5f3;padding:26px 18px;display:flex;flex-direction:column;gap:7px}aside .brand{font-size:25px;color:white;font-weight:750;padding:0 12px 20px}aside button{background:none;text-align:left;color:#c4d3e7;font-size:15px;padding:12px}aside button.active{background:#284363;color:white}aside small{margin-top:auto;padding:12px;line-height:1.6;color:#a8bdd5}main{margin-left:220px;padding:28px 32px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}h1{margin:0 0 6px;font-size:28px}h2{font-size:20px;margin:0 0 18px}h3{margin:0 0 12px;font-size:17px}p{line-height:1.6}.muted{color:#64748b;font-size:14px}.badge{display:inline-block;border-radius:5px;padding:5px 9px;background:#e0ebfd;color:#204a89;font-size:13px}.card{background:white;border:1px solid #dbe3ed;border-radius:11px;padding:22px;margin-bottom:20px;box-shadow:0 2px 4px #10253e04}.grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{display:block;font-size:26px;margin:12px 0 4px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.row label{flex:1;min-width:140px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:13px;color:#60718b;background:#f7f9fc;padding:12px;border-bottom:1px solid #dbe3ed;white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #edf1f6;font-size:14px}td input{width:95px}td button{padding:7px 10px;font-size:13px}.right{text-align:right}.pos{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,1fr);gap:20px}.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.product{border:1px solid #dce4ef;border-radius:8px;padding:15px}.product .row{margin-top:12px}.product button{font-size:13px;padding:7px 10px}.total{font-size:32px;font-weight:750;color:#123863}.notice{padding:12px 16px;background:#fff4d9;border:1px solid #efdbab;border-radius:7px;font-size:14px;margin-bottom:20px;line-height:1.5}.login{max-width:440px;margin:10vh auto;padding:30px}.login label{margin:18px 0}.login button{width:100%}.dialog-overlay{position:fixed;inset:0;background:#10253e88;display:grid;place-items:center;padding:20px;z-index:20}.dialog{max-width:850px;width:100%;max-height:90vh;overflow:auto;background:white;border-radius:12px;padding:25px}.dialog label{margin-bottom:14px}#toast{position:fixed;bottom:25px;right:25px;background:#10253e;color:white;padding:14px 20px;border-radius:8px;display:none;z-index:50;max-width:500px}.unit-editor{padding:15px;background:#f4f7fb;border:1px solid #d9e2ef;border-radius:8px;margin-bottom:12px}.error{color:#ac3030}.receipt{max-width:400px;margin:auto}.receipt hr{border:0;border-top:1px dashed #999}.spacer{height:15px}a{color:#1756d0}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos{grid-template-columns:1fr}}@media(max-width:700px){aside{position:static;width:auto;flex-direction:row;flex-wrap:wrap;padding:12px}aside .brand{font-size:20px;padding:8px}aside small{display:none}aside button{padding:8px;font-size:13px}main{margin:0;padding:18px}.grid.two,.product-list{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}}@media print{aside,header,.no-print,#toast,.dialog-overlay{display:none!important}main{margin:0;padding:0}.print-only{display:block!important}body{background:white}.receipt{font-size:12px;max-width:72mm}.receipt table td{font-size:11px;padding:6px}.receipt h2{text-align:center}}

.receipt{width:72mm;max-width:100%;font-family:Calibri,Arial,sans-serif;font-size:8pt;color:#000;font-weight:400;line-height:1.2}.receipt h2{font-family:inherit;font-size:8pt;font-weight:400;text-align:center}.receipt p{line-height:1.2}.receipt-item{margin:0 0 2mm;break-inside:avoid}.receipt-name{font-weight:400;overflow-wrap:anywhere}.receipt-detail{display:flex;justify-content:space-between;align-items:baseline;gap:1mm}.receipt-detail span{min-width:0;overflow-wrap:anywhere}.receipt-detail strong{font-weight:700;white-space:nowrap;text-align:right;flex-shrink:0}
@media print{.receipt{font-family:Calibri,Arial,sans-serif;font-size:8pt;width:72mm;max-width:72mm;margin:0 auto}.receipt h2{font-size:8pt;font-weight:400}body:has(#print-receipt)>:not(#print-receipt){display:none!important}}

.live-search{position:relative;min-width:0;width:100%}.live-search>input{width:100%}.live-search-menu{position:absolute;left:0;right:0;top:100%;z-index:60;max-height:220px;overflow:auto;background:white;border:1px solid #c8d3e1;border-radius:6px;box-shadow:0 5px 14px #10253e22}.live-search-menu[hidden]{display:none}.live-search-menu button{display:block;width:100%;text-align:left;background:white;color:#17263d;font-weight:400;border-radius:0;padding:9px 12px}.live-search-menu button:hover,.live-search-menu button.focused{background:#e9eff8}.live-search-menu p{padding:8px 12px;font-size:13px}

.label-results{max-height:230px;overflow:auto;margin:12px 0}.label-results>.row{justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}.label-preview{display:flex;flex-wrap:wrap;gap:8px;background:#eee;padding:10px;max-height:300px;overflow:auto}

aside{overflow-y:auto}.nav-group>button{width:100%;display:flex;justify-content:space-between}.nav-children{padding-left:12px;border-left:1px solid #47617e;margin:4px 0 6px 12px}.nav-children button{display:block;width:100%;font-size:13px;padding:9px 8px}.label-preview iframe{width:100%;height:310px;border:0}
.brand{position:relative}.brand-mode{font-size:18px;color:#b8c9df}.mode-switch{display:inline-block;background:#ffffff14;color:#dbe5f3;border:1px solid #ffffff22;padding:5px 8px;margin-left:4px;border-radius:8px;font-size:14px}.mode-menu{position:absolute;left:12px;top:52px;z-index:30;background:white;color:#17263d;border:1px solid #dbe3ed;border-radius:10px;box-shadow:0 14px 35px #10253e33;min-width:145px;padding:6px}.mode-menu button{display:block;width:100%;background:white;color:#17263d;text-align:left;padding:9px 10px;border-radius:7px}.mode-menu button:disabled{opacity:.45;cursor:not-allowed}.mode-menu button:hover:not(:disabled){background:#eef5f3}.mode-menu-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.mode-menu-inline button{background:#ffffff14;border:1px solid #ffffff22;color:#e9f0fa;text-align:center;padding:8px 6px;border-radius:8px;font-size:12px}.mode-menu-inline button:hover{background:#2f557a;color:white}

.permission{flex-direction:row;align-items:center;font-weight:400;margin:8px 0}.permission input{width:auto}fieldset{border:1px solid #dbe3ed;border-radius:8px;margin:12px 0}

.receipt p{overflow-wrap:anywhere}.receipt table th,.receipt table td{font-size:8pt;padding:4px 2px}@media print{.receipt table th,.receipt table td{font-size:8pt;padding:4px 2px}}

.purchase-unit-single{appearance:none;-webkit-appearance:none;background-image:none}

.table-heading{padding:0;background:transparent;color:inherit;font-size:inherit;text-align:left;display:inline-flex;gap:6px;align-items:center}.table-heading span{color:#1756d0}.product-shortcut{background:transparent;color:#1756d0;padding:3px 0;text-align:left;text-decoration:underline;font-size:inherit;font-weight:400}.product-shortcut:hover{text-decoration:none}@media print{.table-heading{color:#000}.table-heading span{display:none}}

.profile-caption{background:transparent;color:#64748b;font-size:11px;font-weight:400;padding:2px 0;text-decoration:underline}

/* Unified compact thermal receipts; choose 80 mm paper in printer settings. */
.receipt{width:72mm;max-width:100%;margin:0 auto;padding:0;font:400 10pt/1.15 Calibri,Arial,sans-serif;text-align:justify;text-justify:inter-word}.receipt p{margin:1mm 0;line-height:1.15}.receipt h2,.receipt h3{font:400 10pt/1.15 Calibri,Arial,sans-serif;margin:0 0 1mm;text-align:center}.receipt hr{margin:1mm 0}.receipt-item{margin-bottom:1mm}.receipt-detail{width:100%;gap:1mm}.receipt-detail> :last-child{text-align:right;white-space:nowrap}.print-stamp{text-align:center;font-weight:400;margin:0 0 1mm}.receipt table{table-layout:fixed}.receipt table th,.receipt table td{background:white;color:black;font:400 10pt/1.15 Calibri,Arial,sans-serif;padding:1mm .5mm;overflow-wrap:anywhere;white-space:normal}.receipt table th:last-child,.receipt table td:last-child{text-align:right}
@media print{@page{size:auto;margin:0}html,body{margin:0!important;padding:0!important}.receipt{width:72mm;max-width:72mm;padding:0;margin:0 auto;font:400 10pt/1.15 Calibri,Arial,sans-serif}.receipt p{margin:1mm 0;line-height:1.15}.receipt h2,.receipt h3{font-size:10pt;margin:0 0 1mm}}

.receipt .print-stamp{font-family:Calibri,Arial,sans-serif;font-size:16pt;line-height:1.1;text-align:left;font-weight:400;margin:0 0 1mm}@media print{.receipt .print-stamp{font-size:16pt;text-align:left}}
.spark{width:140px;height:35px;display:block;color:#1756d0}.up{color:#16803c}.down{color:#b52828}#v9-page label input[type=checkbox]{width:auto}#pick-list{max-height:50vh;overflow:auto}#pick-list label{flex-direction:row;padding:7px}#v9-page form{margin-bottom:18px}#v9-count input{font-size:20px}#v9-page .table-wrap{max-height:65vh}#v9-print-report{display:none}@media print{body:has(#v9-print-report)>:not(#v9-print-report){display:none!important}#v9-print-report{display:block!important;font:10pt Calibri,Arial,sans-serif}body:has(#v9-print-report){margin:10mm!important}#v9-print-report table{width:100%}#v9-print-report td{padding:3mm;font-size:9pt}#v9-print-report thead{display:table-header-group}}@media(max-width:700px){.dialog{padding:15px;width:100%}.dialog .row label{min-width:100%;width:100%}#v9-page .row label{min-width:45%}#v9-count button{width:100%;margin-top:12px}}
@media print{@page v9report{size:A4 portrait;margin:10mm}#v9-print-report{page:v9report}}

/* Account controls stay in the upper-right corner. */
main>header{align-items:flex-start}main>header .account-actions{margin-left:auto;justify-content:flex-end}@media(max-width:700px){main>header{flex-direction:row;flex-wrap:wrap}main>header .account-actions{align-self:flex-start;gap:6px}main>header .account-actions button{padding:8px 10px}}

#v9-assign label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:10px}#v9-assign input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}#v9-assign .op-select-all{border-bottom:1px solid #dbe3ed;padding-bottom:12px}

#v9-assign .op-assign-list{max-height:42vh;overflow-y:auto;border:1px solid #dbe3ed;border-radius:6px;margin:8px 0 12px;padding:4px 8px}#v9-assign .op-assign-list label{margin:0;padding:5px 2px;min-height:30px;font-size:13px;font-weight:400;line-height:1.3;border-bottom:1px solid #edf1f6}#v9-assign .op-assign-list label:last-child{border-bottom:0}#v9-assign .op-select-all{margin:8px 0;padding:6px 2px;font-size:13px}#v9-assign input[type=checkbox]{margin:0;width:16px;height:16px;flex-basis:16px}

#v9-page table:has([data-select]) th:first-child,#v9-page table:has([data-select]) td:first-child{width:40px;max-width:40px;padding:8px;text-align:center}#v9-page [data-select]{width:16px;height:16px}#final-table input{width:100%;min-width:85px}#final-table td:last-child{min-width:180px}.dialog:has(#op-item-table),.dialog:has(#v9-final){max-width:1050px}.dialog:has(#op-item-table) td,.dialog:has(#v9-final) td{padding:7px 9px;font-size:13px}.op-actions{margin-top:16px}

[hidden]{display:none!important}.filter-picker{margin:12px 0}.filter-picker summary{cursor:pointer;display:inline-block;padding:9px 15px;border:1px solid #cbd5e1;border-radius:8px;font-weight:600;background:#fff}.filter-options{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;margin-top:6px}.filter-options label{display:flex;align-items:center;gap:6px}.filter-options input[type=checkbox]{width:16px;height:16px;margin:0}

.role-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.role-permissions .permission{font-size:13px;line-height:1.4}.dialog:has(#roles-save){max-width:1050px}@media(max-width:650px){.role-permissions{grid-template-columns:1fr}}

#v11-page .table-wrap{max-height:65vh;overflow:auto}#v11-page th{position:sticky;top:0;background:#f6f8fc}.v11-qty{width:110px}#v11-picker{max-height:35vh;overflow:auto}#v11-editor-lines{max-height:45vh;overflow:auto}#v11-picker td:first-child{width:32px}#v11-editor select.single-unit{appearance:none}#v11-editor td{padding:5px 7px}#v11-editor-lines input{padding:6px}
/* Automatic customer price history: no modal, no focus stealing. */
.sales-price-history:empty{display:none}
.sales-price-history{max-height:180px;overflow:auto;border-left:3px solid #2563eb;font-size:13px}
.sales-price-history p{margin:5px 0}
#sales-page [data-list] table{min-width:600px}
#sales-editor [data-lines] input{max-width:140px}

/* ERP readability pass: slightly larger text and more legible controls. */
:root{font-size:17px}
label{font-size:16px;line-height:1.35}
.muted{font-size:15px}
.badge{font-size:14px}
aside button{font-size:16px}
.nav-children button{font-size:15px}
aside small{font-size:13px}
th{font-size:14px}
td{font-size:15px;line-height:1.4}
td button{font-size:14px}
button{font-size:16px}
input,select,textarea{font-size:16px}
.profile-caption{font-size:13px}
@media(max-width:700px){aside button{font-size:15px}.nav-children button{font-size:14px}}

.notification-list{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:38px 1fr;gap:12px;text-align:left;background:#f7faff;color:#16304c;border:1px solid #dce6f2;border-radius:14px;padding:16px;width:100%}.notification-card strong{display:block;font-size:17px}.notification-card small{display:block;color:#62748a;margin:6px 0}.notification-icon{width:34px;height:34px;border-radius:10px;background:#e0ecfb;display:grid;place-items:center;font-weight:bold}.notification-go{font-size:14px;color:#176958}.notification-card.is-read{background:#fff}.piutang-tabs{margin:12px 0}.piutang-tabs .active{box-shadow:0 2px 7px #1232}

.dialog{position:relative}.dialog-close{position:absolute;right:14px;top:12px;background:#fff1f2;color:#dc2626;border:1px solid #fecaca;border-radius:9px;font-size:28px;line-height:1;width:38px;height:38px;padding:0}.dialog>.row:first-child{padding-right:46px}.payment-history{margin:12px 0}.payment-history summary{cursor:pointer;font-weight:600;color:#176b72}

@media print{.receipt{font-size:11pt}.receipt h2,.receipt h3{font-size:14pt}.receipt table th,.receipt table td{font-size:9pt}.receipt .note-code svg{width:72mm;max-width:100%}}

/* Alternating data rows remain separate from print layouts. */
@media screen {
 table>tbody>tr:nth-child(odd)>td{background:#ffffff}
 table>tbody>tr:nth-child(even)>td{background:#edf3f9}
 table>tbody>tr:hover>td,table>tbody>tr:focus-within>td{background:#e2edf7}
 table>tbody>tr:has(input[type=checkbox]:checked)>td{background:#e0f0ea}
 .op-assign-list>label:nth-child(even),.label-results>.row:nth-child(even),#pick-list>label:nth-of-type(even),#assign-list>label:nth-of-type(even){background:#edf3f9}
 .op-assign-list>label,.label-results>.row,#pick-list>label,#assign-list>label{padding:10px;border-radius:5px}
}
.inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.inventory-heading h2{margin:5px 0 8px}.inventory-heading p{margin:0;max-width:740px;color:#63748a;line-height:1.55;font-size:15px}.inventory-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#617b96}.inventory-scope{display:inline-block;background:#eaf0f8;color:#28496d;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600}.inventory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.inventory-metrics>div{padding:16px 18px;border:1px solid #dce5ee;border-radius:12px;background:#f8fafc}.inventory-metrics span{display:block;font-size:14px;color:#59708b}.inventory-metrics strong{display:block;font-size:27px;line-height:1.4;color:#183c62;font-variant-numeric:tabular-nums}.inventory-metrics small{font-size:12px;color:#6c7f90}.inventory-period{font-size:14px;color:#5d7187;line-height:1.65}.inventory-qty{font-size:17px;font-variant-numeric:tabular-nums}.is-negative,.inventory-metrics strong.is-negative{color:#b32634!important}.is-empty{color:#917014}.stock-card-link{background:transparent;color:#214e78;border:1px solid #c9d8e8;padding:6px 13px!important;border-radius:7px}.stock-card-link:hover{background:#ddebf8}.stock-note-link{font-variant-numeric:tabular-nums;text-align:left;background:transparent;color:#1b527e;text-decoration:underline;text-underline-offset:3px;word-break:break-all;padding:3px!important}.stock-condition{display:block;width:fit-content;padding:5px 8px;border-radius:6px;font-size:13px;margin:3px 0;line-height:1.4}.stock-condition.danger{color:#98262f;background:#fbe3e5}.stock-condition.warning{color:#7d570e;background:#fff0cc}.stock-condition.neutral{color:#496278;background:#e7edf4}.inventory-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inventory-empty{padding:35px;text-align:center;background:#f6f9fc;border:1px dashed #c8d6e5;border-radius:12px;color:#61758b}.inventory-pager{justify-content:flex-end;margin:18px 0 0}.inventory-pager span{font-size:14px;color:#5d7187}#card-options{display:flex;flex-direction:column;max-height:280px;overflow:auto;margin:10px 0}#card-options button{text-align:left;color:#23405d;background:#f4f8fc;border:1px solid #dae4ee;margin:3px 0}#card-options button small{display:block;margin-top:4px;color:#63758b}#card-options button.focused,#card-options button:hover{background:#dfeaf7}#v9-page thead th{position:sticky;top:0;z-index:1}#v9-page td{font-size:15px;line-height:1.55}#v9-page td small{color:#64768c;font-size:12px}#v9-results>.table-wrap{margin-top:15px}#card-period{margin:18px 0}#card-detail h3{font-size:22px}#v9-filter{padding:14px;background:#f5f8fc;border:1px solid #e1e8f1;border-radius:10px}#v9-page .product-shortcut{font-size:15px;text-align:left}.inventory-metrics strong.is-negative{color:#b32634}
@media(max-width:1000px){.inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-heading{align-items:start;flex-direction:column}}@media(max-width:500px){.inventory-metrics>div{padding:12px}.inventory-metrics strong{font-size:23px}}
#v9-page th{white-space:normal;line-height:1.4}#v9-results:has([data-select]) table{table-layout:fixed;min-width:980px}#v9-results:has([data-select]) th:nth-child(1){width:45px}#v9-results:has([data-select]) th:nth-child(2){width:180px}#v9-results:has([data-select]) th:nth-child(3){width:160px}#v9-results:has([data-select]) th:nth-child(4){width:160px}#v9-results:has([data-select]) th:nth-child(5){width:240px}#v9-results:has([data-select]) th:nth-child(6){width:180px}table td input[type=checkbox]{width:18px;height:18px;padding:0;vertical-align:middle}.stock-card-link{display:inline-block;min-width:58px}#v9-page button{display:inline-block;min-height:38px}#v9-page .table-heading{min-height:0}.inventory-pager button{min-width:110px}#card-detail table{min-width:800px}
#v9-page .table-heading{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
