:root{color-scheme:light;--bg: #f5f8fb;--surface: #ffffff;--surface-soft: #eef7f8;--text: #172033;--muted: #667085;--line: #dbe5ec;--navy: #12304a;--teal: #0f766e;--teal-2: #14b8a6;--blue: #0ea5e9;--green: #16a34a;--red: #dc2626;--orange: #f97316;--shadow: 0 18px 45px rgba(15, 23, 42, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}button,input{font:inherit}a{color:inherit;text-decoration:none}main{width:100%}table{width:100%;border-collapse:collapse}th,td{padding:.9rem 1rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:270px;height:100vh;flex:0 0 270px;border-right:1px solid var(--line);background:#ffffffe6;padding:1.25rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:20}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand__mark{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;box-shadow:0 10px 25px #0ea5e938}.brand strong,.brand span{display:block}.brand strong{font-size:1.05rem}.brand span{color:var(--muted);font-size:.82rem}.brand--large{margin-bottom:2rem}.brand--large strong{font-size:1.25rem}.sidebar__nav{display:grid;gap:.35rem;margin-top:1.5rem}.sidebar__nav a{display:flex;align-items:center;gap:.7rem;border-radius:10px;color:#475467;padding:.72rem .85rem;font-weight:650}.sidebar__nav a.active,.sidebar__nav a:hover{background:#e9f7f6;color:var(--teal)}.shell-main{min-width:0;flex:1}.topbar{position:sticky;top:0;display:flex;align-items:center;gap:1rem;height:74px;border-bottom:1px solid var(--line);background:#f5f8fbd1;padding:0 1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10}.topbar__search{flex:1;max-width:620px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:.8rem 1rem}.topbar__actions{display:flex;align-items:center;gap:.8rem;color:var(--muted)}.avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:var(--navy);color:#fff;font-weight:800}.menu-button{display:none}.page-stack{display:grid;gap:1.35rem;max-width:1320px;margin:0 auto;padding:1.5rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.page-header h1{margin:.15rem 0 0;font-size:clamp(2rem,4vw,3rem);letter-spacing:0}.page-header p{max-width:760px;margin:.5rem 0 0;color:var(--muted);line-height:1.6}.eyebrow{color:var(--teal);font-size:.78rem;font-weight:800;text-transform:uppercase}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:10px;cursor:pointer;font-weight:750;padding:.7rem 1rem}.button:disabled{cursor:not-allowed;opacity:.6}.button--primary{background:var(--teal);color:#fff}.button--secondary{background:#e9f7f6;color:var(--teal)}.button--ghost{background:transparent;color:var(--muted)}.button--danger{background:#fee2e2;color:var(--red)}.card{border:1px solid rgba(219,229,236,.85);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:1.15rem}.card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.card__header h2,.card h2{margin:0;font-size:1.05rem}.hero-balance{position:relative;display:flex;min-height:190px;overflow:hidden;align-items:center;justify-content:space-between;border-radius:18px;background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.45),transparent 35%),linear-gradient(135deg,#0f766e,#0ea5e9 55%,#7dd3fc);color:#fff;padding:2rem}.hero-balance span,.hero-balance small{display:block;opacity:.88}.hero-balance strong{display:block;margin:.35rem 0;font-size:clamp(2.5rem,7vw,4.7rem);letter-spacing:0}.hero-balance__wave{width:min(42%,420px);height:120px;border-radius:60% 40% 50% 45%;background:#ffffff38;filter:blur(.2px)}.kpi-grid,.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.kpi{display:flex;align-items:center;gap:.85rem;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:1rem}.kpi__icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:10px;background:#eef2ff;color:var(--navy)}.kpi span,.kpi small{display:block;color:var(--muted);font-size:.82rem}.kpi strong{display:block;margin:.15rem 0;font-size:1.35rem}.kpi--positive .kpi__icon{background:#dcfce7;color:var(--green)}.kpi--negative .kpi__icon{background:#fee2e2;color:var(--red)}.kpi--accent .kpi__icon{background:#e0f2fe;color:var(--blue)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:1rem}.budget-list{display:grid;gap:.9rem}.budget-list article{display:grid;gap:.55rem}.budget-list article>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.budget-list span,.transaction-list small,.reminder-list span,.metric-row span,.account-card__amounts span{color:var(--muted)}.progress{height:10px;overflow:hidden;border-radius:999px;background:#edf2f7}.progress span{display:block;height:100%;border-radius:inherit}.transaction-list,.reminder-list,.timeline{display:grid;gap:.75rem}.transaction-list article,.reminder-list article{display:flex;align-items:center;gap:.8rem;border-radius:8px;background:#f8fafc;padding:.85rem}.transaction-list article b{margin-left:auto}.icon-pill{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px}.icon-pill--income{background:#dcfce7;color:var(--green)}.icon-pill--expense{background:#fee2e2;color:var(--red)}.positive{color:var(--green)}.negative{color:var(--red)}.priority{border-left:4px solid var(--blue)}.priority--high{border-left-color:var(--red)}.priority--medium{border-left-color:var(--orange)}.table-wrap{overflow-x:auto}.search-field{display:flex;align-items:center;gap:.65rem;max-width:480px;border:1px solid var(--line);border-radius:10px;margin-bottom:1rem;padding:.75rem .9rem}.search-field input{width:100%;border:0;outline:0}.status{border-radius:999px;background:#eef2ff;color:var(--navy);font-size:.75rem;font-weight:800;padding:.25rem .55rem;text-transform:capitalize}.status--pending{background:#fff7ed;color:#c2410c}.status--archived{background:#f1f5f9;color:var(--muted)}.account-card{display:grid;gap:1rem}.account-card__bank,.metric-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.account-card__amounts{display:grid;gap:.55rem}.account-card__amounts span{display:flex;justify-content:space-between}.timeline article{display:grid;grid-template-columns:16px minmax(0,1fr);gap:.8rem}.timeline article>span{width:12px;height:12px;border:3px solid var(--teal);border-radius:999px;margin-top:.25rem}.timeline p{margin:.2rem 0;color:var(--muted)}.vault-panel{display:flex;align-items:center;gap:1rem;border:1px solid #99f6e4;border-radius:12px;background:linear-gradient(135deg,#ecfeff,#f8fafc);padding:1.25rem}.vault-panel h2,.vault-panel p{margin:0}.vault-panel p{color:var(--muted);line-height:1.55}.pill-list{display:flex;flex-wrap:wrap;gap:.7rem}.pill-list span{border-radius:999px;background:#f1f5f9;padding:.55rem .85rem;font-weight:700}.category-bars{display:grid;gap:.7rem}.category-bars article{display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:#f8fafc;padding:.9rem}.auth-page{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at top left,rgba(20,184,166,.16),transparent 32%),var(--bg);padding:1rem}.auth-panel{width:min(100%,460px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:1.5rem}.form{display:grid;gap:1rem}.form label{display:grid;gap:.4rem;font-weight:700}.form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.8rem}.transaction-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.transaction-form label{display:grid;gap:.4rem;color:var(--text);font-weight:700}.transaction-form input,.transaction-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.78rem}.form-actions,.row-actions{display:flex;align-items:center;gap:.55rem}.form-actions{grid-column:1 / -1}.success-banner{border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-weight:750;padding:.9rem 1rem}.form-note{color:var(--muted);line-height:1.5;margin:0}.data-state{display:flex;align-items:center;gap:.55rem;border-radius:8px;background:#f8fafc;color:var(--muted);padding:1rem}.data-state--empty,.data-state--error{display:grid}.data-state--error{background:#fef2f2;color:var(--red)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.kpi-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 760px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);transform:translate(-105%);transition:transform .18s ease}.sidebar--open{transform:translate(0)}.topbar{padding:0 1rem}.menu-button{display:inline-flex}.topbar__search{display:none}.page-stack{padding:1rem}.page-header{display:grid;align-items:start}.page-header h1{font-size:2rem}.hero-balance{display:block;min-height:160px;padding:1.25rem}.hero-balance__wave{width:100%;height:70px;margin-top:1rem}.kpi-grid,.card-grid{grid-template-columns:1fr}.vault-panel{display:grid}.transaction-form{grid-template-columns:1fr}th,td{padding:.75rem}}
