:root,:root[data-theme=dark]{--bg-dark:#0f1729;--bg-card:#1a2238;--bg-hover:#283149;--bg-secondary:#283149;--border:#3a4360;--text:#ecf2ff;--text-primary:#ecf2ff;--text-muted:#a2b1cc;--text-secondary:#a2b1cc;--primary:#38bdf8;--primary-hover:#0ea5e9;--success:#34d399;--danger:#fb7185;--warning:#fbbf24;--accent:#22d3ee;--row-hover:#38bdf812;--row-stripe:hsla(0,0%,100%,.018);--focus-ring:#38bdf859;--shadow-1:0 1px 3px #00000040;--shadow-2:0 6px 18px #00000059;color-scheme:dark}:root[data-theme=midnight]{--bg-dark:#09090f;--bg-card:#131320;--bg-hover:#1e1e30;--bg-secondary:#1e1e30;--border:#2c2c45;--text:#ededf5;--text-primary:#ededf5;--text-muted:#9d9db8;--text-secondary:#9d9db8;--primary:#38bdf8;--primary-hover:#0ea5e9;--success:#34d399;--danger:#fb7185;--warning:#fbbf24;--accent:#22d3ee;--row-hover:#38bdf814;--row-stripe:#ffffff05;--focus-ring:#38bdf859;--shadow-1:0 1px 3px #0006;--shadow-2:0 6px 18px #00000080;color-scheme:dark}:root[data-theme=slate]{--bg-dark:#111827;--bg-card:#1f2937;--bg-hover:#2b3a4f;--bg-secondary:#2b3a4f;--border:#3b4a61;--text:#f1f5f9;--text-primary:#f1f5f9;--text-muted:#94a3b8;--text-secondary:#94a3b8;--primary:#38bdf8;--primary-hover:#0ea5e9;--success:#34d399;--danger:#fb7185;--warning:#fbbf24;--accent:#22d3ee;--row-hover:#38bdf812;--row-stripe:#ffffff05;--focus-ring:#38bdf859;--shadow-1:0 1px 3px #0000004d;--shadow-2:0 6px 18px #0006;color-scheme:dark}:root[data-theme=light]{--bg-dark:#fdf6e3;--bg-card:#fffaef;--bg-hover:#f5ead0;--bg-secondary:#f5ead0;--border:#e6d6b5;--text:#2c2418;--text-primary:#2c2418;--text-muted:#7a6a4e;--text-secondary:#7a6a4e;--primary:#0891b2;--primary-hover:#0e7490;--success:#059669;--danger:#e11d48;--warning:#d97706;--accent:#0ea5e9;--row-hover:#0891b212;--row-stripe:rgba(44,36,24,.025);--focus-ring:#0891b24d;--shadow-1:0 1px 3px #5a46281f;--shadow-2:0 6px 18px #5a46282e;color-scheme:light}:root[data-theme=sage]{--bg-dark:#f4f3ec;--bg-card:#fff;--bg-hover:#ecebe0;--bg-secondary:#f0efe6;--border:#dedcca;--text:#232920;--text-primary:#232920;--text-muted:#7c8073;--text-secondary:#7c8073;--primary:#3d6b4f;--primary-hover:#2f5940;--success:#3d8a5f;--danger:#c2554e;--warning:#b98b2e;--accent:#4f7d63;--row-hover:#3d6b4f0f;--row-stripe:#23292005;--focus-ring:#3d6b4f47;--shadow-1:0 1px 3px #3c40301a;--shadow-2:0 6px 18px #3c403024;color-scheme:light}:root[data-theme=paper]{--bg-dark:#f4f6fa;--bg-card:#fff;--bg-hover:#e9eef5;--bg-secondary:#e9eef5;--border:#d6dee9;--text:#1b2330;--text-primary:#1b2330;--text-muted:#64748b;--text-secondary:#64748b;--primary:#0284c7;--primary-hover:#0369a1;--success:#059669;--danger:#e11d48;--warning:#d97706;--accent:#0ea5e9;--row-hover:#0284c70f;--row-stripe:rgba(27,35,48,.025);--focus-ring:#0284c74d;--shadow-1:0 1px 3px #1e293b1a;--shadow-2:0 6px 18px #1e293b26;color-scheme:light}:root[data-accent=sky]{--primary:light-dark(#0284c7,#38bdf8);--primary-hover:light-dark(#0369a1,#0ea5e9);--focus-ring:light-dark(#0284c74d,#38bdf859)}:root[data-accent=emerald]{--primary:light-dark(#059669,#34d399);--primary-hover:light-dark(#047857,#10b981);--focus-ring:light-dark(#0596694d,#34d39959)}:root[data-accent=violet]{--primary:light-dark(#7c3aed,#a78bfa);--primary-hover:light-dark(#6d28d9,#8b5cf6);--focus-ring:light-dark(#7c3aed4d,#a78bfa59)}:root[data-accent=amber]{--primary:light-dark(#d97706,#fbbf24);--primary-hover:light-dark(#b45309,#f59e0b);--focus-ring:light-dark(#d977064d,#fbbf2459)}:root[data-accent=rose]{--primary:light-dark(#e11d48,#fb7185);--primary-hover:light-dark(#be123c,#f43f5e);--focus-ring:light-dark(#e11d484d,#fb718559)}:root[data-accent=teal]{--primary:light-dark(#0d9488,#2dd4bf);--primary-hover:light-dark(#0f766e,#14b8a6);--focus-ring:light-dark(#0d94884d,#2dd4bf59)}:root[data-accent=indigo]{--primary:light-dark(#4f46e5,#818cf8);--primary-hover:light-dark(#4338ca,#6366f1);--focus-ring:light-dark(#4f46e54d,#818cf859)}:root[data-accent=fuchsia]{--primary:light-dark(#c026d3,#e879f9);--primary-hover:light-dark(#a21caf,#d946ef);--focus-ring:light-dark(#c026d34d,#e879f959)}:root[data-accent=orange]{--primary:light-dark(#ea580c,#fb923c);--primary-hover:light-dark(#c2410c,#f97316);--focus-ring:light-dark(#ea580c4d,#fb923c59)}:root[data-accent=lime]{--primary:light-dark(#65a30d,#a3e635);--primary-hover:light-dark(#4d7c0f,#84cc16);--focus-ring:light-dark(#65a30d4d,#a3e63559)}:root[data-accent=graphite]{--primary:light-dark(#475569,#94a3b8);--primary-hover:light-dark(#334155,#64748b);--focus-ring:light-dark(#4755694d,#94a3b859)}:root[data-accent=forest]{--primary:light-dark(#3d6b4f,#6da287);--primary-hover:light-dark(#2f5940,#558b6f);--focus-ring:light-dark(#3d6b4f47,#6da28759)}:root{--radius:14px;--radius-md:11px;--radius-sm:9px;--radius-pill:999px;--blur:16px;--ease-spring:cubic-bezier(0.34,1.42,0.5,1);--ease-out:cubic-bezier(0.22,0.61,0.36,1)}:root[data-theme]{--shadow-1:0 1px 2px #00000029,0 4px 12px #0000002e;--shadow-2:0 8px 24px #0000004d,0 2px 6px #0003;--shadow-3:0 24px 60px #00000075,0 8px 18px #00000052;--glass:color-mix(in srgb,var(--bg-card) 78%,#0000);--hairline:color-mix(in srgb,var(--border) 70%,#0000)}:root[data-theme=light],:root[data-theme=paper],:root[data-theme=sage]{--shadow-1:0 1px 2px #282c3f0d,0 4px 12px #282c3f14;--shadow-2:0 8px 26px #282c3f1a,0 2px 6px #282c3f0f;--shadow-3:0 24px 60px #282c3f29,0 8px 18px #282c3f1a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f1729;background:var(--bg-dark);color:#ecf2ff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-size:14px;letter-spacing:-.01em;line-height:1.6;text-rendering:optimizeLegibility;transition:background-color .3s cubic-bezier(.22,.61,.36,1),color .3s cubic-bezier(.22,.61,.36,1);transition:background-color .3s var(--ease-out),color .3s var(--ease-out)}*{scrollbar-color:#3a4360 #0000;scrollbar-color:var(--border) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#3a4360;background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:#a2b1cc;background-color:var(--text-muted)}.app{display:flex;min-height:100vh}.sidebar{background:#1a2238;background:var(--bg-card);border-right:1px solid #3a4360;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:background-color .25s ease,border-color .25s ease;width:240px;z-index:10}.sidebar-header{border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);padding:1.5rem 1rem}.sidebar-header h1{color:#ecf2ff;color:var(--text);font-size:1.25rem;font-weight:700}.nav{padding:1rem 0}.nav-link{align-items:center;border-left:3px solid #0000;color:#a2b1cc;color:var(--text-muted);cursor:pointer;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.nav-link:hover{background:#283149;background:var(--bg-hover);color:#ecf2ff;color:var(--text)}.nav-link:active{transform:translateX(1px)}.nav-link.active{background:#283149;background:var(--bg-hover);border-left-color:#38bdf8;border-left-color:var(--primary)}.nav-link .nav-kbd{border:1px solid #3a4360;border:1px solid var(--border);border-radius:4px;color:#a2b1cc;color:var(--text-muted);font-size:.62rem;line-height:1.5;margin-left:auto;opacity:.7;padding:0 5px}.theme-toggle{align-items:center;background:#283149;background:var(--bg-hover);border:1px solid #3a4360;border:1px solid var(--border);border-radius:6px;color:#ecf2ff;color:var(--text);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;justify-content:center;margin:1rem;padding:.5rem .75rem;transition:background-color .15s ease;width:calc(100% - 2rem)}.theme-toggle:hover{background:#3a4360;background:var(--border)}.nav-icon{height:20px;width:20px}.main{flex:1 1;margin-left:240px;min-width:0;padding:2rem}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.main>*{animation:pageIn .18s ease-out}.page-header{border-bottom:1px solid #3a4360;border-bottom:1px solid var(--hairline,var(--border));margin-bottom:1.6rem;padding-bottom:.9rem}.page-header h1{font-size:1.65rem;letter-spacing:-.03em}.page-header p{color:#a2b1cc;color:var(--text-muted)}.stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);border-radius:8px;min-width:0;overflow:hidden;padding:.875rem 1rem;transition:background-color .2s ease,border-color .2s ease,box-shadow .18s ease,transform .18s ease}.stat-card:hover{box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1);transform:translateY(-1px)}.stat-label{align-items:center;color:#a2b1cc;color:var(--text-muted);display:flex;font-size:.7rem;font-weight:600;gap:4px;letter-spacing:.5px;margin-bottom:.4rem;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";color:#ecf2ff;color:var(--text);font-size:1.42rem;font-variant-numeric:tabular-nums}.stat-value.positive{color:#34d399;color:var(--success)}.stat-value.negative{color:#fb7185;color:var(--danger)}.card{background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;overflow:hidden;transition:background-color .25s ease,border-color .25s ease}.card.compact{margin-bottom:.75rem}.card-header{align-items:center;border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem 1rem}.card.compact .card-header{padding:.5rem .875rem}.card-title{color:#ecf2ff;color:var(--text);font-size:.95rem;font-weight:600}.card.compact .card-title{font-size:.85rem}.table-container{overflow-x:auto}.table-container.scroll-y{max-height:480px;overflow-y:auto}table{border-collapse:collapse;width:100%}thead{background:#1a2238;background:var(--bg-card);border-bottom:2px solid #3a4360;border-bottom:2px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:2}th{background:#0000;border:none;color:#a2b1cc;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.6px;padding:.55rem .75rem;text-align:center;text-transform:uppercase;vertical-align:middle;white-space:nowrap}th.sortable{cursor:pointer;transition:color .12s ease;-webkit-user-select:none;user-select:none}th.sortable:hover{color:#38bdf8;color:var(--primary)}td{font-feature-settings:"tnum";border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);font-size:.85rem;font-variant-numeric:tabular-nums;line-height:1.4;padding:.5rem .75rem;text-align:center;vertical-align:middle!important}tbody tr{background:#0000;height:38px;transition:background-color .12s ease}tbody tr:nth-child(2n){background:hsla(0,0%,100%,.018);background:var(--row-stripe)}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover td:first-child{color:#38bdf8;color:var(--primary)}tbody tr:last-child td{border-bottom:none}td.col-name,th.col-name{text-align:left}td.row-actions,th:last-child{text-align:right}td.row-actions{display:table-cell;line-height:1;min-width:220px;white-space:nowrap}td.row-actions,td.row-actions>*{vertical-align:middle}td.row-actions>*+*{margin-left:.3rem}.row-actions .btn.btn-small{font-size:.72rem;height:25px;line-height:1;padding:.25rem .5rem}.row-actions .btn,.row-actions button{align-items:center;display:inline-flex;height:25px;justify-content:center}.card.compact td{font-size:.8rem}.card.compact td,.card.compact th{padding:.4rem .65rem}.amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.amount.positive{color:#34d399;color:var(--success)}.amount.negative{color:#fb7185;color:var(--danger)}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .13s ease,border-color .13s ease,color .13s ease,transform .1s ease,box-shadow .13s ease}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn:focus-visible{box-shadow:0 0 0 3px #38bdf859;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.btn-primary{color:#fff}.btn-secondary{background:#283149;background:var(--bg-hover);border:1px solid #3a4360;border:1px solid var(--border);color:#ecf2ff;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#3a4360;background:var(--border)}.btn-small{font-size:.8125rem;padding:.4rem .875rem}.btn-icon{background:none;border:none;border-radius:4px;color:#a2b1cc;color:var(--text-muted);cursor:pointer;padding:.5rem;transition:background-color .13s ease,color .13s ease,transform .1s ease}.btn-icon:hover{background:#283149;background:var(--bg-hover);color:#ecf2ff;color:var(--text)}.btn-icon:active{transform:scale(.92)}.badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.3px;padding:.25rem .625rem;text-transform:uppercase}.badge-primary{background:#3b82f61a;color:#38bdf8;color:var(--primary)}.badge-success{background:#10b9811a;color:#34d399;color:var(--success)}.badge-danger{background:#ef44441a;color:#fb7185;color:var(--danger)}.badge-info{background:#22d3ee1a;color:#22d3ee;color:var(--accent)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.modal-overlay{align-items:center;animation:overlayIn .15s ease-out;background:#000000bf;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal{animation:modalIn .18s ease-out;background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000059;box-shadow:var(--shadow-2);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-large{max-width:800px}.modal-xlarge{max-width:1200px}.modal-header{align-items:center;border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;border-radius:4px;color:#a2b1cc;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .13s ease,transform .1s ease}.modal-close:hover{color:#ecf2ff;color:var(--text);transform:scale(1.1)}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #3a4360;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}@keyframes drawerIn{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}.side-drawer{animation:drawerIn .2s ease-out}.drawer-overlay{animation:overlayIn .15s ease-out}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-pop{animation:menuIn .13s ease-out}.menu-pop button:hover:not(:disabled){background:#283149!important;background:var(--bg-hover)!important}@keyframes hbarGrow{0%{width:0}}.hbar-fill{animation:hbarGrow .4s ease-out;transition:width .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vbar-col{animation:fadeIn .3s ease-out backwards}.segmented{background:#283149;background:var(--bg-secondary);border:1px solid #3a4360;border:1px solid var(--border);border-radius:7px;display:inline-flex;gap:2px;padding:2px}.segmented button{background:#0000;border:none;border-radius:5px;color:#a2b1cc;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:600;padding:.22rem .65rem;transition:background-color .13s ease,color .13s ease;white-space:nowrap}.segmented button:hover{color:#ecf2ff;color:var(--text)}.segmented button.on{background:#1a2238;background:var(--bg-card);color:#38bdf8;color:var(--primary)}@keyframes wiggleA{0%{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}to{transform:rotate(-.5deg)}}@keyframes wiggleB{0%{transform:rotate(.5deg)}50%{transform:rotate(-.5deg)}to{transform:rotate(.5deg)}}.kpi-wiggle{animation:wiggleA .35s ease-in-out infinite}.kpi-wiggle:nth-child(2n){animation-name:wiggleB}.kpi-wiggle:active{animation:none}.arrange-section{border-radius:8px;cursor:grab;margin-bottom:1.25rem;outline:1.5px dashed #3a4360;outline:1.5px dashed var(--border);outline-offset:4px}.arrange-section.dragging{cursor:grabbing;opacity:.45}.arrange-handle{align-items:center;color:#38bdf8;color:var(--primary);display:flex;font-size:.72rem;font-weight:700;gap:8px;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase;-webkit-user-select:none;user-select:none}.arrange-grip{font-size:.9rem;line-height:1}.section-fit{border-radius:14px;border-radius:var(--radius)}.section-fit>*{margin-top:0!important}.section-fit .card:only-child,.section-fit>*,.section-fit>*>.card:last-child,.section-fit>.card:last-child{margin-bottom:0!important}.section-item .section-fit[style*=height]>*{min-height:100%}.section-item .section-collapsed-bar{margin-bottom:0}.resize-grip{align-items:center;display:flex;justify-content:center;position:absolute;touch-action:none;z-index:6}.resize-grip:after{background:#38bdf8;background:var(--primary);border-radius:3px;content:"";opacity:0;transition:opacity .12s ease}.section-item:hover .resize-grip:after{opacity:.3}.resize-grip:hover:after{opacity:.9}.resize-x{bottom:18px;cursor:ew-resize;justify-content:flex-end;right:0;top:0;width:14px}.resize-x:after{height:36px;margin-right:3px;width:3px}.resize-y{align-items:flex-end;bottom:0;cursor:ns-resize;height:14px;left:0;right:18px}.resize-y:after{height:3px;margin-bottom:3px;width:36px}.resize-c{align-items:flex-end;bottom:0;cursor:nwse-resize;height:18px;justify-content:flex-end;right:0;width:18px}.resize-c:after{border-radius:2px 2px 6px 2px;height:8px;margin:0 3px 3px 0;width:8px}.frameless-cards .card,.frameless-cards .card.compact{background:#0000;border-color:#0000}.frameless-cards .card-header{border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);padding-left:.25rem;padding-right:.25rem}.frameless-cards thead{background:#0f1729;background:var(--bg-dark)}.form-group{margin-bottom:1.25rem}.form-label{color:#ecf2ff;color:var(--text);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{background:#0f1729;background:var(--bg-dark);border:1px solid #3a4360;border:1px solid var(--border);border-radius:6px;color:#ecf2ff;color:var(--text);font-family:inherit;font-size:.85rem;padding:.45rem .75rem;transition:border-color .13s ease,box-shadow .13s ease,background-color .25s ease;width:100%}.form-input::placeholder{color:#a2b1cc;color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#38bdf8;border-color:var(--primary);box-shadow:0 0 0 3px #38bdf859;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.spinner{animation:spin .8s linear infinite;border:3px solid #3a4360;border-top-color:#38bdf8;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.card-title,.modal-title,.stat-value,h1,h2,h3{letter-spacing:-.022em}h1{font-weight:700}.card{border:1px solid var(--hairline);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1);transition:box-shadow .3s cubic-bezier(.22,.61,.36,1),transform .3s cubic-bezier(.22,.61,.36,1),border-color .2s ease,background-color .3s ease;transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out),border-color .2s ease,background-color .3s ease}.card:hover{border-color:color-mix(in srgb,#3a4360 100%,#0000);border-color:color-mix(in srgb,var(--border) 100%,#0000);box-shadow:0 6px 18px #00000059;box-shadow:var(--shadow-2)}.card.compact,.stat-card{border-radius:11px;border-radius:var(--radius-md)}.stat-card{background:linear-gradient(180deg,color-mix(in srgb,#ecf2ff 4%,#0000),#0000 42%),#1a2238;background:linear-gradient(180deg,color-mix(in srgb,var(--text) 4%,#0000),#0000 42%),var(--bg-card);border:1px solid var(--hairline);box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1);transition:transform .32s cubic-bezier(.34,1.42,.5,1),box-shadow .32s cubic-bezier(.22,.61,.36,1),border-color .2s ease;transition:transform .32s var(--ease-spring),box-shadow .32s var(--ease-out),border-color .2s ease}.stat-card:hover{box-shadow:0 6px 18px #00000059;box-shadow:var(--shadow-2);transform:translateY(-2px)}.stat-value{font-weight:700;letter-spacing:-.03em}.btn{border-radius:9px;border-radius:var(--radius-sm);font-weight:600;letter-spacing:-.01em;transition:background-color .18s cubic-bezier(.22,.61,.36,1),color .18s ease,transform .14s cubic-bezier(.34,1.42,.5,1),box-shadow .2s cubic-bezier(.22,.61,.36,1),border-color .18s ease;transition:background-color .18s var(--ease-out),color .18s ease,transform .14s var(--ease-spring),box-shadow .2s var(--ease-out),border-color .18s ease}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{background:#38bdf8;background:var(--primary);box-shadow:none}.btn-primary:hover:not(:disabled){background:#0ea5e9;background:var(--primary-hover);box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1);transform:translateY(-1px)}.btn-secondary{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,#1a2238 70%,#0000);background:color-mix(in srgb,var(--bg-card) 70%,#0000);border:1px solid var(--hairline)}.btn-secondary:hover:not(:disabled){background:#283149;background:var(--bg-hover);border-color:#3a4360;border-color:var(--border);transform:translateY(-1px)}.btn-icon{border-radius:9px;border-radius:var(--radius-sm)}.badge{padding:.22rem .7rem}.badge,.btn.btn-small{border-radius:999px;border-radius:var(--radius-pill)}.btn.btn-small{height:25px;line-height:1;white-space:nowrap}.btn.btn-small.btn-secondary{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:1px solid var(--hairline);color:#a2b1cc;color:var(--text-muted);font-size:.7rem;font-weight:650;letter-spacing:.015em;padding:0 .7rem}.btn.btn-small.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,#38bdf8 11%,#0000);background:color-mix(in srgb,var(--primary) 11%,#0000);border-color:color-mix(in srgb,#38bdf8 42%,#0000);border-color:color-mix(in srgb,var(--primary) 42%,#0000);box-shadow:none;color:#38bdf8;color:var(--primary);transform:none}.btn.btn-small.btn-primary{font-size:.7rem;padding:0 .8rem}.row-actions .btn-icon{align-items:center;border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;height:25px;justify-content:center;padding:0;width:25px}.row-actions .btn-icon:hover{color:#38bdf8;color:var(--primary)}.row-actions .btn-icon svg{height:14px;width:14px}.action-row .btn{height:34px;padding-bottom:0;padding-top:0}.insight{background:color-mix(in srgb,#38bdf8 8%,#1a2238);background:color-mix(in srgb,var(--primary) 8%,var(--bg-card));border-left:3.5px solid #38bdf8;border-left:3.5px solid var(--primary);border-radius:9px;font-size:.82rem;line-height:1.5;padding:.55rem .85rem}.insight strong{font-weight:700}.insight.good{background:color-mix(in srgb,#34d399 9%,#1a2238);background:color-mix(in srgb,var(--success) 9%,var(--bg-card));border-left-color:#34d399;border-left-color:var(--success)}.insight.bad{background:color-mix(in srgb,#fb7185 9%,#1a2238);background:color-mix(in srgb,var(--danger) 9%,var(--bg-card));border-left-color:#fb7185;border-left-color:var(--danger)}.insight.warn{background:color-mix(in srgb,#fbbf24 11%,#1a2238);background:color-mix(in srgb,var(--warning) 11%,var(--bg-card));border-left-color:#fbbf24;border-left-color:var(--warning)}.insight.info{background:color-mix(in srgb,#7c9bd4 10%,#1a2238);background:color-mix(in srgb,#7c9bd4 10%,var(--bg-card));border-left-color:#7c9bd4}.pill-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.62rem;font-weight:800;letter-spacing:.55px;padding:2px 10px;text-transform:uppercase;white-space:nowrap}.pill-status.good{background:#34d399;background:var(--success);color:#fff}.pill-status.warn{background:#fbbf24;background:var(--warning);color:#fff}.pill-status.bad{background:#fb7185;background:var(--danger);color:#fff}.pill-status.mute{background:#283149;background:var(--bg-secondary);color:#a2b1cc;color:var(--text-muted)}.net-chip{font-feature-settings:"tnum";border-radius:9px;flex:1 1;font-size:.68rem;font-variant-numeric:tabular-nums;line-height:1.35;min-width:52px;padding:.3rem .2rem;text-align:center}.net-chip .lbl{color:#a2b1cc;color:var(--text-secondary);font-weight:700}.net-chip.good{background:color-mix(in srgb,#34d399 12%,#0000);background:color-mix(in srgb,var(--success) 12%,#0000)}.net-chip.good .val{color:#34d399;color:var(--success);font-weight:700}.net-chip.bad{background:color-mix(in srgb,#fb7185 11%,#0000);background:color-mix(in srgb,var(--danger) 11%,#0000)}.net-chip.bad .val{color:#fb7185;color:var(--danger);font-weight:700}.form-input,.form-select,.form-textarea{border:1px solid var(--hairline);border-radius:9px;border-radius:var(--radius-sm);transition:border-color .18s ease,box-shadow .22s cubic-bezier(.22,.61,.36,1),background-color .3s ease;transition:border-color .18s ease,box-shadow .22s var(--ease-out),background-color .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3.5px #38bdf859;box-shadow:0 0 0 3.5px var(--focus-ring)}.segmented{border-color:var(--hairline);border-radius:999px;border-radius:var(--radius-pill)}.segmented button{border-radius:999px;border-radius:var(--radius-pill);transition:all .2s cubic-bezier(.22,.61,.36,1);transition:all .2s var(--ease-out)}.segmented button.on{box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1)}thead{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000}th{border-bottom:1px solid var(--hairline);font-size:.66rem;letter-spacing:.7px;padding-bottom:.6rem;padding-top:.6rem}td{border-bottom:1px solid color-mix(in srgb,#3a4360 45%,#0000);border-bottom:1px solid color-mix(in srgb,var(--border) 45%,#0000)}tbody tr{transition:background-color .16s cubic-bezier(.22,.61,.36,1),box-shadow .16s cubic-bezier(.22,.61,.36,1);transition:background-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}tbody tr:hover{background:#38bdf812;background:var(--row-hover)}tbody tr.clickable-row:hover,tbody tr.clickable:hover{box-shadow:inset 3px 0 0 #38bdf8;box-shadow:inset 3px 0 0 var(--primary)}.drawer-overlay,.modal-overlay{backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);background:#080a1480}.modal{animation:modalSpring .42s cubic-bezier(.34,1.42,.5,1);animation:modalSpring .42s var(--ease-spring);backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(var(--blur)) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(var(--blur)) saturate(160%);background:var(--glass);border:1px solid var(--hairline);border-radius:18px;border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-3)}@keyframes modalSpring{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.side-drawer{animation:drawerSpring .4s cubic-bezier(.34,1.42,.5,1);animation:drawerSpring .4s var(--ease-spring);backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(var(--blur)) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(var(--blur)) saturate(160%);background:var(--glass)!important;border-left:1px solid var(--hairline)!important;box-shadow:var(--shadow-3)!important}@keyframes drawerSpring{0%{opacity:0;transform:translateX(56px)}to{opacity:1;transform:none}}.menu-pop{animation:menuSpring .2s cubic-bezier(.34,1.42,.5,1)!important;animation:menuSpring .2s var(--ease-spring)!important;backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(var(--blur)) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(var(--blur)) saturate(160%);background:var(--glass)!important;border:1px solid var(--hairline)!important;border-radius:11px!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-3)!important}@keyframes menuSpring{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}.sidebar{border-right:1px solid var(--hairline)}.nav-link{border-left:none;border-radius:9px;border-radius:var(--radius-sm);margin:1px .5rem;padding-left:.85rem;transition:background-color .18s cubic-bezier(.22,.61,.36,1),color .18s ease,transform .16s cubic-bezier(.34,1.42,.5,1);transition:background-color .18s var(--ease-out),color .18s ease,transform .16s var(--ease-spring)}.nav-link.active{background:color-mix(in srgb,#38bdf8 16%,#0000);background:color-mix(in srgb,var(--primary) 16%,#0000);border-left:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,#38bdf8 28%,#0000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 28%,#0000);color:#ecf2ff;color:var(--text)}.nav-link.active .nav-icon{transform:scale(1.08)}.nav-link:active{transform:scale(.98)}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.main>*{animation:riseIn .4s cubic-bezier(.22,.61,.36,1) both;animation:riseIn .4s var(--ease-out) both}.spinner{border-width:2.5px}.chart-line{stroke-linecap:round;stroke-linejoin:round}thead{border-bottom:none}:root[data-theme=light] .card,:root[data-theme=light] .stat-card,:root[data-theme=paper] .card,:root[data-theme=paper] .stat-card,:root[data-theme=sage] .card,:root[data-theme=sage] .stat-card{background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);box-shadow:0 1px 2px #282c280a}:root[data-theme=light] .card:hover,:root[data-theme=paper] .card:hover,:root[data-theme=sage] .card:hover{box-shadow:0 3px 10px #282c2812}:root[data-theme=light] .stat-card:hover,:root[data-theme=paper] .stat-card:hover,:root[data-theme=sage] .stat-card:hover{box-shadow:0 3px 10px #282c2814;transform:translateY(-1px)}:root[data-theme=light] .menu-pop,:root[data-theme=light] .modal,:root[data-theme=light] .side-drawer,:root[data-theme=paper] .menu-pop,:root[data-theme=paper] .modal,:root[data-theme=paper] .side-drawer,:root[data-theme=sage] .menu-pop,:root[data-theme=sage] .modal,:root[data-theme=sage] .side-drawer{backdrop-filter:none;-webkit-backdrop-filter:none;background:#1a2238!important;background:var(--bg-card)!important}.stat-label{font-size:.66rem;letter-spacing:.7px}.stat-value{font-size:1.5rem}.stat-card{border-radius:13px;min-height:92px;padding:1rem 1.1rem}.stat-card:hover{transform:none}.nav-icon{align-items:center;display:inline-flex;height:auto;opacity:.85;width:auto}.nav-link.active .nav-icon{opacity:1;transform:none}.bottom-nav-icon{display:inline-flex;line-height:1}.section-item{position:relative}.section-collapse-btn{align-items:center;background:#1a2238;background:var(--bg-card);border:1px solid var(--hairline);border-bottom:none;border-radius:8px 8px 0 0;color:#a2b1cc;color:var(--text-muted);cursor:pointer;display:inline-flex;height:15px;justify-content:center;opacity:0;padding:0;position:absolute;right:10px;top:-15px;transition:opacity .15s ease,color .15s ease;width:30px;z-index:6}.section-item:hover .section-collapse-btn{opacity:1}.section-collapse-btn:hover{border-color:#38bdf8;border-color:var(--primary);color:#38bdf8;color:var(--primary)}@media (hover:none){.section-collapse-btn{opacity:.45}}.section-collapsed-bar{align-items:center;background:#1a2238;background:var(--bg-card);border:1px dashed #3a4360;border:1px dashed var(--border);border-radius:11px;color:#a2b1cc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:8px;padding:.55rem .9rem;text-align:left;transition:border-color .15s ease,color .15s ease;width:100%}.section-collapsed-bar:hover{border-color:#38bdf8;border-color:var(--primary);color:#ecf2ff;color:var(--text)}.align-guide{background:none;pointer-events:none;position:absolute;z-index:60}.align-guide.v{border-left:1.5px dashed #38bdf8;border-left:1.5px dashed var(--primary);width:0}.align-guide.h{border-top:1.5px dashed #38bdf8;border-top:1.5px dashed var(--primary);height:0}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.action-sheet{animation:sheetUp .18s ease-out;background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);border-radius:16px;bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:var(--shadow-3);left:50%;padding:.5rem;position:fixed;transform:translateX(-50%);width:min(360px,calc(100vw - 24px));z-index:120}.action-sheet .sheet-title{color:#a2b1cc;color:var(--text-muted);font-size:.66rem;font-weight:800;letter-spacing:.6px;padding:.4rem .75rem .5rem;text-transform:uppercase}.sheet-action{align-items:center;background:#0000;border:none;border-radius:10px;color:#ecf2ff;color:var(--text);cursor:pointer;display:flex;font-size:.86rem;font-weight:600;gap:10px;padding:.65rem .75rem;text-align:left;width:100%}.sheet-action:hover{background:#283149;background:var(--bg-hover)}.sheet-action.danger{color:#fb7185;color:var(--danger)}.sheet-action.cancel{border-radius:0 0 10px 10px;border-top:1px solid var(--hairline);justify-content:center;margin-top:4px}.pane-tab,.sheet-action.cancel{color:#a2b1cc;color:var(--text-muted)}.pane-tab{align-items:center;background:#1a2238;background:var(--bg-card);border:1px solid #3a4360;border:1px solid var(--border);border-radius:10px 0 0 10px;border-right:none;box-shadow:0 1px 3px #00000040;box-shadow:var(--shadow-1);cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:.55rem .32rem .55rem .4rem;position:fixed;right:0;top:50%;transform:translateY(-50%);transition:color .15s ease,padding .15s ease,border-color .15s ease;z-index:60}.pane-tab:hover{border-color:#38bdf8;border-color:var(--primary);color:#38bdf8;color:var(--primary);padding-right:.5rem}.pane-tab-count{background:#38bdf8;background:var(--primary);border-radius:999px;color:#fff;font-size:.58rem;font-weight:800;line-height:1;padding:2px 5px}.danger-chip{justify-content:flex-start}.danger-chip:hover:not(:disabled){background:color-mix(in srgb,#fb7185 12%,#0000)!important;background:color-mix(in srgb,var(--danger) 12%,#0000)!important;border-color:color-mix(in srgb,#fb7185 45%,#0000)!important;border-color:color-mix(in srgb,var(--danger) 45%,#0000)!important;color:#fb7185!important;color:var(--danger)!important}.assistant-fab{align-items:center;background:#38bdf8;background:var(--primary);border:none;border-radius:50%;bottom:18px;box-shadow:0 6px 18px #00000059;box-shadow:var(--shadow-2);color:#fff;cursor:pointer;display:flex;height:46px;justify-content:center;position:fixed;right:18px;transition:transform .15s cubic-bezier(.34,1.42,.5,1),background-color .15s ease;transition:transform .15s var(--ease-spring),background-color .15s ease;width:46px;z-index:90}.assistant-fab:hover{background:#0ea5e9;background:var(--primary-hover);transform:scale(1.06)}@keyframes drawerInLeft{0%{opacity:0;transform:translateX(-56px)}to{opacity:1;transform:none}}.settings-drawer{animation:drawerInLeft .25s cubic-bezier(.22,.61,.36,1)!important;animation:drawerInLeft .25s var(--ease-out)!important;border-left:none!important;box-shadow:8px 0 22px #0000002e!important}tbody tr:nth-child(2n){background:#0000}th{font-weight:650;opacity:.9}.insight-dismiss{align-items:center;background:#0000;border:none;border-radius:999px;color:#a2b1cc;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;opacity:.45;transition:opacity .12s ease,background-color .12s ease;width:20px}.insight:hover .insight-dismiss{opacity:1}.insight-dismiss:hover{background:color-mix(in srgb,#ecf2ff 10%,#0000);background:color-mix(in srgb,var(--text) 10%,#0000)}@media (hover:none){.insight-dismiss{opacity:.7}}.budget-row{grid-gap:10px;align-items:center;border-bottom:1px solid color-mix(in srgb,#3a4360 40%,#0000);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,#0000);display:grid;gap:10px;grid-template-columns:minmax(90px,150px) 88px minmax(40px,1fr) auto auto;padding:.32rem 0}@media (max-width:768px){.kpi-grid{gap:.5rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi-grid .stat-card,.stat-card{border-radius:11px;min-height:0;padding:.6rem .7rem}.stat-label{font-size:.56rem;letter-spacing:.45px;margin-bottom:.25rem}.stat-value{font-size:1.02rem}.stat-sub{-webkit-line-clamp:1!important;font-size:.58rem!important}.spark{height:16px;margin-top:2px}.budget-row{grid-template-columns:minmax(0,1fr) 74px auto;grid-template-rows:auto auto;padding:.45rem 0;row-gap:4px}.budget-row .budget-bar{grid-column:1/3;grid-row:2}.budget-row .budget-amt{font-size:.68rem!important;grid-column:3;grid-row:2}.assistant-fab{bottom:calc(78px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bottom-nav{background:#1a2238;background:var(--bg-card);border-top:1px solid #3a4360;border-top:1px solid var(--border);bottom:0;display:none;justify-content:space-around;left:0;padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));position:fixed;right:0;z-index:60}.bottom-nav-item{align-items:center;background:none;border:none;border-radius:8px;color:#a2b1cc;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:inherit;font-size:.6rem;font-weight:600;gap:2px;padding:.3rem 0 .25rem;transition:color .13s ease,background-color .13s ease}.bottom-nav-item.active{color:#38bdf8;color:var(--primary)}.bottom-nav-item:active{background:#283149;background:var(--bg-hover)}.bottom-nav-icon{font-size:1.2rem;line-height:1.1}@keyframes sheetIn{0%{opacity:.6;transform:translateY(36px)}to{opacity:1;transform:none}}@media (max-width:768px){.app{flex-direction:column}.sidebar{border-bottom:1px solid #3a4360;border-bottom:1px solid var(--border);border-right:none;height:auto;overflow-y:visible;position:static;width:100%}.sidebar .nav{display:none}.sidebar-header{padding:.7rem 1rem .45rem}.sidebar-header h1{font-size:1.05rem}.theme-toggle{margin:.45rem 1rem}.bottom-nav{display:flex}.main{margin-left:0;padding:.9rem .75rem calc(74px + env(safe-area-inset-bottom))}.page-header{margin-bottom:1rem}.page-header h1{font-size:1.3rem}.stats{gap:.6rem;grid-template-columns:1fr 1fr}.stat-value{font-size:1.05rem}.form-row{grid-template-columns:1fr}.btn{min-height:40px}.btn-small,.row-actions .btn.btn-small,.row-actions button{min-height:32px}.segmented button{padding:.3rem .6rem}td,th{font-size:.78rem;padding:.4rem .5rem}.card.compact td,.card.compact th{padding:.35rem .45rem}td.row-actions{min-width:0}.modal-overlay{align-items:flex-end;padding:0}.modal{animation:sheetIn .22s ease-out;border-bottom:none;border-radius:16px 16px 0 0;max-height:92dvh;max-width:100%}.modal-body,.modal-header{padding:1rem}.modal-footer{background:#1a2238;background:var(--bg-card);bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));position:-webkit-sticky;position:sticky}.side-drawer{width:100vw!important}.section-item{min-width:100%!important;width:100%!important}.section-fit{height:auto!important;overflow:visible!important}.nav-kbd,.resize-grip{display:none}}
/*# sourceMappingURL=main.2ac58f79.css.map*/