:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111318;color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(30,117,97,.12),transparent 30%),linear-gradient(315deg,rgba(199,73,73,.1),transparent 28%),#111318}button,input{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.login-page{display:grid;grid-template-columns:minmax(280px,440px) minmax(320px,520px);gap:28px;align-items:center;justify-content:center;min-height:100vh;padding:28px}.login-hero{display:grid;gap:14px}.login-hero img{width:86px;height:86px;border-radius:22px;box-shadow:0 18px 40px #00000047}.login-hero h1{max-width:11em;font-size:2.45rem;line-height:1.02}.login-hero p:not(.eyebrow){max-width:34rem;margin:0;color:#b9c2d0;line-height:1.55}.sidebar{width:232px;flex:0 0 232px;padding:22px 16px;border-right:1px solid rgba(255,255,255,.08);background:#111318db}.brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand strong,.brand span{display:block}.brand span{color:#9ca6b8;font-size:.82rem}.nav-stack{display:grid;gap:6px}.nav-stack button,.calendar-actions button,.calendar-actions input{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:8px;color:#dce3ee;background:transparent;padding:10px 12px}.nav-stack button.active,.nav-stack button:hover,.calendar-actions button:hover,.calendar-actions input:hover{border-color:#ffffff1a;background:#ffffff14}.main-layout{display:grid;grid-template-columns:300px minmax(720px,1fr) 300px;gap:18px;width:100%;padding:18px}.content-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;width:100%;padding:18px}.content-layout.wide{grid-template-columns:minmax(0,1fr)}.side-stack{display:grid;gap:18px;align-self:start}.dashboard-panel,.details-panel,.calendar-shell,.workspace-panel,.sync-panel{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#161920db;box-shadow:0 24px 60px #0000002e}.dashboard-panel,.details-panel{padding:18px;align-self:start}.sync-panel{padding:18px}.sync-panel.standalone{width:100%;padding:24px}.calendar-shell{padding:18px}.workspace-panel{padding:22px}.calendar-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.eyebrow{margin:0 0 4px;color:#8f9bae;font-size:.78rem;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:1.75rem}h2{font-size:1.05rem}.calendar-actions{display:flex;align-items:center;gap:8px}.calendar-actions input{color-scheme:dark;max-width:150px}.today-button{min-width:98px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{color:#9ca6b8;font-size:.78rem;padding:0 0 8px}.weekday-row span{padding:0 8px}.calendar-grid{gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff14}.day-cell{display:flex;flex-direction:column;min-height:136px;gap:8px;border:0;border-radius:0;padding:10px;color:inherit;text-align:left;background:#13161df5}.day-cell:hover{background:#20252f}.day-cell.outside-month{color:#717b8c;background:#13161d8f}.day-cell.today{outline:2px solid #56c1ff;outline-offset:-2px}.day-cell.low-balance{box-shadow:inset 0 -4px #e7aa3c}.day-cell.negative-balance{box-shadow:inset 0 -4px #ff5b5b}.day-topline{display:flex;justify-content:space-between;align-items:center;font-weight:700}.transaction-count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;color:#111318;background:#e9edf4;font-size:.74rem}.transaction-stack{display:grid;gap:5px}.pill{overflow:hidden;max-width:100%;border-radius:6px;padding:5px 6px;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700}.pill.income,.positive{color:#79dfa7}.pill.expense,.negative{color:#ff8b8b}.pill.transfer{color:#86b7ff}.projected-balance{margin-top:auto;color:#f7f8fb;font-size:1rem}.calendar-note{display:flex;align-items:center;gap:8px;margin-top:12px;color:#9ca6b8;font-size:.88rem}.metric-card,.metric-grid>div,.insight{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0d;padding:14px}.metric-card.primary{background:linear-gradient(135deg,#2d8c7047,#ffffff0f)}.metric-card span,.metric-grid span,.insight span{display:block;color:#9ca6b8;font-size:.78rem}.metric-card strong{display:block;margin-top:6px;font-size:2rem}.metric-card small,.insight small,.detail-row small{color:#9ca6b8}.balance-editor{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:14px}.balance-editor label,.inline-editor{display:grid;gap:6px;color:#9ca6b8;font-size:.76rem;font-weight:700}.balance-editor input,.inline-editor input{min-width:0;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5f7fa;background:#090b0fdb;padding:8px 9px}.balance-editor button{border:1px solid rgba(85,217,141,.35);border-radius:8px;color:#f5f7fa;background:#2d8c704d;padding:8px 10px;font-weight:800}.inline-editor{margin-top:12px}.sync-panel p{color:#b9c2d0;line-height:1.45}.sync-status{display:inline-flex;margin-top:10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 9px;color:#dce3ee;background:#ffffff0f;font-size:.78rem;font-weight:800;text-transform:capitalize}.sync-status.synced{color:#79dfa7}.sync-status.saving,.sync-status.loading{color:#ffd166}.sync-error{color:#ff9b9b}.sync-form,.sync-account,.setup-note{display:grid;gap:10px;margin-top:14px}.sync-form label{display:grid;gap:6px;color:#9ca6b8;font-size:.78rem;font-weight:700}.sync-form input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5f7fa;background:#090b0fdb;padding:9px 10px}.sync-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sync-form button,.sync-account button{border:1px solid rgba(86,193,255,.35);border-radius:8px;color:#f5f7fa;background:#56c1ff29;padding:9px 10px;font-weight:800}.sync-form button:disabled{cursor:not-allowed;color:#9ca6b8;background:#ffffff0f;border-color:#ffffff1a}.sync-account small{color:#9ca6b8}.setup-note{border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.metric-grid strong,.insight strong{display:block;margin-top:6px}.warning-text{color:#ffd166}.upcoming-list,.detail-list{display:grid;gap:10px;margin-top:12px}.upcoming-day,.detail-row{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.08)}.upcoming-day time{color:#c6ceda;font-weight:700}.upcoming-day span{display:block;color:#9ca6b8;font-size:.82rem}.detail-balance{display:block;margin:12px 0 18px;font-size:2rem}.detail-row{grid-template-columns:auto 1fr auto;align-items:start}.detail-row b{white-space:nowrap}.row-actions{grid-column:2 / -1;display:flex;gap:8px;justify-content:flex-end}.row-actions button,.form-heading button,.save-button{border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5f7fa;background:#ffffff14;padding:7px 10px;font-size:.82rem}.row-actions button:hover,.form-heading button:hover,.save-button:hover{background:#ffffff24}.row-actions button.danger{border-color:#ff6d6d59;color:#ff9b9b}.transaction-form,.balance-adjustment-form{display:grid;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.transaction-form h3,.balance-adjustment-form h3{margin:0;font-size:1rem}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.transaction-form label,.balance-adjustment-form label{display:grid;gap:6px;color:#9ca6b8;font-size:.78rem;font-weight:700}.transaction-form input,.transaction-form select,.transaction-form textarea,.balance-adjustment-form input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5f7fa;background:#090b0fdb;padding:9px 10px;outline:none}.transaction-form input:focus,.transaction-form select:focus,.transaction-form textarea:focus,.balance-adjustment-form input:focus{border-color:#56c1ff}.transaction-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.save-button{justify-content:center;border-color:#55d98d59;background:#2d8c704d;font-weight:800}.balance-adjustment-form{margin-top:12px}.form-error{margin:0;color:#ff9b9b;font-size:.82rem}.adjustment-note{color:#ffd166;line-height:1.35}.dot{width:10px;height:10px;border-radius:999px}.dot.income{background:#55d98d}.dot.expense{background:#ff6d6d}.dot.transfer{background:#6aa4ff}.empty-state{color:#9ca6b8}.summary-grid,.record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.summary-grid>div,.record-card,.record-row{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0d;padding:14px}.summary-grid span,.record-card span,.record-card small,.record-row small{display:block;color:#9ca6b8;font-size:.78rem}.summary-grid strong,.record-card strong,.record-card b{display:block;margin-top:6px}.record-card.compact{min-height:108px}.record-list{display:grid;gap:10px;margin-top:18px}.record-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}.record-row span.income{color:#79dfa7}.record-row span.expense{color:#ff8b8b}.record-row span.transfer{color:#86b7ff}.ledger-table{display:grid;gap:1px;overflow-x:auto;margin-top:18px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff14}.ledger-row{display:grid;grid-template-columns:110px minmax(170px,1.2fr) minmax(130px,.8fr) 100px 100px 100px 110px;gap:12px;min-width:860px;align-items:center;padding:12px;background:#13161df5;font-size:.88rem}.ledger-row.ledger-head{color:#9ca6b8;font-size:.76rem;font-weight:700;text-transform:uppercase}.ledger-row.adjustment{background:#e7aa3c1c}.reports-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.report-metrics{display:grid;grid-column:1 / -1;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.report-metric,.report-panel{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0d;padding:14px}.report-metric span,.report-row small{display:block;color:#9ca6b8;font-size:.78rem}.report-metric strong{display:block;margin-top:6px;font-size:1.25rem}.report-metric small{color:#9ca6b8}.report-panel.span-2{grid-column:1 / -1}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.projection-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.segmented-control{display:inline-grid;grid-template-columns:repeat(4,minmax(84px,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a}.segmented-control button{border:0;border-right:1px solid rgba(255,255,255,.1);color:#c6ceda;background:transparent;padding:8px 10px;font-weight:800}.segmented-control button:last-child{border-right:0}.segmented-control button.active{color:#071018;background:#56c1ff}.projection-controls label{display:inline-grid;grid-template-columns:auto 88px;align-items:center;gap:8px;color:#9ca6b8;font-size:.78rem;font-weight:800}.projection-controls input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5f7fa;background:#ffffff0f;padding:8px 10px}.report-list{display:grid;gap:10px;margin-top:12px}.report-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.report-row b{white-space:nowrap}.balance-chart-wrap{position:relative;min-height:292px;padding:14px 10px 34px 78px}.balance-chart{display:block;width:100%;height:220px;overflow:visible}.chart-grid-line{stroke:#ffffff1f;stroke-width:1;vector-effect:non-scaling-stroke}.balance-line{fill:none;stroke:#56c1ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8;vector-effect:non-scaling-stroke}.safe-line{stroke:#ffd166;stroke-dasharray:4 4;stroke-width:1.4;vector-effect:non-scaling-stroke}.hover-line{stroke:#ffffff3d;stroke-width:1;vector-effect:non-scaling-stroke}.hover-dot{fill:#f5f7fa;stroke:#56c1ff;stroke-width:1.4;vector-effect:non-scaling-stroke}.y-axis-labels{position:absolute;inset:14px auto 34px 0;width:68px}.y-axis-labels span{position:absolute;right:8px;transform:translateY(-50%);color:#9ca6b8;font-size:.72rem;white-space:nowrap}.x-axis-labels{position:relative;height:20px;margin-top:8px}.x-axis-labels span{position:absolute;transform:translate(-50%);color:#9ca6b8;font-size:.72rem;white-space:nowrap}.x-axis-labels span:first-child{transform:translate(0)}.x-axis-labels span:last-child{transform:translate(-100%)}.axis-title{position:absolute;color:#c6ceda;font-size:.72rem;font-weight:800;text-transform:uppercase}.y-title{left:0;top:50%;transform:rotate(-90deg) translate(-50%);transform-origin:left top}.x-title{right:10px;bottom:0}.chart-tooltip{position:absolute;z-index:2;display:grid;gap:3px;min-width:126px;pointer-events:none;transform:translate(-50%,-112%);border:1px solid rgba(86,193,255,.36);border-radius:8px;background:#0a0d12f2;box-shadow:0 16px 34px #0000004d;padding:9px 10px}.chart-tooltip strong{font-size:.78rem}.chart-tooltip span{color:#56c1ff;font-size:1rem;font-weight:900}.chart-tooltip small{color:#9ca6b8}@media(min-width:1181px){.main-layout{height:100vh;overflow:hidden}.calendar-shell{display:flex;flex-direction:column;height:calc(100vh - 36px);min-height:0}.calendar-grid{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));min-height:0}.day-cell{min-height:0;gap:5px;padding:8px}.pill{padding:3px 5px;font-size:.68rem}.projected-balance{font-size:.9rem}.side-stack,.details-panel{max-height:calc(100vh - 36px);overflow:auto}}@media(max-width:1180px){.login-page{grid-template-columns:minmax(0,560px);align-content:center}.login-hero h1{max-width:none}.app-shell{display:block}.sidebar{width:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.nav-stack{grid-template-columns:repeat(4,minmax(0,1fr))}.main-layout,.content-layout{grid-template-columns:1fr}.summary-grid,.record-grid,.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-layout{grid-template-columns:1fr}.report-panel.span-2{grid-column:auto}}@media(max-width:760px){.login-page{gap:18px;padding:16px}.login-hero img{width:68px;height:68px;border-radius:18px}.login-hero h1{font-size:1.85rem}.main-layout,.content-layout,.calendar-shell,.dashboard-panel,.details-panel,.workspace-panel,.sync-panel{padding:12px}.calendar-shell{order:-2}.details-panel{order:-1}.side-stack{order:0}.calendar-header,.calendar-actions{align-items:stretch;flex-direction:column}.weekday-row{display:grid;font-size:.68rem;padding-bottom:6px}.weekday-row span{padding:0 2px;text-align:center}.day-cell{min-width:0;min-height:76px;gap:4px;padding:5px 4px}.day-topline{font-size:.78rem}.transaction-count{min-width:16px;height:16px;font-size:.62rem}.transaction-stack{gap:3px}.pill{border-radius:4px;padding:2px 3px;font-size:.56rem}.projected-balance{font-size:.64rem;line-height:1.1;overflow-wrap:anywhere}.nav-stack{grid-template-columns:1fr 1fr}.summary-grid,.record-grid,.report-metrics{grid-template-columns:1fr}.record-row{grid-template-columns:1fr;gap:8px}.form-grid{grid-template-columns:1fr}.row-actions{justify-content:stretch}.row-actions button{flex:1}.projection-controls{align-items:stretch;flex-direction:column}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control button:nth-child(2){border-right:0}.segmented-control button:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}.sync-actions{grid-template-columns:1fr}}@media(max-width:430px){h1{font-size:1.35rem}.main-layout{gap:12px}.calendar-shell{padding:10px}.day-cell{min-height:68px;padding:4px 3px}.pill{display:block;font-size:.52rem}.projected-balance{font-size:.58rem}}
