@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500&family=DM+Sans:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg2:#161b22;--bg3:#1c2330;--bg4:#21293a;--border:#ffffff12;--border2:#ffffff21;--gold:#c9a84c;--gold2:#e8c66a;--gold-dim:#c9a84c1f;--gold-dim2:#c9a84c38;--text:#e6edf3;--text2:#8b949e;--text3:#6e7681;--green:#3fb950;--green-dim:#3fb9501f;--red:#f85149;--red-dim:#f851491f;--blue:#58a6ff;--blue-dim:#58a6ff1f;--amber:#d29922;--amber-dim:#d299221f;--shadow:0 8px 32px #00000073;--shadow-sm:0 2px 8px #0000004d;--r:8px;--r2:12px;--font-head:"Playfair Display", Georgia, serif;--font-mono:"IBM Plex Mono", monospace;--font:"DM Sans", sans-serif;--sidebar:224px;--header:60px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}.app{min-height:100vh;display:flex}.app-loading{background:var(--bg);width:100%;min-height:100vh;color:var(--text2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.sidebar{width:var(--sidebar);background:var(--bg2);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);padding:20px 20px 16px}.logo-mark{align-items:center;gap:10px;display:flex}.logo-icon{background:linear-gradient(135deg,var(--gold),#8b6914);color:#0d1117;width:36px;height:36px;font-size:15px;font-weight:700;font-family:var(--font-head);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-name{font-family:var(--font-head);font-size:18px;font-weight:600;line-height:1.2}.logo-sub{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:10px;font-family:var(--font-mono)}.sidebar-nav{flex-direction:column;flex:1;gap:20px;padding:14px 10px;display:flex;overflow-y:auto}.nav-label{font-size:10px;font-family:var(--font-mono);color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;padding:0 10px}.nav-item{border-radius:var(--r);cursor:pointer;color:var(--text2);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:10px;margin-bottom:2px;padding:9px 10px;font-size:14px;font-weight:400;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg3);color:var(--text)}.nav-item.active{background:var(--gold-dim2);color:var(--gold2);border-color:#c9a84c47;font-weight:500}.nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:17px}.nav-badge{background:var(--red);color:#fff;font-size:10px;font-family:var(--font-mono);border-radius:10px;margin-left:auto;padding:1px 6px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:12px 10px}.currency-widget{background:var(--bg3);border-radius:var(--r);border:1px solid var(--border);padding:10px 12px}.currency-label{color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-family:var(--font-mono);margin-bottom:8px}.currency-btns{gap:4px;display:flex}.curr-btn{border:1px solid var(--border2);color:var(--text2);font-size:11px;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:5px;flex:1;padding:6px 4px;font-weight:500;transition:all .12s}.curr-btn:hover{border-color:var(--gold);color:var(--gold)}.curr-btn.active{background:var(--gold);border-color:var(--gold);color:#0d1117;font-weight:700}.main{margin-left:var(--sidebar);flex-direction:column;flex:1;min-height:100vh;display:flex}.header{height:var(--header);background:var(--bg2);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:14px;padding:0 28px;display:flex;position:sticky;top:0}.header-title{font-family:var(--font-head);letter-spacing:-.3px;font-size:20px;font-weight:600}.header-badge{background:var(--gold-dim);color:var(--gold);font-size:10px;font-family:var(--font-mono);letter-spacing:1px;border:1px solid #c9a84c4d;border-radius:20px;padding:3px 9px}.header-right{align-items:center;gap:10px;margin-left:auto;display:flex}.header-curr-group{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);gap:4px;padding:3px;display:flex}.content{flex:1;padding:24px 28px}.btn-primary{background:var(--gold);color:#0d1117;border-radius:var(--r);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary:hover{background:var(--gold2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{color:var(--text2);border:1px solid var(--border2);border-radius:var(--r);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .15s;display:inline-flex}.btn-secondary:hover{background:var(--bg3);color:var(--text)}.btn-ghost{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:5px 8px;font-size:13px;transition:all .12s;display:inline-flex}.btn-ghost:hover{background:var(--bg3);color:var(--text2)}.btn-danger{background:var(--red-dim);color:var(--red);border-radius:var(--r);cursor:pointer;border:1px solid #f8514947;align-items:center;gap:4px;padding:6px 12px;font-size:12px;transition:all .15s;display:inline-flex}.btn-danger:hover{background:#f8514938}.btn-success{background:var(--green-dim);color:var(--green);border-radius:var(--r);cursor:pointer;border:1px solid #3fb95047;padding:6px 12px;font-size:12px;transition:all .15s}.btn-success:hover{background:#3fb95038}.btn-sm{border-radius:5px!important;padding:4px 10px!important;font-size:12px!important}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:20px;transition:border-color .15s}.card:hover{border-color:var(--border2)}.card-sm{padding:12px 14px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.kpi-grid-3{grid-template-columns:repeat(3,1fr)}.kpi-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);cursor:default;padding:18px 20px;transition:border-color .2s,transform .15s;position:relative;overflow:hidden}.kpi-card:hover{border-color:var(--border2);transform:translateY(-2px)}.kpi-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.kpi-card.gold:before{background:linear-gradient(90deg,var(--gold),transparent)}.kpi-card.green:before{background:linear-gradient(90deg,var(--green),transparent)}.kpi-card.blue:before{background:linear-gradient(90deg,var(--blue),transparent)}.kpi-card.red:before{background:linear-gradient(90deg,var(--red),transparent)}.kpi-card.amber:before{background:linear-gradient(90deg,var(--amber),transparent)}.kpi-label{color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-family:var(--font-mono);margin-bottom:10px}.kpi-value{font-family:var(--font-mono);color:var(--text);letter-spacing:-.5px;font-size:22px;font-weight:500;line-height:1}.kpi-sub{color:var(--text3);align-items:center;gap:4px;margin-top:8px;font-size:11px;display:flex}.kpi-up{color:var(--green)}.kpi-down{color:var(--red)}.kpi-icon{opacity:.06;font-size:34px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.table-wrap{border-radius:var(--r2);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead tr{background:var(--bg3)}th{text-align:left;color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:500;font-family:var(--font-mono);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}td{border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;padding:11px 14px}tr:last-child td{border-bottom:none}tbody tr:hover{background:#ffffff05}.mono{font-family:var(--font-mono);font-size:12px}.text-pri{font-weight:500;color:var(--text)!important}.badge{font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.3px;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.badge-paid{background:var(--green-dim);color:var(--green);border:1px solid #3fb95040}.badge-pending{background:var(--amber-dim);color:var(--amber);border:1px solid #d2992240}.badge-draft{background:var(--bg4);color:var(--text3);border:1px solid var(--border2)}.badge-overdue{background:var(--red-dim);color:var(--red);border:1px solid #f8514940}.badge-received{background:var(--green-dim);color:var(--green);border:1px solid #3fb95040}.badge-ordered{background:var(--blue-dim);color:var(--blue);border:1px solid #58a6ff40}.badge-low{background:var(--red-dim);color:var(--red);border:1px solid #f8514940}.badge-ok{background:var(--green-dim);color:var(--green);border:1px solid #3fb95040}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border2);width:100%;max-width:700px;max-height:90vh;box-shadow:var(--shadow);border-radius:16px;animation:.2s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);background:var(--bg2);z-index:1;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.modal-title{font-family:var(--font-head);font-size:18px;font-weight:600}.modal-close{background:var(--bg3);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text2);border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:all .12s;display:flex}.modal-close:hover{background:var(--red-dim);color:var(--red);border-color:#f851494d}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.form-group{margin-bottom:16px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}label{color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-family:var(--font-mono);margin-bottom:6px;display:block}input[type=text],input[type=number],input[type=date],input[type=email],select,textarea{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);width:100%;color:var(--text);outline:none;padding:9px 12px;font-size:13px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim)}select option{background:var(--bg3)}textarea{resize:vertical;min-height:68px}.form-divider{border:none;border-top:1px solid var(--border);margin:18px 0}.section-label{font-family:var(--font-head);color:var(--gold);margin-bottom:12px;font-size:13px;font-weight:600}.line-items{border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;overflow:hidden}.line-header{background:var(--bg3);color:var(--text3);font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;grid-template-columns:2fr 70px 100px 90px 34px;gap:4px;padding:8px 10px;display:grid}.line-row{border-top:1px solid var(--border);grid-template-columns:2fr 70px 100px 90px 34px;align-items:center;gap:4px;padding:5px 6px;display:grid}.line-row input,.line-row select{border-radius:5px;padding:5px 7px;font-size:12px}.line-total{font-family:var(--font-mono);color:var(--text);padding:0 4px;font-size:12px}.remove-btn{color:var(--text3);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:4px;width:28px;padding:4px;font-size:14px;transition:color .12s}.remove-btn:hover{color:var(--red)}.add-line-btn{background:var(--bg3);border:1px dashed var(--border2);border-radius:var(--r);width:100%;color:var(--text3);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:12px;transition:all .12s;display:flex}.add-line-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold-dim)}.totals-box{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}.total-row{color:var(--text2);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.total-row.grand{border-top:1px solid var(--border2);color:var(--text);font-weight:600;font-family:var(--font-mono);margin-top:8px;padding-top:10px;font-size:15px}.inv-line-items{border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;overflow:hidden}.inv-line-header,.inv-line-row{grid-template-columns:1.7fr 55px 80px 110px 60px 80px 90px 30px;align-items:center;gap:4px;display:grid}.inv-line-header{background:var(--bg3);color:var(--text3);font-size:10px;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;padding:8px 10px}.inv-line-row{border-top:1px solid var(--border);padding:5px 6px}.inv-line-row input,.inv-line-row select{border-radius:5px;padding:5px 7px;font-size:12px}.inv-line-readonly{font-family:var(--font-mono);color:var(--text2);padding:0 4px;font-size:12px}.inv-line-total{font-family:var(--font-mono);color:var(--text);padding:0 4px;font-size:12px;font-weight:600}.inv-summary-row{flex-wrap:wrap;gap:10px;display:flex}.inv-summary-card{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);flex:1;min-width:120px;padding:10px 14px}.inv-summary-label{color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-family:var(--font-mono);margin-bottom:4px}.inv-summary-value{font-family:var(--font-mono);color:var(--text);font-size:14px;font-weight:600}.inv-summary-card.grand{border-color:var(--gold);background:var(--gold-dim)}.inv-summary-card.grand .inv-summary-value{color:var(--gold2);font-size:16px}.lookup-modal{flex-direction:column;width:100%;max-width:920px;max-height:82vh;padding:0;display:flex}.lookup-titlebar{background:linear-gradient(135deg,#8b6914,var(--gold));border-radius:16px 16px 0 0;flex-shrink:0;align-items:center;gap:10px;padding:14px 18px;display:flex}.lookup-titlebar-left{align-items:center;gap:8px;display:flex}.lookup-icon{font-size:15px}.lookup-title{font-family:var(--font-head);color:#1a1305;font-size:15px;font-weight:600}.lookup-count{font-size:11px;font-family:var(--font-mono);color:#1a1305;background:#ffffff59;border-radius:10px;margin-left:auto;margin-right:8px;padding:3px 10px}.lookup-titlebar .modal-close{color:#1a1305;background:#ffffff40;border-color:#0000}.lookup-titlebar .modal-close:hover{color:#1a1305;background:#fff6}.lookup-search-area{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 18px}.lookup-search{width:100%}.lookup-hint{color:var(--text3);margin-top:6px;font-size:10.5px}.lookup-table-wrap{flex:1;min-height:200px;overflow-y:auto}.lookup-table{border-collapse:collapse;width:100%;font-size:12.5px}.lookup-table thead th{background:var(--bg3);color:var(--gold);letter-spacing:1px;text-transform:uppercase;text-align:left;font-size:10px;font-family:var(--font-mono);border-bottom:1px solid var(--border2);z-index:1;padding:9px 14px;position:sticky;top:0}.lookup-table tbody td{border-top:1px solid var(--border);color:var(--text2);padding:8px 14px}.lookup-table tbody tr{cursor:pointer}.lookup-table tbody tr:hover,.lookup-table tbody tr.active{background:var(--gold-dim)}.lookup-table tbody tr.active td{color:var(--text)}.lookup-empty{text-align:center;color:var(--text3);padding:24px!important}.lookup-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.section-heading{font-family:var(--font-head);letter-spacing:-.3px;font-size:22px;font-weight:600}.section-sub{color:var(--text3);font-size:12px;font-family:var(--font-mono);margin-top:3px}.filters-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-group{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);align-items:center;padding:3px;display:flex}.filter-btn{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:5px 12px;font-size:12px;transition:all .12s}.filter-btn.active{background:var(--bg4);color:var(--text)}.search-input{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);outline:none;min-width:200px;padding:7px 12px;font-size:13px;transition:border-color .12s}.search-input:focus{border-color:var(--gold)}.stock-bar-bg{background:var(--bg4);border-radius:2px;width:90px;height:4px;overflow:hidden}.stock-bar-fill{border-radius:2px;height:100%;transition:width .3s}.category-pill{font-size:11px;font-family:var(--font-mono);background:var(--bg4);color:var(--text3);border:1px solid var(--border);border-radius:12px;padding:2px 8px;display:inline-block}.empty-state{text-align:center;color:var(--text3);padding:60px 20px}.empty-icon{opacity:.5;margin-bottom:12px;font-size:48px}.empty-title{color:var(--text2);margin-bottom:6px;font-size:15px;font-weight:500}.empty-sub{font-size:13px}.mini-chart{align-items:flex-end;gap:4px;display:flex}.mini-bar{border-radius:3px 3px 0 0;flex:1;min-height:4px}.chart-label{color:var(--text3);text-align:center;font-size:10px;font-family:var(--font-mono);flex:1}.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-text{color:var(--text2);flex:1;font-size:13px}.activity-text strong{color:var(--text);font-weight:500}.activity-amount{font-family:var(--font-mono);color:var(--gold);font-size:12px;font-weight:500}.activity-time{color:var(--text3);font-size:11px;font-family:var(--font-mono)}.toast{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r2);color:var(--text);box-shadow:var(--shadow);z-index:999;border-left:3px solid var(--green);align-items:center;gap:10px;max-width:320px;padding:12px 18px;font-size:13px;animation:.2s slideUp;display:flex;position:fixed;bottom:24px;right:24px}.toast-icon{background:var(--green-dim);width:20px;height:20px;color:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.grid-2{grid-template-columns:1fr}}
