:root{color-scheme:dark;--bg: #101114;--panel: #181a20;--panel-soft: #20232b;--panel-muted: #15171c;--border: #30343d;--text: #f4f6f8;--muted: #9aa3af;--accent: #3b82f6;--accent-soft: rgba(59, 130, 246, .14);--income: #22c55e;--expense: #ef4444;--warning: #f59e0b;--paid: #14b8a6;--shadow: 0 18px 50px rgba(0, 0, 0, .24);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{color:var(--text);background:var(--panel-soft);border:1px solid var(--border)}.boot-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:32px;box-shadow:var(--shadow)}.login-mark,.brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--accent);font-weight:800}.login-panel h1,.topbar h1,.panel h2{margin:0;letter-spacing:0}.login-panel p,.topbar p,.empty{color:var(--muted)}.login-panel label,.settings-panel label,.form-grid label{display:grid;gap:8px;color:var(--muted);font-size:13px}.login-panel input,.search-input,.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select,.settings-panel textarea,.panel select{width:100%;border-radius:8px;padding:10px 12px;outline:none}.primary-button,.ghost-button,.nav-item,.row-actions button{border:1px solid transparent;border-radius:8px;padding:10px 14px;color:var(--text);background:var(--panel-soft)}.primary-button{width:100%;margin-top:18px;background:var(--accent);font-weight:700}.ghost-button{border-color:var(--border)}.form-error,.toast{border-radius:8px;padding:10px 12px;background:#ef444424;color:#fecaca}.app-shell{min-height:100vh;display:flex}.sidebar{width:260px;flex:0 0 260px;display:flex;flex-direction:column;gap:28px;padding:24px;background:#13151a;border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:var(--muted);font-size:12px}.nav-list{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:var(--muted)}.nav-item span{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--panel-soft);color:var(--text);font-size:12px}.nav-item.active,.nav-item:hover{color:var(--text);background:var(--accent-soft)}.sidebar-logout{margin-top:auto}.main-content{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;border-bottom:1px solid var(--border)}.topbar h1{font-size:24px}.topbar p{margin:3px 0 0;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:10px}.search-input{width:220px}.toast{margin:18px 28px 0;background:#3b82f629;color:#bfdbfe}.content-area{flex:1;padding:28px;overflow:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.metric-card{padding:18px}.metric-card span{display:block;color:var(--muted);font-size:13px}.metric-card strong{display:block;margin-top:10px;font-size:24px}.metric-card.income strong{color:var(--income)}.metric-card.expense strong{color:var(--expense)}.metric-card.warning strong{color:var(--warning)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:18px}.work-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px;align-items:start}.panel{padding:18px}.panel.wide{grid-column:span 1}.panel-header{margin-bottom:16px}.panel h2{font-size:16px}.panel-subtitle{margin:6px 0 0;color:var(--muted);font-size:13px}.split-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.filters,.button-row{display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span-2{grid-column:span 2}textarea{resize:vertical}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.data-table th{color:var(--muted);font-size:12px;font-weight:700}.data-table small{display:block;margin-top:3px;color:var(--muted)}.row-actions{display:flex;justify-content:flex-end;gap:6px}.row-actions button{padding:6px 9px;font-size:12px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.pill.income{color:#bbf7d0;background:#22c55e24}.pill.expense{color:#fecaca;background:#ef444424}.pill.pending{color:#fde68a;background:#f59e0b24}.pill.paid{color:#99f6e4;background:#14b8a624}.pill.skipped{color:#cbd5e1;background:#94a3b824}.bar-chart,.stack-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:78px 1fr 110px;align-items:center;gap:12px;color:var(--muted);font-size:13px}.bar-row div{height:12px;overflow:hidden;border-radius:999px;background:var(--panel-soft)}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--income)}.list-card{padding:12px;border-radius:8px;background:var(--panel-soft);border-left:4px solid var(--border)}.list-card strong,.list-card span{display:block}.list-card span{margin-top:4px;color:var(--muted);font-size:13px}.due-soon{border-left-color:var(--warning)}.overdue{border-left-color:var(--expense)}.timeline-panel{margin-bottom:18px}.timeline-hint{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:var(--muted);background:var(--panel-soft);font-size:12px}.horizontal-timeline{display:grid;grid-auto-flow:column;grid-auto-columns:220px;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 4px 14px;scrollbar-color:var(--border) transparent;scroll-snap-type:x proximity}.timeline-card{min-height:150px;display:grid;align-content:start;gap:9px;scroll-snap-align:start;border:1px solid var(--border);border-top:4px solid var(--border);border-radius:8px;padding:14px;background:var(--panel-soft)}.timeline-card.income{border-top-color:var(--income)}.timeline-card.expense{border-top-color:var(--expense)}.timeline-card.pending{border-top-color:var(--warning)}.timeline-card.paid{border-top-color:var(--paid)}.timeline-card.due-soon{box-shadow:inset 0 0 0 1px #f59e0b59}.timeline-card.overdue{box-shadow:inset 0 0 0 1px #ef444466}.timeline-card time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.timeline-card strong,.timeline-card em,.timeline-card small{display:block}.timeline-card strong{min-height:38px;color:var(--text);font-size:15px;line-height:1.35}.timeline-card em{color:var(--text);font-style:normal;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.timeline-card small{color:var(--muted);line-height:1.35}.triple-chart{min-height:280px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:14px}.triple-row{display:grid;grid-template-rows:24px 180px 40px;justify-items:center;color:var(--muted);font-size:12px}.triple-bars{display:flex;align-items:end;gap:5px;height:180px}.triple-bars i{width:18px;min-height:4px;border-radius:5px 5px 0 0;background:var(--accent)}.triple-bars .income,.legend .income{background:var(--income)}.triple-bars .expense,.legend .expense{background:var(--expense)}.legend{display:flex;gap:12px;align-items:center;margin-top:12px;color:var(--muted);font-size:13px}.legend span{width:10px;height:10px;border-radius:50%}.legend .net{background:var(--accent)}.category-row{display:flex;justify-content:space-between;gap:16px;padding:12px;border-radius:8px;background:var(--panel-soft)}.settings-panel{max-width:680px;display:grid;gap:16px}@media(max-width:980px){.app-shell,.topbar,.work-grid,.dashboard-layout{display:block}.sidebar{width:100%;flex:auto;border-right:0;border-bottom:1px solid var(--border)}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions{margin-top:14px}.metric-grid{grid-template-columns:1fr 1fr}.panel,.metric-grid{margin-bottom:16px}}@media(max-width:620px){.content-area,.topbar,.sidebar{padding:18px}.metric-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.topbar-actions,.filters,.button-row{align-items:stretch;flex-direction:column}.search-input{width:100%}.data-table{min-width:720px}.table-panel{overflow-x:auto}}
