@import"https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Outfit:wght@400;500;600;700&display=swap";:root{font-family:Outfit,system-ui,sans-serif;color:#f5f5f5;background:#050505;font-synthesis:none;--canvas:#050505;--surface:#111;--raised:#171717;--violet-surface:#17131f;--ink:#f5f5f5;--muted:#a6a3ac;--quiet:#6f6c75;--violet:#9b6cff;--violet-bright:#c6aeff;--live:#d7f8cc;--line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.18);--danger:#ff8c8c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-left:248px}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;border-right:1px solid var(--line);background:#080808;padding:28px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand-mark{display:flex;align-items:center;gap:12px;padding:0 8px}.brand-mark svg{width:36px;height:36px;stroke:var(--violet);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.brand-mark .cow-face{stroke:var(--ink)}.brand-mark strong{font-size:22px;letter-spacing:-.04em}.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:44px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:7px;font-size:15px}.sidebar nav a:hover{color:var(--ink);background:var(--surface)}.sidebar nav a.active{color:var(--ink);background:var(--violet-surface);box-shadow:inset 2px 0 var(--violet)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 10px 0;color:var(--muted);font:11px Azeret Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.sidebar-foot button{display:block;border:0;background:none;color:var(--quiet);padding:12px 0 0;font:inherit;text-transform:uppercase}.status-dot{display:inline-block;width:6px;height:6px;background:var(--live);border-radius:50%;margin-right:7px}.topbar{height:82px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#050505f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h1{font-size:21px;margin:0;letter-spacing:-.025em}.top-actions{display:flex;align-items:center;gap:10px}.primary,.secondary,.search-button{border-radius:7px;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-weight:600}.primary{background:var(--violet);color:#09070e}.primary:hover{background:var(--violet-bright)}.primary:disabled{opacity:.55;cursor:wait}.secondary{border-color:var(--line-strong);background:transparent}.secondary:hover{background:var(--raised)}.search-button{width:178px;justify-content:flex-start;background:var(--surface);border-color:var(--line);color:var(--muted);font-weight:400}.search-button kbd{margin-left:auto;color:var(--quiet);font:10px Azeret Mono,monospace}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);font-weight:600}.mobile-brand,.mobile-nav{display:none}.content{padding:30px 34px 60px;max-width:1480px;margin:auto}.balance-strip{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.6fr);gap:44px;padding:30px 32px;background:var(--violet-surface);border:1px solid rgba(155,108,255,.2);border-radius:10px}.balance-strip>div:first-child{display:flex;flex-direction:column}.balance-strip span,.flow-compare span{color:var(--muted);font-size:13px}.balance-strip strong{font:600 clamp(34px,4vw,52px)/1 "Azeret Mono",monospace;letter-spacing:-.06em;margin:12px 0 10px}.balance-strip small{color:var(--quiet)}.flow-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;align-content:center}.flow-compare>div{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.flow-compare b{font:500 14px Azeret Mono,monospace}.flow-compare i{position:absolute;bottom:-1px;height:2px;background:var(--live)}.flow-compare i.spent{background:var(--violet)}.flow-compare .net{grid-column:1/-1;border:0;padding:2px 0 0}.flow-compare .net b{color:var(--violet-bright)}.overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:18px;margin-top:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:22px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px}.section-head h2,.settings-stack h2{font-size:17px;margin:0 0 4px;letter-spacing:-.02em}.section-head p,.dialog-head p{font-size:13px;color:var(--quiet);margin:0}.section-head a{font-size:12px;color:var(--violet-bright);text-decoration:none}.right-rail{display:flex;flex-direction:column;gap:18px}.transaction-list{margin:0 -8px}.transaction-row{display:flex;align-items:center;gap:13px;padding:13px 8px;border-top:1px solid var(--line)}.transaction-row:first-child{border-top:0}.category-pip{width:7px;height:28px;border-radius:4px}.transaction-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.transaction-main strong{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-main span{font-size:11px;color:var(--quiet);font-family:Azeret Mono,monospace}.transaction-row>b{font:500 13px Azeret Mono,monospace}.transaction-row>b.income{color:var(--live)}.transaction-row>b.expense{color:var(--ink)}.budget-line{margin:2px 0 18px}.budget-line>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.budget-line span{font-size:13px}.budget-line small{font:10px Azeret Mono,monospace;color:var(--quiet)}.budget-line>div:last-child{height:4px;border-radius:3px;background:#27252b;overflow:hidden}.budget-line i{display:block;height:100%;border-radius:3px}.quiet-copy{color:var(--muted);font-size:13px;line-height:1.55;margin:6px 0}.voice-note{padding:22px;border-radius:9px;background:var(--violet);color:#0b0810}.voice-note span{text-transform:uppercase;font:600 10px Azeret Mono,monospace;letter-spacing:.08em}.voice-note p{font-size:15px;line-height:1.45;margin:13px 0 18px}.voice-note a{font-size:12px;font-weight:600}.empty-ledger,.empty-page{text-align:center;padding:54px 20px;color:var(--muted)}.empty-ledger h3,.empty-page h3{color:var(--ink);font-size:18px;margin:18px 0 7px}.empty-ledger p,.empty-page p{font-size:13px;margin:0 auto 20px;max-width:380px;line-height:1.5}.ledger-lines{height:46px;width:70px;margin:auto;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);position:relative}.ledger-lines:after{content:"";position:absolute;inset:50% 0 auto;border-top:1px solid var(--violet)}.full-panel{min-height:520px}.account-list>div{display:flex;align-items:center;gap:14px;padding:18px 4px;border-top:1px solid var(--line)}.account-list>div>div{display:flex;flex-direction:column;gap:3px;flex:1}.account-list small{color:var(--quiet);text-transform:capitalize}.account-list b{font:500 14px Azeret Mono,monospace}.account-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:var(--violet-surface);color:var(--violet-bright)}.settings-stack{display:grid;gap:18px;max-width:800px}.settings-stack dl{margin:18px 0 0}.settings-stack dl div{display:grid;grid-template-columns:180px 1fr;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.settings-stack dt{color:var(--quiet)}.settings-stack dd{margin:0}.settings-stack code{color:var(--violet-bright);font-family:Azeret Mono,monospace;word-break:break-all}.safety-note{display:flex;gap:20px;padding:16px;margin-top:18px;background:var(--violet-surface);border-left:2px solid var(--violet);font-size:13px}.safety-note strong{white-space:nowrap}.safety-note span{color:var(--muted);line-height:1.5}.report-bar{height:34px;display:flex;gap:3px;margin-top:25px}.report-bar i{display:block;min-width:2px}.income{background:var(--live)}.expense{background:var(--violet)}.report-legend{display:flex;gap:30px;margin-top:20px}.report-legend span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.report-legend i{width:8px;height:8px;border-radius:2px}.report-legend b{color:var(--ink);font-family:Azeret Mono,monospace}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:#000000c7;display:grid;place-items:center;padding:20px}.dialog{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--raised);border:1px solid var(--line-strong);border-radius:10px;padding:24px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0 0 4px;font-size:20px}.dialog-head button{border:0;background:none;font-size:26px;color:var(--muted)}form{display:grid;gap:16px}.dialog form{margin-top:22px}label{display:grid;gap:7px;font-size:12px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;background:#0b0b0b;color:var(--ink);padding:11px 12px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 2px #9b6cff29}textarea{min-height:74px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.optional{color:var(--quiet);font-weight:400}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-strong);border-radius:7px;padding:3px}.segmented button{background:transparent;border:0;border-radius:4px;color:var(--muted);padding:9px;text-transform:capitalize}.segmented button.active{background:var(--violet-surface);color:var(--violet-bright)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.form-error{color:var(--danger);font-size:13px;margin:0}.access{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#17131f 0,transparent 34%),var(--canvas)}.access-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:30px;display:grid;gap:28px}.access-card .brand-mark{padding:0}.access-card h1{font-size:32px;letter-spacing:-.05em;margin:0 0 8px}.access-card>div>p{color:var(--muted);line-height:1.5;margin:0}.access-card small{font:10px Azeret Mono,monospace;color:var(--quiet);text-align:center}.loading-line{width:140px;height:2px;background:var(--surface);overflow:hidden}.loading-line:after{content:"";display:block;width:60%;height:100%;background:var(--violet);animation:load 1s infinite alternate}@keyframes load{to{margin-left:40%}}.page-loading{display:grid;gap:12px}.page-loading i{height:74px;background:var(--surface);border-radius:8px;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.55}}.error-state{padding:40px;border:1px solid rgba(255,140,140,.25);background:#190f0f;border-radius:8px}.error-state h2{margin-top:0}.error-state p{color:var(--muted);margin-bottom:0}@media(max-width:960px){.app-shell{padding-left:0;padding-bottom:68px}.sidebar{display:none}.topbar{height:70px;padding:0 18px}.topbar>div:first-child{display:flex;align-items:center;gap:10px}.mobile-brand{display:block}.mobile-brand .brand-mark{padding:0}.mobile-brand svg{width:31px;height:31px}.content{padding:20px 18px 40px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);inset:auto 0 0;z-index:30;background:#090909;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 8px;color:var(--quiet);font-size:9px;text-decoration:none}.mobile-nav a.active{color:var(--violet-bright)}.overview-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:1fr 1fr}.balance-strip{grid-template-columns:1fr;gap:28px}}@media(max-width:640px){.topbar h1{font-size:18px}.search-button,.avatar,.add-button span{display:none}.add-button{width:40px;padding:0}.balance-strip{padding:22px}.balance-strip strong{font-size:34px}.flow-compare{grid-template-columns:1fr}.flow-compare .net{grid-column:auto}.right-rail{grid-template-columns:1fr}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.dialog-backdrop{padding:0;align-items:end}.dialog{border-radius:12px 12px 0 0;max-height:92vh}.settings-stack dl div{grid-template-columns:1fr;gap:5px}.safety-note{flex-direction:column;gap:6px}.report-legend{flex-direction:column;gap:10px}.transaction-row>b{font-size:11px}.access-card{padding:24px}.access{background:var(--canvas)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.alert-bar-banner{background:#1b120c;border:1px solid rgba(255,140,0,.3);border-radius:8px;padding:10px 14px;margin-bottom:20px;overflow-x:auto}.alert-bar-scroll{display:flex;gap:14px;align-items:center}.alert-chip{display:flex;align-items:center;gap:10px;font-size:13px;background:#0006;padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.08);white-space:nowrap}.alert-chip.urgency-overdue{border-color:var(--danger);background:#ff8c8c1a}.alert-chip.urgency-today{border-color:#ffb703;background:#ffb7031a}.alert-badge{font:600 10px Azeret Mono,monospace;padding:2px 6px;border-radius:4px;background:#ffffff26}.urgency-overdue .alert-badge{background:var(--danger);color:#000}.urgency-today .alert-badge{background:#ffb703;color:#000}.alert-date{font-family:Azeret Mono,monospace;font-size:11px;color:var(--muted)}.tab-switcher{margin-bottom:20px}.debt-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border-top:1px solid var(--line);gap:14px}.debt-card:first-child{border-top:0}.debt-card-right{display:flex;align-items:center;gap:16px}.debt-card-right b{font:600 16px Azeret Mono,monospace}.debt-card-right b.debt{color:#ff8c8c}.button-group{display:flex;gap:6px;align-items:center}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:12px}.icon-btn:hover{background:var(--raised)}.danger-text{color:var(--danger)}.drawer-dialog{max-width:580px}.timeline-container{display:flex;flex-direction:column;gap:14px;margin-top:20px;max-height:60vh;overflow-y:auto;padding-right:8px}.timeline-item{display:flex;gap:14px;padding:12px;border-radius:7px;background:#0b0b0b;border:1px solid var(--line)}.timeline-item.type-created{border-left:3px solid var(--violet)}.timeline-item.type-top_up{border-left:3px solid #ffb703}.timeline-item.type-payment{border-left:3px solid var(--live)}.timeline-badge{font:600 11px Azeret Mono,monospace;width:100px;flex-shrink:0}.timeline-body{display:flex;flex-direction:column;gap:3px;flex:1;font-size:13px}.timeline-body time{font-size:11px;color:var(--quiet);font-family:Azeret Mono,monospace;margin-top:4px}.recurring-row{display:flex;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid var(--line)}.recurring-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.pay-now-btn{background:#ffb703;color:#000;font-size:12px;height:32px;padding:0 10px}.pay-now-btn:hover{background:#ffd166}.status-tag{display:inline-block;font:600 10px Azeret Mono,monospace;padding:2px 6px;border-radius:4px;margin-left:8px}.tag-overdue{background:#ff8c8c33;color:var(--danger)}.tag-today{background:#ffb70333;color:#ffb703}.tag-soon{background:#9b6cff33;color:var(--violet-bright)}.segmented.three-way{grid-template-columns:repeat(3,1fr)}.segmented.account-types{grid-template-columns:repeat(4,1fr)}.segmented.two-way{grid-template-columns:repeat(2,1fr)}.field-help{color:var(--quiet);font-size:11px;line-height:1.45}.check-row{display:flex;align-items:center;gap:10px;color:var(--ink)}.check-row input{width:16px;height:16px;accent-color:var(--violet)}.eagle-strip{align-items:center}.eagle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line)}.eagle-grid>div{display:grid;gap:6px;min-width:0;padding:10px 20px}.eagle-grid>div:nth-child(odd){border-right:1px solid var(--line)}.eagle-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.eagle-grid b,.money-watch dd,.receivable-list b{font:500 13px Azeret Mono,monospace}.debt,.overdue{color:var(--danger)!important}.money-watch dl{margin:0}.money-watch dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.money-watch dt{color:var(--muted);font-size:12px}.money-watch dd{margin:0}.due-callout{display:flex;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 0 0;border-top:1px solid var(--line);font-size:12px}.due-callout span{color:var(--muted);text-align:right}.account-detail{color:var(--muted);font:10px Azeret Mono,monospace}.row-action{min-height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--muted);font-size:12px}.row-action:hover{color:var(--ink);background:var(--raised)}.danger-zone{border-color:#ff8c8c40}.danger-zone>p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.55}.danger-button{min-height:40px;width:fit-content;padding:0 14px;border:1px solid rgba(255,140,140,.45);border-radius:7px;background:transparent;color:var(--danger);font-weight:600}.danger-button:hover:not(:disabled){background:#ff8c8c14}.danger-button:disabled{opacity:.45;cursor:not-allowed}.reset-summary{display:grid;gap:5px;padding:14px;border-left:2px solid var(--danger);background:#ff8c8c0f;font-size:13px}.reset-summary span{color:var(--muted);line-height:1.5}.receivable-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:17px 4px;border-top:1px solid var(--line)}.receivable-list>div>div{display:grid;gap:3px}.receivable-list span,.receivable-list small{color:var(--quiet);font-size:11px}.receivable-list .secondary{min-height:34px;font-size:12px}.compact-dialog{width:min(540px,100%)}.recurring-list>div{display:flex;align-items:center;gap:14px;padding:18px 4px;border-top:1px solid var(--line)}.recurring-list>div>div{display:flex;flex:1;flex-direction:column;gap:3px}.recurring-list small{color:var(--quiet);text-transform:capitalize}.recurring-list b{font:500 14px Azeret Mono,monospace}.recurring-list b.income{color:var(--live)}.budget-list{max-width:720px}@media(max-width:480px){.segmented.account-types{grid-template-columns:repeat(2,1fr)}.eagle-grid{border-top:1px solid var(--line);border-left:0}.eagle-grid>div{padding:12px 8px}.receivable-list>div{grid-template-columns:1fr auto}.receivable-list .secondary{grid-column:1 / -1;justify-self:start}.account-list>div{flex-wrap:wrap}.account-list .row-action{margin-left:54px}}
