:root{--navy:#071a2b;--ink:#111923;--muted:#788390;--line:#e9edf1;--bg:#f7f8fa;--yellow:#f5c518;--green:#18845b;--red:#c64d43}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#fff;padding:25px 15px 16px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 35px}.brand-mark{height:29px;width:29px;border:1px solid #f5c518;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:2px}.brand-mark i{height:15px;width:2px;background:#f5c518}.brand-mark i:nth-child(2){height:20px}.brand b{display:block;font:800 14px Manrope,Arial,sans-serif;letter-spacing:2px}.brand span{font-size:9px;color:#8f9cab;letter-spacing:2.2px}.workspace-label{font-size:9px;letter-spacing:1.3px;color:#778493;padding:0 12px 11px;font-weight:700}.sidebar nav{display:grid;gap:5px}.nav{border:0;background:transparent;color:#aeb8c4;width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:11px 13px;border-radius:7px;font:500 13px 'DM Sans',Arial,sans-serif;cursor:pointer}.nav span{width:17px;font-size:16px;text-align:center}.nav:hover{background:#ffffff0d;color:white}.nav.active{background:#ffffff14;color:white}.nav.active:before{content:'';position:absolute;left:0;width:3px;height:36px;background:var(--yellow);border-radius:0 3px 3px 0}.sidebar-bottom{margin-top:auto}.warehouse{display:flex;align-items:center;gap:10px;padding:12px 10px;border-bottom:1px solid #ffffff18;margin-bottom:11px}.warehouse-icon{width:30px;height:30px;border:1px solid #ffffff26;border-radius:6px;display:grid;place-items:center;color:var(--yellow)}.warehouse b,.user b{display:block;font-size:11px}.warehouse small,.user small{display:block;font-size:10px;color:#91a0ae;margin-top:3px}.online{width:6px;height:6px;background:#3fc38a;border-radius:50%;margin-left:auto}.user{display:flex;align-items:center;gap:9px;padding:8px 8px}.avatar,.top-avatar{width:29px;height:29px;background:#f5c518;color:#26303b;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.user>span{margin-left:auto;color:#9ba7b2}.build{font-size:8px;letter-spacing:1px;color:#778493;padding:12px 10px 0}.build span{float:right;color:#c3a329}.main{margin-left:244px;min-height:100vh}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.crumb{font-size:11px;color:#8a949e}.crumb span{margin:0 9px;color:#c7cdd3}.crumb b{color:#303a45;font-weight:600}.top-actions{display:flex;align-items:center;gap:20px}.date-chip{font-size:11px;color:#65717d;display:flex;gap:8px;align-items:center}.icon-btn{border:0;background:none;color:#596573;font-size:18px;position:relative}.icon-btn i{position:absolute;width:5px;height:5px;border-radius:50%;background:#edae36;top:2px;right:0}.top-avatar{width:28px;height:28px}.page{padding:34px 38px 50px;max-width:1600px;margin:auto}.hidden{display:none!important}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:9px;color:#9aa3ac;letter-spacing:1.4px;font-weight:700;margin-bottom:8px}h1{font:700 25px Manrope,Arial,sans-serif;margin:0;letter-spacing:-.5px}.page-heading p{color:#89939d;font-size:12px;margin:7px 0 0}.button{height:37px;border-radius:6px;padding:0 14px;border:1px solid var(--line);font:600 11px 'DM Sans',Arial,sans-serif;cursor:pointer}.primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 2px 4px #071a2b18}.primary:hover{background:#102b43}.button span{margin-left:5px}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:17px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:8px}.stat-card{padding:17px 18px 15px;min-height:113px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7e8994;font-size:11px}.stat-icon{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-size:14px}.stat-icon.navy{background:#edf1f5;color:#19334b}.stat-icon.yellow{background:#fff8df;color:#bd9913}.stat-icon.red{background:#fff0ee;color:#ca685f}.stat-icon.green{background:#eaf7f1;color:#32906b}.stat-card strong{display:block;font:700 24px Manrope,Arial,sans-serif;margin:8px 0 2px;letter-spacing:-.5px}.stat-card small{font-size:10px;color:#a1aab3}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:15px}.panel{overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:17px 18px 13px}.panel-head h2,.scan-panel h2{font:700 13px Manrope,Arial,sans-serif;margin:0}.panel-head p{margin:5px 0 0;color:#a0a9b1;font-size:10px}.text-button{border:0;background:none;color:#687580;font:600 10px 'DM Sans',Arial,sans-serif;cursor:pointer}.text-button span{color:#c2a21c;padding-left:4px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#a1a9b0;background:#fbfcfd;font-size:8px;letter-spacing:.7px;font-weight:700;padding:10px 14px;border-top:1px solid #f0f2f4;border-bottom:1px solid #f0f2f4}td{font-size:10px;color:#4e5964;padding:12px 14px;border-bottom:1px solid #f1f3f5}tbody tr:last-child td{border-bottom:0}.product-cell{display:flex;align-items:center;gap:9px;min-width:155px}.product-thumb{width:28px;height:28px;display:grid;place-items:center;background:#f2f4f6;color:#8f9ba6;border-radius:5px;font-size:13px}.product-cell b{font-size:10px;color:#26313c;font-weight:600}.muted{color:#929ca6}.stock-badge{font-size:9px;border-radius:12px;padding:4px 8px;background:#fff4e4;color:#b77a19}.stock-badge.ok{background:#eaf7f1;color:#2b8662}.stock-badge.critical{background:#fff0ee;color:#c54d43}.empty-row{text-align:center;padding:32px;color:#a2aab2}.activity-list{padding:1px 18px 9px}.activity{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #f0f2f4}.activity:last-child{border:0}.activity-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eaf7f1;color:#348967;font-size:12px;flex:none}.activity-icon.out{background:#fff3e8;color:#c48134}.activity b{display:block;font-size:10px;font-weight:600;color:#424d57}.activity p{margin:4px 0 0;color:#9ba4ac;font-size:9px}.activity time{font-size:8px;color:#aeb5bc;display:block;margin-top:5px}.note-bar{margin-top:15px;border:1px solid #f2e8bc;background:#fffdf4;border-radius:7px;padding:13px 16px;display:flex;align-items:center;gap:11px}.note-symbol{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#f8edc4;color:#9e8314;font:700 10px Georgia}.note-bar b{font-size:10px}.note-bar p{margin:4px 0 0;font-size:9px;color:#959087}.note-bar .text-button{margin-left:auto}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #f0f2f4;gap:12px}.search{height:34px;border:1px solid #e9edf0;border-radius:5px;display:flex;align-items:center;padding:0 10px;gap:8px;color:#9ba5ae;max-width:350px;flex:1}.search input{border:0;outline:0;min-width:0;flex:1;font:11px 'DM Sans',Arial,sans-serif;color:#34404b}.search input::placeholder{color:#aab2ba}.result-count{font-size:10px;color:#89949e}.table-foot{padding:11px 17px;border-top:1px solid #f1f3f5;font-size:9px;color:#a3abb3}.row-action{border:0;background:transparent;font-size:17px;color:#9da7af;cursor:pointer}.scanner-ready{font-size:10px;color:#398563;background:#edf8f2;padding:7px 11px;border-radius:20px}.scanner-ready i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#38a575;margin-right:6px}.scan-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.scan-panel{padding:35px 30px;text-align:center;min-height:290px}.scan-emblem{width:45px;height:45px;border:1px solid #ede2a8;background:#fff9dc;color:#b09624;border-radius:12px;margin:0 auto 16px;display:grid;place-items:center;font-size:23px}.scan-panel h2{font-size:15px}.scan-panel>p{font-size:11px;color:#99a2ab;margin:8px 0 21px}.scan-input{max-width:430px;margin:0 auto;height:42px}.scan-input input{font-size:12px}.scan-input kbd{font:9px 'DM Sans',Arial,sans-serif;color:#a0a9b2;border:1px solid #e9edf0;border-radius:3px;padding:3px 5px}.scan-button{margin-top:11px;width:min(430px,100%);height:39px}.scan-hint{font-size:9px;color:#a3abb3;margin-top:15px}.result-panel{min-height:290px;display:grid;place-items:center}.empty-result{text-align:center;color:#a1aab2}.empty-result div{font-size:25px;color:#c1c8ce;margin-bottom:12px}.empty-result b{display:block;font-size:11px;color:#737f89;font-weight:600}.empty-result span{display:block;font-size:9px;margin-top:6px}.result-card{width:100%;padding:20px}.result-card h2{font:700 16px Manrope,Arial,sans-serif;margin:0 0 7px}.result-meta{font-size:10px;color:#8c97a1}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.result-details div{background:#f8f9fa;padding:11px;border-radius:5px}.result-details small{display:block;color:#9da6ae;font-size:9px;margin-bottom:5px}.result-details b{font-size:12px}.toast{position:fixed;right:25px;bottom:25px;background:#132a3e;color:white;padding:12px 17px;border-radius:6px;box-shadow:0 8px 25px #071a2b30;font-size:11px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#071a2b70;z-index:5;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:9px;width:min(480px,100%);box-shadow:0 15px 50px #071a2b38}.modal-head{padding:19px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font:700 15px Manrope,Arial,sans-serif}.modal-close{border:0;background:none;color:#77838d;font-size:20px;cursor:pointer}.modal-body{padding:18px 21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#697580;font-weight:600}.field input,.field select,.filter-select{height:35px;border:1px solid #e3e8ec;border-radius:5px;padding:0 9px;font:11px 'DM Sans',Arial,sans-serif;outline-color:#a4b6c6;background:#fff;color:#34404b}.field input::placeholder{color:#afb7be}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 21px;border-top:1px solid var(--line)}.secondary{background:#fff;color:#697580}.no-data{padding:36px;text-align:center;color:#9ca6ae;font-size:11px}.qty-red{color:#c00000!important;font-weight:700!important;font-size:11px!important}.qty-cell{display:inline-flex;align-items:center;gap:7px}.verify-chip{display:inline-block;background:#fff0ee;color:#ab2018;border:1px solid #f0c2bd;border-radius:12px;font-size:8px;font-weight:700;letter-spacing:.3px;padding:4px 8px}.verify-chip.normal{background:#eef4f1;border-color:#d6e8df;color:#55796a}.verify-chip.done{background:#edf8f2;border-color:#d7eadf;color:#267452}.source-badge{font-size:10px;color:#28764f;background:#edf8f2;padding:7px 11px;border-radius:20px}.import-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.import-alert{display:flex;align-items:flex-start;gap:11px;padding:13px 16px;border-radius:7px;border:1px solid #f0e1a8;background:#fffdf3;margin:12px 0}.import-alert b{font-size:10px}.import-alert p{font-size:9px;color:#898477;margin:4px 0 0;line-height:1.5}.import-control{margin:14px 0}.import-form{display:grid;grid-template-columns:1.2fr 1.3fr 1.3fr auto;gap:12px;padding:0 18px 10px;align-items:end}.import-action{padding-bottom:0}.import-action .button{white-space:nowrap}.import-caution{margin:0 18px 16px;color:#a09881;font-size:9px;line-height:1.5}.toolbar-title{font-size:11px;color:#303b44}.toolbar-subtitle{display:block;font-size:9px;color:#9da6ae;margin-top:4px}.import-table-panel{margin-top:14px}.import-table-panel table{min-width:920px}.import-table-panel td:nth-child(3){white-space:normal;min-width:260px;max-width:380px}.verify-warn{margin-top:11px;padding:9px 10px;border-radius:5px;background:#fff2ef;border:1px solid #f1cbc6;color:#a5271d;font-size:10px;line-height:1.5}.verify-done{margin-top:11px;padding:9px 10px;border-radius:5px;background:#edf8f2;color:#28764f;font-size:10px}.verify-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.verify-form .field.full{grid-column:1/-1}.verify-diff{grid-column:1/-1;font-size:10px;color:#66727d;background:#f7f8fa;padding:10px;border-radius:5px}.sub-label{display:block;font-size:8px;color:#939ca4;margin-top:4px}.@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.import-form{grid-template-columns:1fr 1fr}.import-action{grid-column:1/-1}.import-action .button{width:100%}}@media(max-width:1000px){.sidebar{width:205px}.main{margin-left:205px}.page{padding:28px 23px}.topbar{padding:0 23px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.movement-panel{min-height:auto}}@media(max-width:650px){.sidebar{width:58px;padding:16px 7px}.brand{padding:0 7px 27px}.brand>div:last-child,.workspace-label,.nav:not(.active),.nav.active{font-size:0}.nav{justify-content:center;padding:11px 4px}.nav span{font-size:17px}.sidebar-bottom .warehouse,.sidebar-bottom .user>div:not(.avatar),.sidebar-bottom .user>span,.build{display:none}.user{justify-content:center;padding:9px 0}.main{margin-left:58px}.topbar{padding:0 14px;height:56px}.page{padding:22px 13px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:21px}.page-heading p{max-width:250px;line-height:1.5}.button{padding:0 9px}.button span{display:none}.stat-grid{gap:9px}.stat-card{padding:13px;min-height:105px}.stat-card strong{font-size:21px}.scan-layout{grid-template-columns:1fr}.date-chip{display:none}.dashboard-grid{gap:10px}.note-bar .text-button{display:none}.form-grid,.import-form,.verify-form{grid-template-columns:1fr}.field.full,.verify-form .field.full,.verify-diff,.import-action{grid-column:auto}.import-stats{grid-template-columns:1fr 1fr}.import-alert .note-symbol{flex:none}}
.cashier-panel{align-self:start}.cart-table-wrap{overflow:auto}.cart-table-wrap table{min-width:480px}.cart-table-wrap td small{display:inline-block;color:#929ca6;margin-top:4px}.cashier-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 17px}.cashier-fields .field span{font-size:10px;color:#697580;font-weight:600}.cashier-fields input,.cashier-fields select{height:35px;border:1px solid #e3e8ec;border-radius:5px;padding:0 9px;font:11px Arial,sans-serif;color:#34404b}.cart-total{display:flex;justify-content:space-between;padding:13px 17px;border-top:1px solid var(--line);font-size:12px}.cart-total b{font-size:16px}.cart-actions{padding:0 17px 16px}.cart-actions .button{width:100%;height:40px}.qty-action{border:1px solid var(--line);background:white;border-radius:4px;width:22px;height:22px;cursor:pointer}.cart-price{width:100px;border:1px solid var(--line);border-radius:4px;padding:5px;font:10px Arial,sans-serif}.scan-feedback{min-height:80px;margin-top:14px}.date-filter{display:flex;align-items:center;gap:7px;font-size:10px;color:#697580;white-space:nowrap}.date-filter input{height:32px;border:1px solid var(--line);border-radius:5px;padding:0 7px;font:10px Arial,sans-serif}.toolbar .date-filter{padding:0}.modal-actions .button:disabled,.button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:800px){.cashier-fields{grid-template-columns:1fr}.scan-feedback{min-height:70px}}

.header-btns{display:flex;gap:8px;align-items:center}
.cart-summary{border-top:1px solid var(--line)}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:7px 17px;font-size:11px;color:#505e6b}
.row-actions-group{display:flex;gap:5px;justify-content:flex-end}
.edit-btn{border:1px solid var(--line);background:#fff;border-radius:4px;padding:3px 7px;font-size:10px;cursor:pointer;color:#354452}
.edit-btn:hover{background:#edf2f7;color:var(--navy)}
.ean-gen-btn{margin-top:4px;border:1px dashed #7a8c9e;background:#f5f8fa;border-radius:4px;padding:4px 8px;font-size:9px;cursor:pointer;color:#2c3e50}
.ean-gen-btn:hover{background:#e7eff5}

/* Cashier Chip & User switcher */
.cashier-chip{display:flex;align-items:center;gap:6px;background:#f0f4f8;padding:6px 12px;border-radius:20px;font-size:11px;color:var(--navy);font-weight:600}
.user:hover{background:#ffffff14;border-radius:6px}

/* Sales Filter Bar */
.sales-filter-bar{display:flex;flex-direction:column;gap:10px;padding:12px 18px;background:#fafbfc;border-bottom:1px solid var(--line)}
.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.quick-chips{display:flex;gap:4px}
.chip-btn{border:1px solid var(--line);background:#fff;border-radius:15px;padding:4px 10px;font-size:10px;cursor:pointer;color:#576574}
.chip-btn:hover{background:#edf2f7}
.chip-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.search-input-field{height:32px;border:1px solid var(--line);border-radius:5px;padding:0 9px;font:11px Arial,sans-serif;min-width:180px}
.toolbar-info{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);font-size:11px;color:#677482}
.sales-grand-total{font-weight:700;color:var(--navy);font-size:12px}

/* Badges */
.status-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:9px;font-weight:700;letter-spacing:.3px}
.status-badge.paid{background:#e8f7ee;color:#18845b;border:1px solid #c2ebd5}
.status-badge.pending{background:#fff8df;color:#9b7a00;border:1px solid #fae8a4}
.status-badge.cancelled{background:#fff0ee;color:#c64d43;border:1px solid #f9cac5}
.status-badge.done{background:#e8f7ee;color:#18845b;border:1px solid #c2ebd5}
.status-badge.diff{background:#fff0ee;color:#c64d43;border:1px solid #f9cac5}

/* Reconciliation Page */
.recon-toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:16px}
.recon-date-picker{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#455463}
.recon-date-picker input{height:34px;border:1px solid var(--line);border-radius:5px;padding:0 8px;font:11px Arial,sans-serif}
.recon-status-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b7885}
.recon-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.table-foot-total{background:#f8f9fa;font-weight:bold;border-top:2px solid var(--line)}
.closing-summary-body{padding:18px}
.closing-summary-card{display:flex;flex-direction:column;gap:8px;font-size:11px}
.closing-row{display:flex;justify-content:space-between;border-bottom:1px solid #f0f2f5;padding:6px 0}

/* Penutupan Kasir Page */
.closing-form-wrap{padding:18px}
.closing-table-wrap{margin:16px 0}
.closing-compare-table{width:100%}
.closing-compare-table th{background:#f5f7fa;font-size:10px}
.actual-input{width:130px;height:32px;border:1px solid var(--line);border-radius:4px;padding:0 7px;font:11px Arial,sans-serif;text-align:right}
.diff-cell{font-weight:700}
.diff-cell.zero{color:var(--green)}
.diff-cell.warn{color:var(--red)}
.variance-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:6px;background:#fff2ef;border:1px solid #f8cdc8;margin:12px 0}
.variance-alert b{font-size:11px;color:#ad281d}
.variance-alert p{font-size:10px;color:#70534f;margin:3px 0 0}
.notes-textarea{width:100%;height:65px;border:1px solid var(--line);border-radius:5px;padding:8px;font:11px Arial,sans-serif;resize:vertical}
.check-box-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#354452;cursor:pointer;background:#fafbfc;border:1px solid var(--line);padding:8px 12px;border-radius:5px}

/* Invoice Professional Modal */
.invoice-modal-content{background:#fff;border-radius:8px;width:min(680px,96vw);max-height:90vh;overflow-y:auto;box-shadow:0 15px 45px rgba(7,26,43,0.35)}
.invoice-paper{padding:30px 35px;background:#fff;color:#182330;font-family:'DM Sans',Arial,sans-serif}
.invoice-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--navy);padding-bottom:16px;margin-bottom:16px}
.inv-brand-box{display:flex;align-items:center;gap:10px}
.inv-mark{width:34px;height:34px;border:2px solid var(--yellow);background:var(--navy);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:2px}.invoice-logo{width:145px;height:54px;object-fit:cover;object-position:center}
.inv-mark i{width:3px;height:18px;background:var(--yellow);border-radius:1px}
.inv-company h2{margin:0;font:800 16px Manrope,Arial,sans-serif;letter-spacing:1px;color:var(--navy)}
.inv-company p{margin:2px 0 0;font-size:10px;color:#6b7785}
.inv-meta-right{text-align:right}
.inv-title{font:800 20px Manrope,Arial,sans-serif;letter-spacing:1px;color:var(--navy);margin:0 0 5px}
.inv-no{font-size:12px;font-weight:700;color:#2c3e50}
.inv-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f8fafc;border:1px solid var(--line);border-radius:6px;padding:12px 16px;font-size:11px;margin-bottom:18px}
.inv-details-grid div{display:flex;flex-direction:column;gap:2px}
.inv-details-grid small{color:#7c8793;font-size:9px;text-transform:uppercase;font-weight:600}
.inv-details-grid b{color:#1a2530}
.invoice-items-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:11px}
.invoice-items-table th{background:#f1f4f8;padding:8px 6px;text-align:left;font-size:10px;letter-spacing:.5px;border-bottom:1px solid #d8e0e7}
.invoice-items-table td{padding:8px 6px;border-bottom:1px solid #edf1f5}
.inv-totals-box{margin-left:auto;width:280px;border-top:1px solid var(--line);padding-top:10px;font-size:11px}
.inv-tot-line{display:flex;justify-content:space-between;padding:3px 0}
.inv-tot-line.grand{font-size:15px;font-weight:800;border-top:2px solid var(--navy);margin-top:6px;padding-top:6px;color:var(--navy)}
.inv-footer{margin-top:25px;border-top:1px dashed #d0d7de;padding-top:12px;font-size:10px;color:#7a8694;text-align:center}
.inv-actions-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 30px;background:#f5f7fa;border-top:1px solid var(--line);border-radius:0 0 8px 8px}
.inv-btn-group{display:flex;gap:6px;flex-wrap:wrap}

/* WhatsApp helper dialog */
.wa-helper-card{background:#e7f8ee;border:1px solid #b5e9c9;border-radius:6px;padding:12px 16px;margin:12px 0;font-size:11px;color:#185a38}
.wa-helper-card b{display:block;margin-bottom:4px}
.wa-open-btn{background:#25d366!important;border-color:#25d366!important;color:#fff!important;font-weight:700}
.wa-open-btn:hover{background:#1ebb5b!important}

/* Product catalog: make Excel reference values and live balances easy to distinguish. */
.product-source-note{padding:10px 18px;background:#f7f9fb;border-bottom:1px solid var(--line);color:#647383;font-size:10px;line-height:1.55}.products-table{min-width:1340px}.products-table th{white-space:nowrap}.products-table td{vertical-align:middle}.products-table td:nth-child(1){min-width:230px;max-width:320px;white-space:normal}.products-table td:nth-child(2){font-weight:600}.products-table td:nth-child(3){font-variant-numeric:tabular-nums;letter-spacing:.2px}.stock-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:118px}.stock-operational,.stock-source{display:flex;align-items:center;gap:7px}.stock-operational small,.stock-source small{font-size:8px;color:#8995a0;min-width:48px}.stock-operational b{font-size:10px;color:#243341}.stock-stack .verify-chip{font-size:7px;padding:3px 6px}.products-table .product-cell{min-width:210px}.products-table .row-actions-group{gap:5px}.toolbar-right{display:flex;align-items:center;gap:10px}.toolbar-right .filter-select{min-width:160px}

/* Howell brand symbol */
.brand-mark{height:29px;width:29px;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}

.brand-mark{width:36px;height:36px}.brand-mark img{transform:scale(1.7)}.nav-group-label{padding-top:15px;margin-top:7px;border-top:1px solid #ffffff18}@media(max-width:650px){.nav-group-label{display:none}}

/* Clean invoice preview and WhatsApp sharing actions */
.invoice-modal-clean{width:min(880px,96vw);max-height:92vh;overflow:auto;border-radius:12px}
.invoice-modal-clean .invoice-paper{padding:32px 38px 26px}
.invoice-modal-clean .invoice-top{align-items:center;gap:20px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #cdd7e1}
.invoice-modal-clean .inv-brand-box{min-width:0;gap:16px}
.invoice-modal-clean .invoice-logo{width:126px;height:50px;flex:none;object-fit:cover}
.invoice-modal-clean .inv-company h2{font-size:15px;letter-spacing:.5px}
.invoice-modal-clean .inv-company p{font-size:10px;line-height:1.5}
.invoice-modal-clean .inv-meta-right{min-width:210px}
.invoice-modal-clean .inv-title{font-size:20px;margin:0 0 4px}
.invoice-modal-clean .inv-meta-right time{display:block;font-size:10px;color:#758497;margin-top:4px}
.invoice-modal-clean .inv-no{font-size:11px;overflow-wrap:anywhere}
.invoice-modal-clean .inv-details-grid{gap:15px 24px;padding:15px 17px;margin-bottom:22px;background:#f7f9fb;border-color:#e4eaf0;border-radius:8px}
.invoice-modal-clean .inv-details-grid small{font-size:9px;letter-spacing:.35px}
.invoice-modal-clean .inv-details-grid b{font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.invoice-reference{grid-column:1 / -1}
.invoice-status.is-paid{color:#15804c}
.invoice-status.is-pending{color:#9a6700}
.invoice-status.is-cancelled{color:#b42318}
.invoice-items-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.invoice-items-heading h3{margin:0;font-size:12px;color:#14283c}
.invoice-items-heading span{font-size:10px;color:#748398}
.invoice-clean-table{margin:0 0 18px;font-size:11px}
.invoice-clean-table th{padding:10px 9px;background:#f1f4f7;color:#596b7d;font-size:9px;letter-spacing:.45px;border-bottom:1px solid #d9e1e9}
.invoice-clean-table th:first-child{width:46%}
.invoice-clean-table th:nth-child(2){width:9%}
.invoice-clean-table th:nth-child(3){width:20%}
.invoice-clean-table th:nth-child(4){width:25%}
.invoice-clean-table td{padding:11px 9px;border-bottom:1px solid #e9edf1;vertical-align:top}
.invoice-clean-table .center{text-align:center}
.invoice-clean-table .num{text-align:right}
.invoice-product-cell b{display:block;font-size:10px;color:#243548;line-height:1.45}
.invoice-product-cell small{display:block;margin-top:3px;color:#7e8b99;font-size:9px}
.invoice-qty-cell{text-align:center;color:#33465a;font-variant-numeric:tabular-nums}
.invoice-money-cell{text-align:right;white-space:nowrap;color:#34495e;font-variant-numeric:tabular-nums}
.invoice-bottom-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:28px;align-items:start;margin-top:12px}
.invoice-thanks{padding:13px 0;color:#22364a;font-size:10px;line-height:1.6}
.invoice-thanks p{margin:4px 0 0;color:#748398}
.invoice-modal-clean .inv-totals-box{width:100%;border:0;border-top:1px solid #dfe5eb;padding:10px 0 0;font-size:11px}
.invoice-modal-clean .inv-tot-line{padding:5px 0;gap:16px}
.invoice-modal-clean .inv-tot-line span:last-child,.invoice-modal-clean .inv-tot-line b{white-space:nowrap}
.invoice-modal-clean .discount-line{color:#b42318}
.invoice-modal-clean .inv-tot-line.grand{font-size:15px;border-top:2px solid #10263b;margin-top:5px;padding-top:11px;color:#10263b}
.invoice-modal-clean .inv-tot-line.grand b{font-size:17px}
.invoice-modal-clean .cash-line{font-size:10px;color:#718094}
.invoice-share-note{display:flex;align-items:flex-start;gap:12px;margin:0 30px 15px;padding:13px 15px;border:1px solid #dbe9f3;border-radius:8px;background:#f5f9fc;color:#29445e}
.invoice-share-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#e5eff6;color:#183b58;font-size:15px}
.invoice-share-note b{font-size:11px}
.invoice-share-note p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#62778c}
.invoice-actions-clean{align-items:center;padding:14px 24px;background:#f7f9fb;border-top:1px solid #e3e8ed}
.invoice-actions-clean .inv-btn-group{gap:8px}
.invoice-actions-clean .button{min-height:36px}
.invoice-actions-clean .wa-open-btn{background:#168b55!important;border-color:#168b55!important}
.invoice-actions-clean .wa-open-btn:hover{background:#117546!important}
@media(max-width:700px){
  .invoice-modal-clean{width:96vw}
  .invoice-modal-clean .invoice-paper{padding:22px 20px}
  .invoice-modal-clean .invoice-top{align-items:flex-start;flex-direction:column;gap:14px}
  .invoice-modal-clean .inv-meta-right{text-align:left;min-width:0}
  .invoice-modal-clean .inv-details-grid{gap:13px 12px;padding:13px}
  .invoice-bottom-summary{grid-template-columns:1fr;gap:8px}
  .invoice-share-note{margin:0 16px 12px}
  .invoice-actions-clean{padding:12px 16px}
  .invoice-actions-clean,.invoice-actions-clean .inv-btn-group{justify-content:flex-start}
}

.deployment-notice{margin:16px 38px 0;padding:11px 14px;border:1px solid #ecd28a;border-radius:6px;background:#fff9e7;color:#6f5b20;font-size:11px;line-height:1.5}.deployment-notice[hidden]{display:none}@media(max-width:1000px){.deployment-notice{margin-left:23px;margin-right:23px}}@media(max-width:650px){.deployment-notice{margin:12px 13px 0;font-size:10px}}


/* Navigation icon polish */
.nav{min-height:42px;gap:12px;padding:10px 13px;border-radius:8px;font-size:13px;line-height:1.35;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-icon{width:20px!important;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;color:currentColor;font-size:0!important;text-align:center}.nav-icon svg{display:block;width:18px;height:18px;overflow:visible}.nav:not(.active) .nav-icon{color:#aebdcc}.nav:hover{transform:translateX(2px)}.nav.active{font-weight:700}.nav-group-label{font-size:10px!important;letter-spacing:1.5px}.nav-group-label:not(.nav){padding-left:13px}
@media(max-width:650px){.nav{justify-content:flex-start;padding:10px 11px}.nav:not(.active){font-size:13px}.nav span.nav-icon{font-size:0!important}}


/* Type and icon refinement */
:root{--font-ui:Inter,"Segoe UI",Arial,sans-serif}body,button,input,select,textarea{font-family:var(--font-ui)}body{font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.brand{padding-left:12px;gap:0}.brand b{font-size:15px;letter-spacing:1.8px}.brand span{font-size:9px;letter-spacing:2px}.workspace-label{font-size:10px;letter-spacing:1.4px}.nav{font-family:var(--font-ui);font-size:13px;font-weight:550;letter-spacing:.05px}.nav.active{font-weight:650}.crumb{font-size:12px}.crumb b{font-weight:650}.date-chip{font-size:12px}.icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-btn i{top:4px;right:4px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-family:var(--font-ui);font-size:27px;font-weight:700;letter-spacing:-.6px}.page-heading p{font-size:13px;line-height:1.55}.button,.text-button,.field input,.field select,.filter-select,.cashier-fields input,.cashier-fields select,.search-input-field,.recon-date-picker input,.actual-input,.notes-textarea{font-family:var(--font-ui)}.field input,.field select,.filter-select{font-size:12px}.cashier-fields input,.cashier-fields select{font-size:12px}.button{font-size:12px}.panel-head h2,.scan-panel h2,.stat-card strong{font-family:var(--font-ui)}
