:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#172c49;background:#f3f6fa;font-size:16px;--navy:#132541;--green:#147c66;--line:#dfe6ef}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #32bfa6;outline-offset:3px}.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#bdcbdc;display:flex;flex-direction:column;padding:28px 18px;position:fixed;width:232px;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 28px;color:white}.brand img{width:36px;height:36px}.brand strong{font-size:24px;letter-spacing:-1px}.brand small{display:block;font-size:12px;letter-spacing:1.6px;margin-top:2px;color:#aebed2}.nav{display:grid;gap:5px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:none;color:inherit;padding:13px 16px;border-radius:9px;font-size:14px;font-weight:600}.nav button.active{background:#27415d;color:#fff}.nav button:hover{background:#203650}.nav svg{width:19px;height:19px}.sidebar-foot{margin-top:auto;border-top:1px solid #34465f;padding:20px 12px 0;font-size:14px}.sidebar-foot span{display:block;font-size:12px;color:#91a6c0;margin-top:6px}.main{grid-column:2;min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:12px}.company-name{font-weight:650}.company-name small{display:block;color:#77869a;font-size:12px;margin-top:5px}.top-actions{display:flex;align-items:center;gap:14px}.badge{font-size:12px;padding:6px 10px;border-radius:5px;background:#eaf4f0;color:#17644f;white-space:nowrap}.badge.warn{background:#fff1d9;color:#8c601a}.avatar{background:#edf2f8;border-radius:50%;padding:11px;font-weight:600;font-size:13px}.workspace{max-width:1500px;margin:auto;padding:32px 36px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}h1{font-size:28px;font-weight:650;letter-spacing:-.7px;margin:0 0 7px}h2{font-size:18px;margin:0 0 16px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.6}p.muted{margin:0;color:#758499;font-size:14px}.btn{background:var(--green);color:white;border:0;padding:12px 18px;border-radius:7px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:white;color:#263e59;border:1px solid var(--line)}.btn.danger{background:#b42d40}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:10px}.metric{padding:23px}.metric small{font-size:14px;color:#6c7d93}.metric strong{display:block;font-size:27px;font-weight:650;margin:16px 0 10px;letter-spacing:-.6px}.metric span{font-size:12px;color:#748298}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.panel{padding:24px;min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-header h2{margin:0}.panel-header button{border:0;background:none;color:var(--green);font-size:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;color:#78869a;font-weight:600;padding:13px 12px;background:#f7f9fc;text-transform:uppercase;letter-spacing:.6px}td{padding:16px 12px;border-bottom:1px solid #edf1f6}td strong{font-weight:600}td small{display:block;color:#8290a3;font-size:12px;margin-top:5px}.right{text-align:right}.empty{padding:48px 20px;text-align:center;color:#758499}.empty strong{display:block;color:#314760;margin-bottom:8px;font-size:16px}.quick-actions{display:grid;gap:10px}.quick-actions button{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid var(--line);background:white;padding:15px;border-radius:8px;color:#203752}.quick-actions button span:first-child{background:#edf5f3;padding:12px;border-radius:8px;color:var(--green)}.quick-actions small{display:block;color:#8190a0;font-size:12px;margin-top:5px}.strip{background:#edf5f3;border:1px solid #d6e8e2;padding:16px 20px;border-radius:8px;margin-bottom:24px;font-size:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.strip.warning{background:#fff5df;border-color:#eddab0}.strip button{white-space:nowrap}.filter{display:flex;gap:12px;margin-bottom:22px}.filter input{max-width:440px}.field{display:grid;gap:7px;font-size:14px;margin-bottom:18px}.field label{font-weight:550}.field input,.field select,.field textarea,.filter input,input,select,textarea{border:1px solid #ccd6e3;border-radius:7px;padding:11px 12px;background:#fff;color:#1d344f;min-width:0}.field input:focus,.field select:focus,input:focus,select:focus,textarea:focus{outline:2px solid #4ab79d;outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}.footer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.line{display:grid;grid-template-columns:2fr 80px 100px 120px 32px;gap:8px;margin-bottom:12px;align-items:center}.line input,.line select{width:100%;font-size:14px}.line button{background:none;border:0;font-size:24px;color:#9c5865}.line small{font-size:12px}.line-details{grid-column:1/-1;margin-top:-5px}.line-details input{font-size:12px;width:100%}.totals{display:grid;gap:12px;padding:20px;background:#f6f9fc;border-radius:8px;margin:20px 0}.totals>div{display:flex;justify-content:space-between;font-size:14px}.totals .grand{font-size:21px;font-weight:650;border-top:1px solid var(--line);padding-top:15px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.pos-products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.product-tile{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;text-align:left;color:#213753}.product-tile b{display:block;font-size:14px;margin:10px 0}.product-tile small{display:block;font-size:12px;color:#7c8ca0}.product-tile strong{color:var(--green);font-size:16px}.product-tile:disabled{opacity:.5;cursor:default}.status{padding:5px 8px;border-radius:5px;font-size:12px;background:#edf4f0;color:#36745c}.status.credit{background:#fff1df;color:#a17429}.status.failed{background:#ffe8ec;color:#a73042}.journal{margin-bottom:25px}.journal h3{display:flex;justify-content:space-between;font-size:14px}.balance-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f6;font-size:14px}.balance-row.total{font-weight:700;font-size:17px}dialog{border:0;border-radius:12px;padding:28px;width:min(700px,95vw);max-height:90vh;box-shadow:0 24px 90px #13254144}dialog::backdrop{background:#13254177}dialog h2{margin-bottom:24px}.close{float:right;border:0;background:none;font-size:24px}.error{color:#ac2941;font-size:14px;line-height:1.5;margin:15px 0}#toast{position:fixed;bottom:25px;right:25px;z-index:50;background:#132541;color:white;padding:14px 20px;border-radius:9px;box-shadow:0 8px 30px #13254133;max-width:90vw;display:none}.login{max-width:480px;margin:60px auto;padding:32px}.loading{margin:60px;text-align:center}.invoice{background:white;padding:35px;max-width:850px;margin:auto}.invoice-head{display:flex;justify-content:space-between;border-bottom:2px solid #172c49;padding-bottom:20px}.invoice-head h1{font-size:24px}.invoice-meta{display:flex;justify-content:space-between;padding:24px 0;font-size:14px}.invoice .totals{max-width:360px;margin-left:auto}.invoice-note{font-size:12px;color:#61738a}.print-actions{display:flex;justify-content:flex-end;gap:12px;margin-bottom:20px}.mobile-brand{display:none}.tiny{font-size:12px;color:#7c8999}.gap{margin-top:20px}.skeleton{background:#e9eef4}.report-select{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.report-select .active{background:var(--navy);color:#fff}.setup-note{font-size:14px;padding:15px;background:#f5f8fc;border-radius:7px}.money{font-variant-numeric:tabular-nums}.negative{color:#ac2941}
.overview-summary{margin-top:28px}.overview-summary>.panel{width:100%}
.entry-row button{line-height:20px;height:22px}
.entry-table{max-height:448px}.entry-table th{position:sticky;top:0;z-index:1}
.mfa-qr{display:block;width:220px;max-width:100%;margin:16px auto}.mfa-secret{overflow-wrap:anywhere;font-size:14px;background:#f3f6fa;padding:12px;border-radius:7px;user-select:all}
.table-wrap{overscroll-behavior-x:contain}.table-wrap table{min-width:480px}.invoice .table-wrap table{min-width:0}.quick-actions svg{width:20px;height:20px}.heading{flex-wrap:wrap}.top-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.pos-products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.layout{display:block}.sidebar{width:100%;height:auto;position:sticky;top:0;z-index:10;padding:8px;background:#132541;display:block}.brand,.sidebar-foot{display:none}.nav{display:flex;overflow:auto;gap:3px}.nav button{padding:12px;font-size:12px;flex-direction:column;gap:5px;white-space:nowrap}.nav svg{width:18px}.topbar{height:74px;padding:0 18px}.workspace{padding:24px 16px}.top-actions{gap:8px}.avatar{display:none}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:22px}.heading{align-items:flex-start;gap:10px}.heading h1{font-size:24px}.heading .btn{padding:11px;font-size:12px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.line{grid-template-columns:1fr 65px 80px 80px 28px;gap:5px}.line input,.line select{padding:9px 5px;font-size:12px}.pos-products{grid-template-columns:repeat(2,1fr)}.strip{flex-direction:column;align-items:flex-start}.company-name{font-size:14px}.invoice{padding:18px}.invoice-head{gap:15px}.invoice-head h1{font-size:19px}.badge{font-size:11px}dialog{padding:20px}th,td{padding:12px 8px}}
@media print{@page{size:A4;margin:10mm}body{background:white}.sidebar,.topbar,.heading,.print-actions,#toast,dialog{display:none!important}.layout{display:block}.main{display:block}.workspace{padding:0;max-width:none}.invoice{padding:0;border:0;width:100%;max-width:none}.invoice table{font-size:11px}.invoice td,.invoice th{padding:8px}.invoice .totals{break-inside:avoid}body[data-paper="A5"] .invoice{max-width:128mm;font-size:12px}body[data-paper="A5"] .invoice h1{font-size:18px}.invoice-head,.invoice-meta{break-inside:avoid}}
@media(max-width:760px){.topbar{height:auto;min-height:88px;padding:14px 16px;align-items:flex-start}.company-name{flex:1;min-width:100px;overflow-wrap:anywhere}.top-actions{max-width:55%;gap:7px}.top-actions .btn{padding:9px 12px;font-size:12px}.filter input{width:100%}.login{margin:24px 12px;padding:24px}.balance-row{gap:12px}.print-actions{flex-wrap:wrap}.invoice-meta{gap:12px}.totals>div{gap:14px}.totals b{text-align:right}.metric strong{overflow-wrap:anywhere}.heading .btn{min-height:42px}}
@media print{.table-wrap{overflow:visible}.table-wrap table{min-width:0}.invoice td{overflow-wrap:anywhere}.invoice tr{break-inside:avoid}.invoice h1{overflow-wrap:anywhere}.invoice-head{gap:12px}}

/* Compact invoice and bill worksheets: 15 rows at desktop scale. */
.document-editor{padding:12px}.document-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.document-editor .field{margin:0;gap:3px;font-size:12px}.document-editor input,.document-editor select{padding:5px 8px;font-size:13px;border-radius:4px}.product-picker{display:flex;align-items:center;gap:12px;margin:8px 0;height:48px;min-width:0}.product-picker>input{width:250px;flex-shrink:0}.product-picker .pos-products{display:flex;overflow:auto;gap:6px;margin:0;min-width:0;flex:1}.product-picker .product-tile{padding:4px 8px;min-width:165px;white-space:nowrap}.product-picker .product-tile b{margin:1px 0;font-size:12px}.product-picker .product-tile small,.product-picker .product-tile strong{font-size:11px}.entry-table{overflow:auto;border:1px solid var(--line)}.entry-table table{table-layout:fixed;min-width:700px}.entry-table th,.entry-table td{padding:2px 5px;height:28px;font-size:12px}.entry-table th{height:26px}.entry-table th:nth-child(1){width:30px}.entry-table th:nth-child(3){width:76px}.entry-table th:nth-child(4){width:74px}.entry-table th:nth-child(5){width:100px}.entry-table th:nth-child(6){width:135px}.entry-table th:nth-child(7){width:30px}.entry-row input,.entry-row select{width:100%;padding:2px 4px;height:24px;font-size:12px}.entry-row button{background:none;border:0;font-size:20px;color:#9c5865;padding:0}.empty-entry{color:#9aa6b5}.empty-entry:nth-child(even){background:#fafbfd}.serial-detail summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.serial-detail input{margin-top:4px}.document-footer{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.3fr;gap:12px;align-items:end;margin-top:10px}.entry-total{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 12px}.entry-total small{font-size:12px}.entry-total strong{font-size:18px}.entry-total .btn{padding:7px 14px;flex-basis:100%}.bill-tools{display:flex;align-items:center;gap:12px;height:48px}.bill-tools .btn{padding:6px 12px}.statement-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:end;padding:12px;margin-bottom:14px}.statement-filters .field{margin:0}.text-link{border:0;background:none;color:var(--green);text-decoration:underline;padding:0;font:inherit}.statement{max-width:1100px}.statement td{font-size:12px}.statement th{font-size:11px}
@media(min-width:1101px){body:has(.document-editor) .topbar{height:58px}body:has(.document-editor) .workspace{padding:12px 20px}body:has(.document-editor) .heading{margin-bottom:10px;gap:8px}body:has(.document-editor) .heading h1{font-size:23px}body:has(.document-editor) .heading p{font-size:12px}body:has(.document-editor) .strip{padding:6px 12px;margin-bottom:10px}body:has(.document-editor) .strip .btn{padding:6px 12px}.document-editor .error:empty{margin:0}}
@media(max-width:760px){.document-fields{grid-template-columns:1fr 1fr}.document-fields>.field:first-child{grid-column:1/-1}.product-picker{flex-direction:column;height:auto;align-items:stretch}.product-picker>input{width:100%}.product-picker .pos-products{width:100%;flex:auto}.document-footer{grid-template-columns:1fr 1fr}.entry-total{justify-content:flex-start}.document-editor{padding:10px}.entry-table{max-height:480px}.statement-filters{grid-template-columns:1fr 1fr}.statement-filters>.field:first-child{grid-column:1/-1}.statement-filters .btn{min-height:44px}.statement .invoice-head{flex-wrap:wrap}}
@media print{.statement-filters,.text-link{border:0}.statement-filters,.workspace>.strip,#view>.strip,#view>.gap,.workspace>.warning,#view>p.gap{display:none!important}.statement{max-width:none}.statement .text-link{color:inherit;text-decoration:none}.statement td,.statement th{padding:5px 4px}.statement .setup-note{font-size:10px}}

.entry-table th,.entry-table td{line-height:18px}.entry-row button{line-height:20px;height:22px}.entry-row input,.entry-row select{height:22px}.serial-detail summary{line-height:18px}
@media(min-width:1101px){body:has(.document-editor) .heading h1{margin-bottom:2px;line-height:1.2}body:has(.document-editor) .heading p{line-height:1.3}body:has(.document-editor) .strip{font-size:12px;line-height:18px}body:has(.document-editor) .strip .btn{font-size:12px;line-height:16px;padding:4px 10px}.document-fields .field input,.document-fields .field select{height:28px}.document-fields .field label{line-height:16px}.document-editor .entry-row{height:28px}}

.contact-actions{display:flex;gap:6px;flex-wrap:wrap;max-width:340px}.contact-actions .btn{font-size:12px;padding:7px 10px}.contact-filters .field,.inventory-filters .field{margin:0;min-width:180px}.inventory-filters{align-items:end;flex-wrap:wrap}.inventory-filters>input{flex:1}.product-picker>.field{margin:0;min-width:145px;width:145px;flex-shrink:0}.product-picker>.field label{display:none}.product-picker>input{width:220px}.statement-filters:has([name="statementSide"]){grid-template-columns:1fr 1.3fr 1fr 1fr auto}
@media(max-width:760px){.contact-filters{flex-wrap:wrap}.contact-filters .field,.inventory-filters .field{width:100%}.product-picker>.field{width:100%}.statement-filters:has([name="statementSide"]){grid-template-columns:1fr 1fr}.statement-filters:has([name="statementSide"])>.field:first-child{grid-column:auto}}

.product-category-field{border:1px solid var(--line);border-radius:8px;padding:12px;margin:0 0 18px}.product-category-field legend{font-size:14px;font-weight:600}.category-checks{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.category-checks label{font-size:13px;display:flex;align-items:center;gap:6px}.category-checks input{width:16px;height:16px;padding:0}.product-category-field .field{margin-bottom:0}

@media(max-width:1100px){.product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.product-picker>.field{width:100%;min-width:0}.product-picker>input,.product-picker>.pos-products{grid-column:1/-1;width:100%;min-width:0}}

#product-lookup{width:min(760px,calc(100vw - 24px));max-height:85vh;padding:24px}#lookup-search{width:100%;margin:8px 0}.lookup-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:12px 0}.lookup-list{max-height:55vh;overflow:auto}.lookup-item{padding:14px 0;border-top:1px solid var(--line)}.lookup-item small{display:block;margin-top:4px}.lookup-values{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0}.lookup-values span{font-size:12px;min-width:140px}.lookup-values b{display:block;font-size:15px;margin-top:3px}@media(max-width:500px){#product-lookup{padding:16px}.lookup-values{gap:12px}.lookup-values span{min-width:120px}}

#workflow-items input{min-width:75px;width:100%}#workflow-products{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}@media print{body.printing-workflow #app,body.printing-workflow #toast{display:none!important}body.printing-workflow #modal{display:block!important;position:static!important;width:100%;max-width:none;max-height:none;border:0}body.printing-workflow #modal>*:not(#dialog-form),body.printing-workflow #dialog-form>*:not(#workflow-paper){display:none!important}}

@media(min-width:1101px){#bill-form .document-fields{grid-template-columns:1.5fr 1fr 1fr 1.5fr}#bill-form .document-fields label{font-size:11px}}

.item-history{font-size:11px;padding:2px 5px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--navy);float:right}.entry-row .serial-detail{display:inline-block;max-width:calc(100% - 52px);vertical-align:middle}.serial-detail summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#product-history{width:min(1000px,calc(100vw - 24px));max-height:85dvh;overflow:auto}
@media(max-width:760px){.main,.workspace,#view,.panel,.grid>*{min-width:0}.topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;height:auto!important}.top-actions{justify-content:flex-start;width:100%;gap:8px;flex-wrap:wrap}.company-name{overflow-wrap:anywhere}.workspace{padding:16px 12px}.heading{align-items:flex-start;gap:10px}.heading>div,.heading p{min-width:0;overflow-wrap:anywhere}.report-tabs{display:flex;flex-wrap:wrap;gap:6px}.report-tabs button{white-space:normal}.document-fields,.document-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.document-fields input,.document-fields select,.document-footer input,.document-footer select{width:100%;min-width:0}.document-footer .entry-total{grid-column:1/-1}.product-picker{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.product-picker>.field,.product-picker>input{width:100%;min-width:0}.product-picker .pos-products{grid-column:1/-1}.table-wrap,.entry-table{max-width:100%;overflow-x:auto}.table-wrap td{overflow-wrap:anywhere}.lookup-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lookup-values span{min-width:0}.lookup-status{flex-wrap:wrap}dialog{box-sizing:border-box;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:85dvh;margin:auto;padding:16px;overflow:auto}dialog h2{padding-right:28px;overflow-wrap:anywhere}dialog input,dialog select{max-width:100%;box-sizing:border-box}dialog .table-wrap table{min-width:560px}#product-history,#product-lookup{max-height:85dvh}.contact-filters>.field,.inventory-filters>.field{min-width:0;flex:1 1 140px}.print-actions{display:flex;gap:8px;flex-wrap:wrap}button.btn{min-height:36px}}
@media(max-width:380px){.document-fields,.document-footer{grid-template-columns:1fr}.lookup-values{grid-template-columns:1fr 1fr}.heading h1{font-size:23px}}
.usage-providers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.usage-provider{min-width:0;overflow-wrap:anywhere}.usage-metrics{display:grid;gap:12px}.usage-metric{border:1px solid var(--line);border-radius:7px;padding:14px;min-width:0}.usage-metric>strong{font-size:14px}.usage-metric>small{display:block;font-size:12px;color:#7c8999;margin-top:5px}.usage-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0}.usage-values>div{min-width:0}.usage-values dt{font-size:11px;color:#78869a}.usage-values dd{font-size:13px;margin:5px 0 0;overflow-wrap:anywhere}.owner-panel table{min-width:0;table-layout:fixed}.owner-panel td,.owner-panel th{overflow-wrap:anywhere}.owner-panel>.btn{margin-bottom:8px}
@media(max-width:1100px){.usage-providers{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.panel-header,.footer-actions,.invoice-head,.invoice-meta,.balance-row{flex-wrap:wrap;gap:10px}.panel-header>*{min-width:0}.panel p,.balance-row span,.balance-row b,.invoice-head>div,.invoice-meta>div{overflow-wrap:anywhere;min-width:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}fieldset{min-width:0}.footer-actions .btn{max-width:100%;white-space:normal}.usage-metric{padding:12px}.usage-values{gap:6px}.usage-values dd{font-size:12px}.owner-panel th,.owner-panel td{padding:12px 8px}}
