@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/plex-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/plex-500.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('./fonts/plex-600.woff2') format('woff2')}
:root{--ink:#182d46;--green:#244c80;--muted:#748194;--line:#e0e6ee;--paper:#f5f7fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'IBM Plex Sans',Arial,sans-serif}button,input,select{font:inherit}button,select,a{cursor:pointer}button{padding:10px 15px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}button:hover{background:#e6edf7}button.primary{background:var(--green);color:white;border-color:var(--green)}button.small{padding:6px 10px;font-size:11px}a{color:var(--green)}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:#edf1f7;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;width:224px;padding:30px 18px;display:flex;flex-direction:column}.brand{font:600 25px 'IBM Plex Sans',Arial,sans-serif;letter-spacing:-1px;display:flex;gap:9px;align-items:center;margin:0 8px 30px}.brand img{width:31px}.nav-label{font-size:10px;letter-spacing:1.6px;color:#8491a4;margin:23px 13px 9px}.nav{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:none;width:100%;padding:11px 13px;color:#65758a;margin:2px 0}.nav.active{background:#dce6f3;color:var(--green);font-weight:600}.nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.side-bottom{margin-top:auto;padding-top:25px}.profile{display:flex;gap:10px;align-items:center;margin:19px 7px 0}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#dbe5f3;font-size:11px;font-weight:600}.profile small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.workspace{grid-column:2;min-width:0}.topbar{height:78px;background:white;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar select{border:0;background:none;max-width:220px;font-weight:600}.topbar .right{display:flex;gap:15px;align-items:center}.muted{color:var(--muted)}.content{padding:30px 38px;max-width:1600px;margin:auto}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#61748c;background:#edf2f8;border:1px solid #dce5f0;padding:11px 15px;border-radius:7px;margin-bottom:27px}.notice button{padding:2px;border:0;background:none;text-decoration:underline;font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#7186a2;font-weight:600}h1{font:600 32px 'IBM Plex Sans',Arial,sans-serif;letter-spacing:-1px;margin:10px 0}h2{font-size:15px;font-weight:600;margin:0}h3{font-size:14px}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.pagehead p{font-size:12px;color:var(--muted);margin:0}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.toolbar select,.toolbar input{border:1px solid var(--line);background:white;padding:9px 12px;border-radius:7px;max-width:220px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0}.card,.panel{border:1px solid var(--line);border-radius:11px;background:white}.card{padding:21px;position:relative}.card:first-child{background:#e7eef8;border-color:#d9e3f0}.card label{font-size:12px;color:#647895}.value{font-size:29px;font-weight:550;letter-spacing:-1px;margin:18px 0 11px}.card small{font-size:10px;color:#7c8ba0}.corner{position:absolute;top:18px;right:18px;color:#8da0b9}.panel{padding:23px;margin-bottom:20px;min-width:0}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.panelhead small{font-size:10px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.chart{height:200px;display:flex;align-items:flex-end;gap:10px;padding:16px 2px 25px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 41px,#eaf0f7 42px)}.bar-group{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.bar-group span{display:block;width:55%;background:#9eb7d7;min-height:2px;border-radius:4px 4px 0 0}.bar-group:nth-child(3n) span{background:#335f97}.bar-group label{position:absolute;bottom:-20px;font-size:9px;color:#8b9580;white-space:nowrap}.chart-key{font-size:10px;color:var(--muted);margin-top:16px}.branch{padding:18px 0;border-bottom:1px solid #edf1f7}.branch:last-child{border:0}.branch-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:12px}.track{height:6px;background:#f0f3e8;border-radius:5px}.track i{display:block;background:#557fac;height:100%;border-radius:5px}.branch:nth-child(3) i{background:#9ab0ca}.branch:nth-child(4) i{background:#ca9c64}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;font-weight:500;letter-spacing:.7px;color:#7c8ca0;background:#f5f7fa}th,td{padding:14px 11px;border-bottom:1px solid #edf1f6}td{font-size:12px}td strong{font-weight:550}td small{display:block;font-size:10px;color:#8190a3;margin-top:5px}.badge{display:inline-block;padding:5px 9px;background:#e8eff9;color:#42658f;font-size:10px;border-radius:5px}.badge.warn{background:#fbefdf;color:#b58b53}.badge.gray{background:#f0f1ee;color:#8c9384}.empty{padding:40px;text-align:center;color:var(--muted);line-height:1.8}.empty strong{display:block;color:var(--ink)}.low-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eff2e9}.product-icon{width:32px;height:36px;border-radius:6px;background:#f4f1e7;display:grid;place-items:center;color:#a5997e}.details{flex:1;font-size:12px}.details small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.footnote{font-size:11px;color:#76869b;line-height:1.8;margin:18px 0}.page-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8c99aa;margin-top:30px;padding-bottom:12px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.7}.setting-row p{margin:4px 0 0;font-size:12px;color:var(--muted)}.callout{padding:23px;border-radius:9px;background:#e8eef7;font-size:12px;line-height:1.9}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-number{font:500 30px 'IBM Plex Sans',Arial,sans-serif;margin:16px 0}.mobile-toggle{display:none}.icon-button{border:0;background:none;padding:7px}.modal-backdrop{position:fixed;inset:0;background:#17322266;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{width:650px;max-width:100%;max-height:92vh;overflow:auto;border-radius:14px;background:var(--paper);box-shadow:0 20px 80px #142c2244;padding:27px}.modal.wide{width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font:600 25px 'IBM Plex Sans',Arial,sans-serif}.modal-header button{border:0;background:none;font-size:23px;padding:0 6px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:18px 0}.field{display:flex;flex-direction:column;gap:8px;font-size:12px}.field input,.field select{width:100%;padding:11px;border:1px solid #dce3d2;border-radius:6px;background:white;color:var(--ink);font:inherit}.field.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:23px}.error{color:#b15a45;font-size:12px;line-height:1.8;min-height:16px}.bill-line{display:grid;grid-template-columns:1fr 75px 70px 35px;gap:8px;margin:10px 0}.bill-line input,.bill-line select{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:white;font-size:12px}.totals{max-width:300px;margin:22px 0 0 auto}.totals div{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.totals .grand{border-top:1px solid var(--line);padding-top:15px;font-size:20px}.bill-preview{background:white;border:1px solid var(--line);border-radius:8px;padding:23px}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243e60;color:white;padding:13px 22px;border-radius:8px;z-index:100;max-width:90vw}#print-area{display:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #7a9fc8;outline-offset:3px}@media(min-width:1500px){.content{padding:38px 50px}.chart{height:245px}}@media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.sidebar{width:190px;padding:25px 10px}.brand{font-size:23px}.content{padding:25px}.topbar{padding:0 25px}.cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}.topbar .muted{display:none}}@media(max-width:700px){.shell{display:block}.sidebar{display:none;z-index:30;width:224px;box-shadow:0 0 0 100vw #17342255}.shell.menu .sidebar{display:flex}.mobile-toggle{display:block}.topbar{height:65px;padding:0 15px}.topbar select{max-width:150px;font-size:12px}.topbar .right{gap:5px}.content{padding:20px 16px}.pagehead{align-items:flex-start;flex-direction:column}h1{font-size:29px}.cards{gap:10px}.card{padding:16px}.value{font-size:24px}.notice{font-size:10px}.panel{padding:17px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-backdrop{padding:10px}.modal{padding:20px}.bill-line{grid-template-columns:1fr 55px 45px 30px}.page-footer{line-height:1.8}.toolbar input{max-width:160px}}@media print{body>*{display:none!important}body #print-area{display:block!important;background:white;color:black;font:12px Arial}#print-area table{white-space:normal}#print-area td,#print-area th{padding:8px;border-bottom:1px solid #ddd}#print-area.receipt{width:72mm;font:10px monospace}#print-area.narrow{width:48mm}#print-area .totals{max-width:100%}@page{margin:12mm}}
:root .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{min-width:0}.card .value{overflow-wrap:anywhere}.notice span{min-width:0}@media(max-width:1100px){:root .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.card .value{font-size:21px}.chart{gap:4px}.bar-group label{font-size:8px}.topbar .toolbar{flex-wrap:nowrap}}

@media(max-width:700px){.topbar{gap:8px}.topbar select{max-width:120px}.topbar .right .field{font-size:9px}.topbar .right select{max-width:100px;font-size:10px;padding:5px}.topbar .right .avatar,.topbar .right .icon-button{display:none}}

.manual-item{font-size:12px;padding:9px;background:#eaf0f8;border-radius:6px}.manual-item small{display:block;font-size:10px;color:var(--muted);margin-top:4px}

.business-status-banner{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e4baa6;background:#fff0e7;color:#884b31;border-radius:9px;margin-bottom:16px;font-size:13px;line-height:1.6}.business-status-banner span{font-size:12px}
.card .value{font-size:24px;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;font-weight:500}@media(max-width:420px){:root .cards{grid-template-columns:1fr}.card .value{font-size:26px}}
