:root{--bg-body:#eef1f6;--bg-card:white;--bg-card-hover:#fafbfc;--bg-input:#fafbfc;--bg-input-focus:white;--bg-section:white;--bg-table-head:#f8fafc;--bg-table-stripe:#fafbfc;--bg-summary:#f8fafc;--bg-formula:#eff6ff;--bg-preview:linear-gradient(135deg, #f0f7ff 0%, #f5f0ff 100%);--bg-compare:white;--bg-toggle-group:#f1f5f9;--bg-modal:white;--bg-modal-overlay:#00000080;--bg-setup:#fffbeb;--bg-edit-banner:#fffbeb;--bg-delta-col-th:#f0f4f8;--bg-delta-col-td:#fafbfc;--bg-latest-row:#fdfeff;--bg-export:#f0fdf4;--bg-export-hover:#dcfce7;--bg-btn-edit-hover:#eff6ff;--bg-btn-delete-hover:#fef2f2;--border-main:#e2e8f0;--border-input:#d1d9e0;--border-formula:#bfdbfe;--border-preview:#e0e7ff;--border-summary:#e8ecf0;--border-setup:#fcd34d;--border-edit:#fcd34d;--border-table-divider:#e2e8f0;--border-table-row:#f1f5f9;--border-outflow-line:#fca5a5;--text-primary:#1e2d3d;--text-secondary:#334155;--text-muted:#64748b;--text-faint:#94a3b8;--text-code:#cbd5e1;--text-heading:#0f172a;--text-setup:#78350f;--text-setup-sub:#92400e;--text-edit-banner:#92400e;--text-formula:#1e40af;--text-settings-info:#1e40af;--text-export:#15803d;--border-export:#bbf7d0;--shadow-card:0 1px 6px #00000012;--shadow-modal:0 20px 60px #00000040;--accent-blue:#1d4ed8;--accent-orange:#c2410c;--accent-violet:#6d28d9;--accent-teal:#0d9488;--accent-rose:#be123c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--bg-body:#0f1419;--bg-card:#1a2332;--bg-card-hover:#1e2a3a;--bg-input:#1a2332;--bg-input-focus:#1e2a3a;--bg-section:#1a2332;--bg-table-head:#151d28;--bg-table-stripe:#151d28;--bg-summary:#151d28;--bg-formula:#111927;--bg-preview:linear-gradient(135deg, #111927 0%, #15112a 100%);--bg-compare:#1a2332;--bg-toggle-group:#111927;--bg-modal:#1a2332;--bg-modal-overlay:#000000b3;--bg-setup:#1a1a0e;--bg-edit-banner:#1a1a0e;--bg-delta-col-th:#111927;--bg-delta-col-td:#151d28;--bg-latest-row:#1e2a3a;--bg-export:#0a2e1a;--bg-export-hover:#14532d;--bg-btn-edit-hover:#3b82f61f;--bg-btn-delete-hover:#dc26261f;--border-main:#2a3545;--border-input:#2a3545;--border-formula:#1e3a5f;--border-preview:#1e2a5f;--border-summary:#2a3545;--border-setup:#5c4a1a;--border-edit:#5c4a1a;--border-table-divider:#2a3545;--border-table-row:#1e2a3a;--border-outflow-line:#7f1d1d;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-faint:#64748b;--text-code:#475569;--text-heading:#f1f5f9;--text-setup:#fcd34d;--text-setup-sub:#fbbf24;--text-edit-banner:#fbbf24;--text-formula:#93c5fd;--text-settings-info:#93c5fd;--text-export:#86efac;--border-export:#166534;--shadow-card:0 1px 6px #0000004d;--shadow-modal:0 20px 60px #0009;--accent-blue:#60a5fa;--accent-orange:#fb923c;--accent-violet:#a78bfa;--accent-teal:#2dd4bf;--accent-rose:#fb7185;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;transition:background .3s,color .3s}.header{color:#fff;z-index:100;background:linear-gradient(135deg,#0c1f3a 0%,#163a6b 100%);justify-content:space-between;align-items:center;height:62px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 16px #00000040}.header-logo{width:auto;height:44px;display:block}.header-right{align-items:center;gap:10px;display:flex}.sync-status{letter-spacing:.2px;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600}.sync-none{color:#ffffff80;background:#ffffff1a}.sync-loading,.sync-saving{color:#93c5fd;background:#ffffff1a}.sync-ok{color:#86efac;background:#16a34a40}.sync-error{color:#fca5a5;background:#dc262640}.main{max-width:1440px;margin:0 auto;padding:28px 32px 60px}.dashboard{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.dash-cards{gap:10px 16px;display:grid}.dash-cards.cols-3{grid-template-columns:repeat(3,1fr)}.dash-cards.cols-4{grid-template-columns:repeat(4,1fr)}.dash-row-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);padding:4px 2px 0;font-size:10px;font-weight:700}.card{background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid var(--border-main);border-radius:14px;padding:22px 24px;transition:background .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.card:after{content:"";background:var(--border-main);height:3px;position:absolute;top:0;left:0;right:0}.card.blue:after{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.card.orange:after{background:linear-gradient(90deg,#ea580c,#fb923c)}.card.teal:after{background:linear-gradient(90deg,#0d9488,#2dd4bf)}.card.indigo:after{background:linear-gradient(90deg,#4f46e5,#818cf8)}.card.violet:after{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.card.rose:after{background:linear-gradient(90deg,#e11d48,#fb7185)}.card-icon{margin-bottom:10px;font-size:22px}.card-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.card-value{color:var(--text-heading);margin-bottom:6px;font-size:28px;font-weight:800}.card-value.blue{color:var(--accent-blue)}.card-value.orange{color:var(--accent-orange)}.card-value.teal{color:var(--accent-teal)}.card-value.violet{color:var(--accent-violet)}.card-value.rose{color:var(--accent-rose)}.card-delta{align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.card-delta.up{color:#16a34a}.card-delta.down{color:#dc2626}.card-delta.neutral{color:var(--text-faint)}.card-code{color:var(--text-code);margin-top:6px;font-family:monospace;font-size:10px}.compare-bar{background:var(--bg-compare);border:1px solid var(--border-main);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 18px;font-size:13px;display:flex}.compare-bar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.compare-sep{color:var(--text-faint);font-weight:600}.compare-select{background:var(--bg-input);border:1px solid var(--border-main);color:var(--text-primary);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600}.compare-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.chart-section{background:var(--bg-section);box-shadow:var(--shadow-card);border:1px solid var(--border-main);border-radius:14px;margin-bottom:24px;padding:24px 28px}.chart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.chart-title{color:var(--text-heading);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.chart-toggles{align-items:center;gap:8px;display:flex}.chart-toggle-group{background:var(--bg-toggle-group);border:1px solid var(--border-main);border-radius:8px;display:flex;overflow:hidden}.chart-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.chart-toggle-btn.active{color:#fff;background:#163a6b}.chart-toggle-btn:hover:not(.active){background:var(--border-main)}.chart-metrics{flex-wrap:wrap;gap:6px;display:flex}.chart-metric-btn{border:1.5px solid var(--border-main);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.chart-metric-btn.active{color:#fff;border-color:currentColor}.chart-canvas-wrap{width:100%;height:320px;position:relative}.section{background:var(--bg-section);box-shadow:var(--shadow-card);border:1px solid var(--border-main);border-radius:14px;margin-bottom:24px;padding:28px;transition:background .3s,border-color .3s,box-shadow .3s}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{color:var(--text-heading);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.formula-bar{background:var(--bg-formula);border:1px solid var(--border-formula);border-radius:10px;flex-wrap:wrap;gap:32px;margin-bottom:22px;padding:13px 18px;font-size:13px;display:flex}.formula-item{color:var(--text-formula);align-items:center;gap:6px;display:flex}.formula-label{font-weight:700}.formula-eq{color:#3b82f6}.form-grid{grid-template-columns:160px repeat(5,1fr);align-items:end;gap:14px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:700}.form-group input{border:1.5px solid var(--border-input);color:var(--text-primary);background:var(--bg-input);border-radius:9px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus{background:var(--bg-input-focus);border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.calc-preview{background:var(--bg-preview);border:1px solid var(--border-preview);border-radius:10px;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding:18px 20px;display:grid}.calc-item{flex-direction:column;gap:3px;display:flex}.calc-item-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.calc-item-value{color:var(--text-heading);font-size:22px;font-weight:800}.calc-item-value.blue{color:var(--accent-blue)}.calc-item-value.violet{color:var(--accent-violet)}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{color:#fff;background:#163a6b}.btn-primary:hover{background:#0c2a50}.btn-secondary{background:var(--bg-toggle-group);color:var(--text-secondary);border:1.5px solid var(--border-main)}.btn-secondary:hover{background:var(--border-main)}.btn-export{background:var(--bg-export);color:var(--text-export);border:1.5px solid var(--border-export)}.btn-export:hover{background:var(--bg-export-hover)}.btn-settings{color:#fff;background:#ffffff1f;border:1px solid #fff3}.btn-settings:hover{background:#fff3}.btn-edit{color:#3b82f6;background:0 0;border:none;border-radius:7px;padding:6px 8px;font-size:13px}.btn-edit:hover{background:var(--bg-btn-edit-hover)}.btn-delete{color:#dc2626;background:0 0;border:none;border-radius:7px;padding:6px 8px;font-size:13px}.btn-delete:hover{background:var(--bg-btn-delete-hover)}.table-wrapper{border:1px solid var(--border-main);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead{background:var(--bg-table-head)}th{text-align:right;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1.5px solid var(--border-main);white-space:nowrap;padding:11px 14px;font-size:10px;font-weight:700}th:first-child{text-align:left}th.divider{border-left:2px solid var(--border-table-divider)}td{text-align:right;border-bottom:1px solid var(--border-table-row);color:var(--text-secondary);white-space:nowrap;padding:12px 14px}td:first-child{text-align:left}td.divider{border-left:2px solid var(--border-table-row)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-card-hover)}tr.latest-row td{background:var(--bg-latest-row)}.week-badge-latest{color:#fff;text-transform:uppercase;letter-spacing:.4px;background:#3b82f6;border-radius:4px;margin-right:6px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.week-date{color:var(--text-primary);font-weight:600}.closed-cash-cell{color:var(--accent-blue);font-size:13px;font-weight:700}.eow-cash-cell{color:var(--accent-violet);font-size:13px;font-weight:700}.coh-after-cell{color:var(--accent-orange);font-weight:700}th.coh-after-header{color:#c2410c!important}.outflow-cell{color:#dc2626}th.outflow-header{color:#dc2626!important}.delta-pos{color:#16a34a;font-weight:700}.delta-neg{color:#dc2626;font-weight:700}.delta-zero{color:var(--text-faint)}th.delta-col{background:var(--bg-delta-col-th);color:var(--text-faint)}td.delta-col{background:var(--bg-delta-col-td)}.action-cell{justify-content:flex-end;gap:2px;display:flex}.summary-strip{background:var(--bg-summary);border:1px solid var(--border-summary);color:var(--text-muted);border-radius:8px;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:12px 16px;font-size:12px;display:flex}.summary-strip b{color:var(--text-primary)}.outflows-label{text-transform:uppercase;letter-spacing:.7px;color:#dc2626;align-items:center;gap:8px;margin-top:20px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.outflows-label:before{content:"";background:var(--border-outflow-line);width:20px;height:1px;display:block}.outflows-label:after{content:"";background:var(--border-outflow-line);flex:1;height:1px;display:block}.form-grid-outflows{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.field-note{color:var(--text-faint);text-transform:none;letter-spacing:0;margin-left:4px;font-size:10px;font-weight:400}.edit-banner{background:var(--bg-edit-banner);border:1px solid var(--border-edit);color:var(--text-edit-banner);border-radius:8px;margin-bottom:14px;padding:8px 14px;font-size:13px;font-weight:600}.theme-toggle{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .15s;display:flex}.theme-toggle:hover{background:#fff3}.modal-overlay{background:var(--bg-modal-overlay);z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-modal);width:560px;max-width:95vw;max-height:90vh;box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;gap:16px;padding:28px;display:flex;overflow-y:auto}.modal-box h3{color:var(--text-heading);font-size:16px;font-weight:700}.modal-box .modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.modal-box textarea{border:1.5px solid var(--border-main);resize:vertical;color:var(--text-secondary);background:var(--bg-input);border-radius:8px;min-height:240px;padding:12px;font-family:Courier New,monospace;font-size:12px}.empty-state{text-align:center;color:var(--text-faint);padding:64px 20px}.empty-state .empty-icon{margin-bottom:14px;font-size:52px}.empty-state h3{color:var(--text-muted);margin-bottom:6px;font-size:17px;font-weight:600}.empty-state p{font-size:14px}.auth-page{background:var(--bg-body);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid var(--border-main);border-radius:16px;width:420px;max-width:95vw;padding:40px}.auth-card h2{color:var(--text-heading);margin-bottom:6px;font-size:20px;font-weight:700}.auth-card p{color:var(--text-muted);margin-bottom:24px;font-size:14px}.auth-card .form-group{margin-bottom:16px}.auth-card .btn-primary{justify-content:center;width:100%;margin-top:8px}.auth-toggle{text-align:center;color:var(--text-muted);margin-top:16px;font-size:13px}.auth-toggle button{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.form-actions{align-items:center;gap:12px;margin-top:18px;display:flex}.msg{font-size:13px}.msg.success{color:#16a34a}.msg.error{color:#dc2626}.user-menu{position:relative}.user-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.user-btn:hover{background:#fff3}.user-dropdown{background:var(--bg-card);border:1px solid var(--border-main);box-shadow:var(--shadow-modal);z-index:200;border-radius:10px;min-width:180px;margin-top:6px;padding:6px;position:absolute;top:100%;right:0}.user-dropdown button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px;display:block}.user-dropdown button:hover{background:var(--bg-card-hover)}@media (width<=900px){.form-grid,.form-grid-outflows{grid-template-columns:1fr 1fr}.dash-cards.cols-3{grid-template-columns:1fr}.dash-cards.cols-4{grid-template-columns:1fr 1fr}.main{padding:16px}}
