@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
:root{--ink:#14201f;--muted:#687675;--line:#dce4e2;--bg:#f5f7f6;--card:#fff;--brand:#0f766e;--brand-dark:#0b5d57;--positive:#16855a;--negative:#c2413a}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:var(--brand);text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}input,select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 12px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #5eead4}label{color:#344441;gap:6px;font-weight:650;display:grid}.button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:9px 15px;font-weight:700;display:inline-flex}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 14px #173b3410}.brand-mark{background:var(--brand);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:grid}.brand-mark.small{border-radius:10px;width:34px;height:34px;font-size:16px}.auth-shell{background:radial-gradient(circle at top left,#ccfbf1,transparent 40%),var(--bg);place-items:center;min-height:100svh;padding:20px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(420px,100%);padding:34px;box-shadow:0 20px 50px #173b3420}.auth-card h1{margin:22px 0 4px}.stack{gap:16px;margin:28px 0;display:grid}.center{text-align:center}.muted{color:var(--muted)}.error{color:#a82923;background:#fff0ef;border-radius:8px;padding:9px 12px}.app-shell{min-height:100svh}.sidebar{color:#fff;z-index:2;background:#102c29;flex-direction:column;width:240px;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0}.logo{color:#fff;align-items:center;gap:10px;margin-bottom:28px;font-size:17px;font-weight:850;display:flex}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#cfe3df;border-radius:9px;align-items:center;gap:12px;padding:11px 13px;display:flex}.sidebar nav span{text-align:center;width:20px}.account{border-top:1px solid #ffffff25;margin-top:auto;padding:18px 10px 0;overflow:hidden}.account small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.link-button{color:#9dd9ce;cursor:pointer;background:0 0;border:0;padding:7px 0}.bottom-nav{display:none}.page-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px;display:flex}.page-head h1{letter-spacing:-.04em;margin:0;font-size:clamp(27px,4vw,38px)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin:0 0 4px;font-size:11px;font-weight:850}.metrics{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.metric{gap:7px;display:grid}.metric strong{letter-spacing:-.035em;font-size:clamp(23px,3vw,32px)}.metric.featured{background:var(--brand);color:#fff;border-color:var(--brand)}.dashboard-grid{grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px;display:grid}.card-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-title h2{margin:0;font-size:17px}.card-title>span{color:var(--muted);font-size:12px}.bars{align-items:end;gap:10px;height:220px;padding-top:28px;display:flex}.bar-item{text-align:center;height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;gap:7px;display:flex}.bar{background:linear-gradient(#2dd4bf,var(--brand));border-radius:7px 7px 3px 3px;min-height:3px}.category-breakdown{margin-top:21px;display:grid}.category-breakdown>div{border-bottom:1px solid #edf1f0;grid-template-columns:11px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.category-breakdown i,.transaction-row>i,.category-list i{border-radius:50%;width:10px;height:10px}.recent{margin-top:16px}.transaction-row{border-bottom:1px solid #edf1f0;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 2px;display:grid}.transaction-row:last-child{border-bottom:0}.transaction-row div{min-width:0}.transaction-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.transaction-row b{font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);padding:35px 12px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;max-width:850px;display:grid}.wide{grid-column:1/-1}.filters{grid-template-columns:2fr repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.filters .button{padding-inline:11px}.list-card{padding:4px 22px}.transaction-row.actions{grid-template-columns:10px minmax(0,1fr) auto 36px 36px}.icon-button{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#edf3f2;border:0;border-radius:9px;place-items:center;display:grid}.icon-button.danger{color:var(--negative)}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:15px;display:flex}.pagination span{color:var(--muted);margin-right:auto}.inline-form{grid-template-columns:2fr 1fr 100px auto;align-items:end;gap:14px;display:grid}.inline-form .error{grid-column:1/-1}.category-list{margin-top:16px}.category-list>div{border-bottom:1px solid #edf1f0;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:13px 0;display:grid}.category-list>div:last-child{border-bottom:0}.category-list span small{color:var(--muted);text-transform:capitalize;display:block}.skeleton{color:var(--muted);animation:1.3s infinite alternate pulse}@keyframes pulse{to{opacity:.55}}.inline-form{grid-template-columns:80px 2fr 1fr 100px auto}.category-emoji{border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}@media (max-width:900px){.sidebar{display:none}.content{margin-left:0;padding:24px 18px 92px}.bottom-nav{z-index:3;border-top:1px solid var(--line);padding:max(7px,env(safe-area-inset-bottom)) 7px max(7px,env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{color:var(--muted);place-items:center;gap:2px;display:grid}.bottom-nav strong{color:var(--brand);font-size:20px}.bottom-nav small{font-size:10px}.filters{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}.metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.investment-list{margin-top:16px;padding:4px 22px}.investment-list article{border-bottom:1px solid #edf1f0;grid-template-columns:44px minmax(0,1fr) auto 36px 36px;align-items:center;gap:12px;padding:16px 2px;display:grid}.investment-list article:last-child{border-bottom:0}.investment-icon{background:#ecfdf5;border-radius:12px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.investment-list article>div:nth-child(2){display:grid}.investment-list article span{color:var(--muted);font-size:13px}.investment-value{text-align:right;display:grid}.category-breakdown>div{grid-template-columns:22px 1fr auto}.transaction-row>span{text-align:center;font-size:18px}.category-list>div{grid-template-columns:48px 1fr auto}.category-emoji{border-radius:13px;width:48px;height:48px;font-size:27px}.transaction-row,.transaction-row.actions{grid-template-columns:38px minmax(0,1fr) auto 36px 36px;column-gap:14px}.transaction-row:not(.actions){grid-template-columns:38px minmax(0,1fr) auto}.transaction-row>span{background:#f1f5f4;border-radius:10px;place-items:center;width:36px;height:36px;font-size:21px;display:grid}textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:10px;padding:10px 12px}.transaction-description{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:70ch;margin:2px 0;font-size:13px;overflow:hidden}html[data-theme=revolut-night]{--ink:#e5ebe9;--muted:#98a6a3;--line:#34423f;--bg:#101513;--card:#1a211f;--brand:#22a88f;--brand-dark:#188571;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=revolut-night] input,html[data-theme=revolut-night] select,html[data-theme=revolut-night] textarea,html[data-theme=revolut-night] .button{color:var(--ink);background:#151b19}html[data-theme=revolut-night] .bottom-nav,html[data-theme=revolut-night] .auth-card{background:#1a211f}.theme-toggle{color:#d6e5e2;cursor:pointer;background:#ffffff0c;border:1px solid #ffffff2b;border-radius:9px;margin-top:12px;padding:7px 10px;display:block}.mobile-theme{display:none}.monthly-pie{margin-top:16px}.pie-content{grid-template-columns:minmax(220px,320px) 1fr;align-items:center;gap:clamp(30px,6vw,80px);padding:30px clamp(5px,4vw,40px);display:grid}.pie-chart{aspect-ratio:1;border-radius:50%;place-items:center;display:grid;position:relative}.pie-chart:after{content:"";background:var(--card);border-radius:50%;width:56%;height:56%;position:absolute}.pie-chart>span{z-index:1;text-align:center;display:grid}.pie-chart small,.pie-legend small{color:var(--muted)}.pie-chart strong{font-size:20px}.pie-legend{display:grid}.pie-legend>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.pie-legend>div>span{align-items:center;gap:7px;display:flex}.pie-legend i{border-radius:50%;width:10px;height:10px}.pie-legend strong small{margin-left:7px;font-weight:500}.holding-group{margin-top:22px}.holding-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.holding-heading h2{margin:0;font-size:18px}.holding-heading .button{min-height:36px;padding:5px 11px}.price-history{margin-top:16px}.price-history>.card-title{margin-bottom:10px}.price-history>div:not(.card-title):not(.empty){border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.sub-head{justify-content:space-between;align-items:center;margin:24px 0 9px;display:flex}.sub-head h2{margin:0;font-size:18px}.sub-head span{color:var(--muted)}.status-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:999px;margin-left:5px;padding:3px 7px;font-size:11px;font-style:normal}.sold-holding{opacity:.82}.sale-form{border-color:#287b68}html[data-theme=revolut-night]{--ink:#edf7f3;--muted:#9aaba5;--line:#2b3a35;--bg:#0b100e;--card:#171f1c;--brand:#34d399;--brand-dark:#20b986;--positive:#4adea1;--negative:#fb7185}html[data-theme=revolut-night] .sidebar{background:#081f1a;border-right:1px solid #173a31}html[data-theme=revolut-night] .card{box-shadow:0 10px 28px #0000002e}html[data-theme=revolut-night] label{color:#d5e2de}html[data-theme=revolut-night] input,html[data-theme=revolut-night] select,html[data-theme=revolut-night] textarea{background:#0f1613;border-color:#34463f}html[data-theme=revolut-night] input::placeholder,html[data-theme=revolut-night] textarea::placeholder{color:#71817b}html[data-theme=revolut-night] .button{background:#1b2622;border-color:#35463f}html[data-theme=revolut-night] .button.primary{color:#fff;background:#168f6c;border-color:#2ec99a}html[data-theme=revolut-night] .button.primary:hover{background:#1ba87d}html[data-theme=revolut-night] .metric.featured{background:linear-gradient(145deg,#0e735b,#128d6d);border-color:#2ac99b}html[data-theme=revolut-night] .transaction-row,html[data-theme=revolut-night] .category-list>div,html[data-theme=revolut-night] .category-breakdown>div{border-color:#293732}html[data-theme=revolut-night] .error{color:#fecaca;background:#481b24}html[data-theme=revolut-night] .eyebrow{color:#5eeabb}html[data-theme=revolut-night] .theme-toggle{color:#dff8ef;background:#112c24;border-color:#2b5d4f}html[data-theme=revolut-night] ::selection{color:#fff;background:#176e56}@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(5,1fr)}.mobile-theme{justify-content:flex-end;margin-bottom:8px;display:flex}.mobile-theme .theme-toggle{background:var(--card);color:var(--ink);border-color:var(--line);margin:0}}@media (max-width:620px){.pie-content{grid-template-columns:1fr;padding:24px 0}.pie-chart{width:min(260px,85%);margin:auto}.pie-legend>div{gap:10px}.auth-card{padding:25px}.page-head{flex-direction:column;align-items:stretch}.page-head .button{width:100%}.metrics{grid-template-columns:1fr 1fr}.metric.featured{grid-column:1/-1}.form-grid,.inline-form{grid-template-columns:1fr}.wide,.inline-form .error{grid-column:auto}.card{padding:17px}.list-card{padding:3px 14px}.transaction-row.actions{grid-template-columns:38px minmax(0,1fr) auto}.transaction-row.actions>a,.transaction-row.actions>form{grid-row:2}.transaction-row.actions>a{grid-column:2}.transaction-row.actions>form{grid-column:3}.filters{grid-template-columns:1fr}.bars{height:180px}.investment-list article{grid-template-columns:44px minmax(0,1fr) 36px}.investment-value{text-align:left;grid-column:2}.investment-list article>a{grid-column:2}.investment-list article>form{grid-column:3}}.receipt-scan{border:1px dashed var(--line);background:color-mix(in srgb,var(--brand) 6%,var(--card));border-radius:12px;align-items:center;gap:10px;padding:14px;display:flex}.receipt-scan>div{margin-right:auto;display:grid}.receipt-scan small,.scan-status{color:var(--muted)}.receipt-scan label{cursor:pointer;width:auto}.receipt-scan input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.scan-status{margin:0;font-size:13px}@media (max-width:620px){.receipt-scan{grid-template-columns:1fr 1fr;display:grid}.receipt-scan>div{grid-column:1/-1}.receipt-scan label{justify-content:center}}.budget-card,.planning-form{margin-top:16px}.budget-values{justify-content:space-between;gap:20px;margin:18px 0 10px;display:flex}.budget-track{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.budget-track span{border-radius:inherit;background:var(--brand);height:100%;display:block}.budget-track span.over{background:var(--negative)}.plan-note{color:var(--muted);margin:0;font-size:13px}.category-budgets{gap:10px;margin:16px 0;display:grid}.category-budgets .card-title{margin-bottom:4px}.category-budgets .card-title small{color:var(--muted);font-size:13px}.category-budgets form{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) 150px auto;align-items:end;gap:10px;padding:10px 0;display:grid}.category-budgets form:last-child{border-bottom:0}.category-budgets .category-emoji{border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.category-budgets label{gap:2px}.category-budgets label strong{font-size:14px}.category-budget-dashboard{margin-top:14px}.category-budget-dashboard>div:last-child{gap:15px;margin-top:18px;display:grid}.category-budget-dashboard article{gap:7px;display:grid}.category-budget-dashboard article>div:first-child{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.category-budget-dashboard .category-emoji{border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.category-budget-dashboard article small{color:var(--muted);font-variant-numeric:tabular-nums}.category-budget-dashboard article .budget-track{height:7px}@media (max-width:620px){.category-budgets form{grid-template-columns:36px minmax(0,1fr)}.category-budgets form input{grid-column:2}.category-budgets form .button{grid-column:2;width:100%}.category-budget-dashboard article>div:first-child{grid-template-columns:32px minmax(0,1fr)}.category-budget-dashboard article>div:first-child .muted,.category-budget-dashboard article>div:first-child .negative{grid-column:2}.category-budget-dashboard article .budget-track{margin-top:2px}}.bank-trend{margin-top:16px}.bank-trend svg{width:100%;height:220px;margin-top:18px;display:block}.bank-trend line{stroke:var(--line);stroke-width:2px}.bank-trend polyline{fill:none;stroke:var(--brand);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trend-labels{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.trend-labels strong{color:var(--ink)}.trend-labels small:last-child{text-align:right}@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(6,1fr)}.bottom-nav strong{font-size:17px}.bottom-nav small{font-size:9px}}.transaction-budget{margin-bottom:16px}.budget-editor{align-items:end;gap:10px;margin-top:18px;display:flex}.budget-editor label{flex:1}.budget-editor .button{margin-bottom:1px}.budget-editor .error{width:100%}@media (max-width:620px){.budget-editor{flex-direction:column;align-items:stretch}.budget-editor .button{width:100%}.budget-values{flex-direction:column;align-items:flex-start;gap:5px}}.recent-sales{margin-top:22px}.sales-bulk-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;display:flex}.sales-bulk-actions span{color:var(--muted);font-size:var(--text-meta);margin-right:auto}.sale-row{border-bottom:1px solid var(--line);grid-template-columns:20px 44px minmax(0,1fr) auto 44px;align-items:center;gap:12px;padding:14px 0;display:grid}.sale-row:last-child{border-bottom:0}.sale-row>div{display:grid}.sale-row>div:nth-child(4){text-align:right}.sale-row small{color:var(--muted)}.sale-row small.positive{color:var(--positive)}.sale-row small.negative{color:var(--negative)}.realized-link{color:var(--ink);transition:border-color .15s}.realized-link:hover,.realized-link:focus-visible{border-color:var(--brand)}.recent-sales{scroll-margin-top:20px}.sales-filters{grid-template-columns:1.3fr 1fr 1fr 1fr auto auto;gap:9px;margin:16px 0 4px;display:grid}@media (max-width:760px){.sales-filters{grid-template-columns:1fr 1fr}.sales-filters .button{text-align:center;justify-content:center}}@media (max-width:460px){.sales-filters{grid-template-columns:1fr}}.investment-list article span.positive{color:var(--positive)}.investment-list article span.negative{color:var(--negative)}.page-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:620px){.page-actions{grid-template-columns:1fr 1fr;display:grid}}.settings-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.settings-card{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.settings-card h2{margin:0 0 4px;font-size:17px}.settings-card p{margin:0}.settings-card .theme-toggle{background:var(--bg);border-color:var(--line);color:var(--ink);margin:0}@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(7,1fr);padding-top:7px}.bottom-nav strong{font-size:22px}.bottom-nav .mobile-add{gap:0;position:relative;transform:translateY(-17px)}.bottom-nav .mobile-add strong{border:5px solid var(--bg);background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:30px;line-height:1;display:grid;box-shadow:0 7px 18px #071b1740}.bottom-nav .mobile-add small{color:var(--ink);margin-top:1px;font-weight:800}.settings-grid{grid-template-columns:1fr}}.recurring-section{margin-top:28px;scroll-margin-top:20px}.section-heading h2{margin:0 0 16px;font-size:24px}.recurring-form{margin-bottom:16px}.recurring-list{padding-block:4px}.recurring-list article{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto 36px 36px 36px;align-items:center;gap:12px;padding:14px 0;display:grid}.recurring-list article:last-child{border-bottom:0}.recurring-icon{background:color-mix(in srgb,var(--brand) 12%,var(--card));border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.recurring-list article>div{min-width:0;display:grid}.recurring-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recurring-amount{text-align:right}.reminders-section{scroll-margin-top:20px}.reminder-list{padding-block:4px}.reminder-list article{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto 36px;align-items:center;gap:12px;padding:14px 0;display:grid}.reminder-list article:last-child{border-bottom:0}.reminder-list article>div{min-width:0;display:grid}.reminder-list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reminder-due{text-align:right}.reminder-due small{color:var(--brand);font-weight:750}@media (max-width:620px){.recurring-list article{grid-template-columns:44px minmax(0,1fr) auto}.recurring-list article>a,.recurring-list article>form{grid-row:2}.recurring-list article>a{grid-column:2}.recurring-list article>form:first-of-type{grid-column:2;margin-left:46px}.recurring-list article>form:nth-of-type(2){grid-column:3}.recurring-amount{align-self:start}.reminder-list article{grid-template-columns:36px minmax(0,1fr) 36px}.reminder-due{text-align:left;grid-column:2}.reminder-list article>a{grid-area:1/3/3}.reminder-list small{white-space:normal}}.import-preview{margin-top:16px}.import-preview>div:not(.card-title){border-bottom:1px solid var(--line);grid-template-columns:110px 1fr auto;gap:12px;padding:10px 0;display:grid}.import-preview>div:last-child{border-bottom:0}@media (max-width:620px){.import-preview>div:not(.card-title){grid-template-columns:1fr auto}.import-preview>div span:first-child{color:var(--muted);grid-column:1/-1;font-size:12px}}.admin-metrics{margin-bottom:16px}.admin-section{margin-top:16px}.admin-section .card-title small{color:var(--muted);margin-top:3px;display:block}.admin-limit{align-items:end;gap:12px;margin-top:18px;display:flex}.admin-limit label{width:min(320px,100%)}.admin-members{margin-top:14px;display:grid}.admin-members article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 0;display:flex}.admin-members article:last-child{border-bottom:0}.admin-members article>div:first-child{display:grid}.admin-members small{color:var(--muted)}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.danger-zone{border-color:color-mix(in srgb,var(--negative) 35%,var(--line))}@media (max-width:620px){.admin-limit,.admin-members article{flex-direction:column;align-items:stretch}.admin-limit .button,.admin-actions form,.admin-actions .button{width:100%}}:root{--ink:#1d1d1f;--muted:#6e6e73;--line:#00000014;--bg:#f5f5f7;--card:#fff;--brand:#248a3d;--brand-dark:#1e7333;--positive:#248a3d;--negative:#d70015;--radius:14px;--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-page:2rem;--text-section:1.125rem;--text-metric:1.75rem;--text-body:1rem;--text-control:.875rem;--text-meta:.8125rem;--text-mobile-nav:.6875rem}html{background:var(--bg)}body{font-family:var(--font-ui);font-size:var(--text-body);font-synthesis:none;-webkit-font-smoothing:antialiased;background:var(--bg);line-height:1.5}a{color:inherit}.app-icon,.nav-icon{stroke-width:1.8px;flex:none;width:20px;height:20px}.button .app-icon,.theme-toggle .app-icon,.holding-heading .app-icon,.receipt-scan strong .app-icon{width:17px;height:17px}.button{border-color:var(--line);background:color-mix(in srgb,var(--card) 92%,var(--bg));min-height:44px;font-size:var(--text-control);-webkit-user-select:none;user-select:none;border-radius:10px;gap:7px;padding:9px 14px;font-weight:600;box-shadow:0 1px 2px #00000008}.button:hover{background:color-mix(in srgb,var(--card) 75%,var(--bg))}.button.primary{border-color:var(--brand);background:var(--brand);box-shadow:none;font-weight:600}.button.primary:hover{background:var(--brand-dark)}input,select,textarea{border-color:var(--line);background:var(--card);border-radius:10px;min-height:42px;font-size:16px;box-shadow:inset 0 0 0 1px #00000004}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--brand) 65%,transparent);outline:2px solid color-mix(in srgb,var(--brand) 22%,transparent);outline-offset:0}button:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,transparent);outline-offset:2px}label{color:var(--ink);font-weight:500}.card{border-color:var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px #00000006}.sidebar{width:224px;color:var(--ink);border-right:1px solid var(--line);background:#efeff1;padding:24px 14px 18px}.brand-mark.small{background:var(--ink);border-radius:9px;width:30px;height:30px;font-size:14px;font-weight:650}.sidebar nav{gap:2px}.sidebar nav a{color:var(--muted);font-size:var(--text-control);border-radius:9px;gap:11px;padding:9px 11px;font-weight:500}.sidebar nav a:hover{color:var(--ink);background:#0000000e}.sidebar nav a[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000000d}.sidebar nav a[aria-current=page] .nav-icon{color:var(--brand);opacity:1}.sidebar nav a .nav-icon{opacity:.82}.account{border-color:var(--line);color:var(--muted);padding:16px 10px 0}.link-button{color:var(--ink);font-weight:550}.content{max-width:1400px;margin-left:224px;padding:34px clamp(24px,4vw,54px) 72px}.page-head{align-items:center;margin-bottom:24px}.page-head h1{font-size:var(--text-page);letter-spacing:-.025em;font-weight:700;line-height:1.15}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:none;margin-bottom:3px;font-size:12px;font-weight:550}.metrics{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden}.metrics .card{box-shadow:none;border:0;border-radius:0}.metric{gap:5px;min-width:0}.metric span,.metric small{color:var(--muted)}.metric strong{font-size:var(--text-metric);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15}.metric.featured{background:color-mix(in srgb,var(--brand) 7%,var(--card));color:var(--ink);border:0}.card-title h2,.holding-heading h2,.sub-head h2,.settings-card h2{font-size:var(--text-section);letter-spacing:-.01em;font-weight:600;line-height:1.3}.dashboard-grid{gap:14px;margin-top:14px}.recent,.monthly-pie,.budget-card,.bank-trend,.recent-sales{margin-top:14px}.bar{background:var(--brand);border-radius:4px 4px 2px 2px}.bank-trend polyline{stroke-width:3px}.transaction-row,.category-list>div,.category-breakdown>div,.investment-list article,.sale-row,.recurring-list article{border-color:var(--line)}.transaction-row>span{background:color-mix(in srgb,var(--bg) 78%,var(--card));border-radius:9px}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;border-radius:9px}.icon-button:hover{background:var(--bg);color:var(--ink)}.icon-button .app-icon{width:17px;height:17px}.icon-button.danger:hover{background:color-mix(in srgb,var(--negative) 7%,var(--card));color:var(--negative)}.investment-icon,.recurring-icon{width:36px;height:36px;color:var(--muted);background:0 0;border-radius:0}.investment-icon .app-icon,.recurring-icon .app-icon{width:21px;height:21px}.holding-heading h2{align-items:center;gap:8px;display:flex}.holding-heading h2 .app-icon{color:var(--muted)}.theme-toggle{border-color:var(--line);background:var(--card);min-height:44px;color:var(--ink);border-radius:9px;align-items:center;gap:7px;margin-top:12px;font-weight:550;display:inline-flex}.receipt-scan strong{align-items:center;gap:7px;display:flex}.receipt-scan{background:var(--bg);border-style:solid}.settings-card{box-shadow:none}.section-description{margin:-12px 0 16px}html[data-theme=revolut-night]{--ink:#f5f5f7;--muted:#98989d;--line:#ffffff17;--bg:#0d0d0e;--card:#1c1c1e;--brand:#30d158;--brand-dark:#28b84d;--positive:#30d158;--negative:#ff453a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=revolut-night] body{background:var(--bg)}html[data-theme=revolut-night] .sidebar{border-color:var(--line);background:#151517}html[data-theme=revolut-night] .sidebar nav a:hover{background:#ffffff12}html[data-theme=revolut-night] .sidebar nav a[aria-current=page]{background:#242426}html[data-theme=revolut-night] .brand-mark.small{color:#111;background:#f5f5f7}html[data-theme=revolut-night] .card,html[data-theme=revolut-night] .button{box-shadow:none}html[data-theme=revolut-night] .metric.featured{background:color-mix(in srgb,var(--brand) 8%,var(--card))}html[data-theme=revolut-night] input,html[data-theme=revolut-night] select,html[data-theme=revolut-night] textarea{border-color:var(--line);background:#242426}html[data-theme=revolut-night] .icon-button,html[data-theme=revolut-night] .transaction-row>span{background:0 0}html[data-theme=revolut-night] .bar{background:var(--brand)}@media (max-width:900px){.content{padding:24px 18px calc(94px + env(safe-area-inset-bottom));margin-left:0}.bottom-nav{padding:7px 5px calc(5px + env(safe-area-inset-bottom));background:var(--card);border-color:var(--line);grid-template-columns:repeat(6,1fr);box-shadow:0 -1px 12px #0000000f}.bottom-nav a{min-width:0;min-height:48px;color:var(--muted);gap:2px}.bottom-nav a[aria-current=page]{color:var(--brand)}.bottom-nav .nav-icon{stroke-width:1.7px;width:22px;height:22px}.bottom-nav small{max-width:100%;font-size:var(--text-mobile-nav);text-overflow:ellipsis;line-height:1.15;overflow:hidden}.bottom-nav .mobile-add{transform:none}.bottom-nav .mobile-add .nav-icon{background:var(--ink);width:38px;height:38px;color:var(--card);box-shadow:none;stroke-width:2px;border:0;border-radius:50%;padding:9px}.bottom-nav .mobile-add small{color:var(--muted);margin:0;font-weight:500}.mobile-theme .theme-toggle{background:var(--card)}.icon-button{width:44px;height:44px}}@media (max-width:620px){.page-head{gap:16px}.page-head h1{font-size:1.75rem}.card{padding:16px}.metrics{grid-template-columns:1fr 1fr}.metric.featured{grid-column:auto}.metric strong{font-size:1.5rem}.page-actions{display:flex}.page-actions .button{flex:1;width:auto}.health-signals{grid-template-columns:1fr}.health-signals article,.health-signals article:first-child,.health-signals article:last-child{border-right:0;border-bottom:1px solid var(--line);padding:14px 0}.health-signals article:last-child{border-bottom:0}}.net-worth-breakdown{color:var(--muted);flex-wrap:wrap;gap:8px 24px;margin-top:18px;display:flex}.net-worth-breakdown span,.net-worth-breakdown a{color:var(--muted);gap:7px;display:flex}.net-worth-breakdown strong{color:var(--ink)}.cleanup-toolbar{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto minmax(160px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.cleanup-toolbar>div{align-self:center;display:grid}.cleanup-toolbar small,.merge-categories small{color:var(--muted)}.transaction-row.actions.cleanup-row{grid-template-columns:22px 38px minmax(0,1fr) auto 44px 44px}.row-check,.duplicate-confirm input{width:18px;min-height:18px;margin:0}.duplicate-confirm{grid-template-columns:none;align-items:center;gap:9px;font-weight:500;display:flex}.merge-categories{grid-template-columns:minmax(220px,1.5fr) 1fr auto 1fr auto;align-items:end;gap:12px;margin:16px 0;display:grid}.merge-categories>div{align-self:center;display:grid}.merge-categories>span{color:var(--muted);align-self:center}@media (max-width:900px){.cleanup-toolbar{grid-template-columns:1fr 1fr}.cleanup-toolbar>div{grid-column:1/-1}.cleanup-toolbar .button{width:100%}}@media (max-width:620px){.cleanup-toolbar,.merge-categories{grid-template-columns:1fr}.cleanup-toolbar>div{grid-column:auto}.merge-categories>span{display:none}.cleanup-toolbar .button,.merge-categories .button{width:100%}.transaction-row.actions.cleanup-row{grid-template-columns:28px 38px minmax(0,1fr) auto}.transaction-row.actions.cleanup-row>a{grid-area:2/3}.transaction-row.actions.cleanup-row>form{grid-area:2/4}}.page-intro{gap:3px;display:grid}.page-intro p{color:var(--muted);margin:0}.spending-trend{margin-top:14px}.spending-trend .card-title small{color:var(--muted)}.trend-start{border-top:1px solid var(--line);color:var(--muted);margin:18px 0 0;padding-top:16px}.getting-started{background:color-mix(in srgb,var(--brand) 5%,var(--card));grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:28px;margin-bottom:14px;display:grid}.getting-started h2,.getting-started p{margin:0}.getting-started p{color:var(--muted);margin-top:5px}.getting-started ol{counter-reset:steps;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.getting-started li{counter-increment:steps;align-content:start;gap:3px;display:grid}.getting-started li:before{content:counter(steps);border:1px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:4px;font-size:12px;display:grid}.getting-started a{font-weight:600}.getting-started small{color:var(--muted)}.filter-panel,.maintenance-panel{margin-bottom:14px}.filter-panel summary,.maintenance-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-weight:600;list-style:none;display:flex}.filter-panel summary::-webkit-details-marker{display:none}.maintenance-panel summary::-webkit-details-marker{display:none}.filter-panel summary:after,.maintenance-panel summary:after{content:"+";color:var(--muted);font-size:20px;font-weight:400}.filter-panel[open] summary:after,.maintenance-panel[open] summary:after{content:"−"}.filter-panel summary span{color:var(--muted);margin-left:auto;font-size:13px;font-weight:400}.filter-panel .filters{border-top:1px solid var(--line);margin:18px 0 0;padding:18px 0 0}.maintenance-panel .cleanup-toolbar,.maintenance-panel .merge-categories{border-top:1px solid var(--line);margin:18px 0 0;padding-top:18px}.budget-editor label small{color:var(--muted);font-size:12px;font-weight:400}.card a,.button,.icon-button{transition:background-color .16s,border-color .16s,color .16s}@media (max-width:760px){.getting-started,.getting-started ol{grid-template-columns:1fr}.bank-trend svg{height:150px}.monthly-pie .pie-chart{width:min(220px,78%)}}@media (max-width:620px){.page-intro p{font-size:14px}.metrics{grid-template-columns:1fr}.metric.featured{grid-column:auto}.metric{grid-template-columns:1fr auto;align-items:baseline}.metric small{grid-column:1/-1}.filter-panel summary span{display:none}.category-budgets form{grid-template-columns:36px minmax(0,1fr) auto}.category-budgets form input{grid-column:auto}.category-budgets form .button{grid-column:auto;width:auto}}@media (prefers-reduced-motion:reduce){.budget-track span,.card a,.button,.icon-button{transition:none}.skeleton{animation:none}}.category-budgets label strong{font-size:var(--text-control);font-weight:600}:where(.metric strong,.transaction-row b,.investment-value,.budget-values,.net-worth-breakdown strong,.pie-chart strong,.pie-legend strong,.category-budget-dashboard small,.recurring-amount,.reminder-due){font-variant-numeric:tabular-nums}.dashboard-insights{margin-top:14px}.dashboard-insights>summary,.inline-disclosure>summary{cursor:pointer;color:var(--brand);font-weight:600;list-style:none}.dashboard-insights>summary{padding:14px 2px}.dashboard-insights>summary::-webkit-details-marker{display:none}.inline-disclosure>summary::-webkit-details-marker{display:none}.dashboard-insights>summary:after,.inline-disclosure>summary:after{content:" +"}.dashboard-insights[open]>summary:after,.inline-disclosure[open]>summary:after{content:" −"}.dashboard-insights .bank-trend{margin-top:0}.inline-disclosure{padding-top:12px}.inline-disclosure>summary{padding:10px 0}.inline-disclosure form:first-of-type{border-top:1px solid var(--line)}.maintenance-panel .category-list{border-top:1px solid var(--line);margin:18px 0 0;padding-top:4px}@media (max-width:900px){.bottom-nav{grid-template-columns:repeat(7,1fr)}}.upcoming-panel .reminder-list{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.transaction-automation{margin-bottom:14px}.transaction-automation>summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px;font-weight:600;list-style:none;display:flex}.transaction-automation>summary::-webkit-details-marker{display:none}.transaction-automation>summary span{color:var(--muted);font-size:var(--text-meta);margin-left:auto;font-weight:400}.transaction-automation>summary:after{content:"+";color:var(--muted);font-size:20px;font-weight:400}.transaction-automation[open]>summary:after{content:"−"}.automation-content{padding-top:2px}.transaction-automation .planning-form{margin-top:14px}.investment-activity{scroll-margin-top:20px}.investment-activity .sub-head>div{gap:3px;display:grid}.investment-activity .sub-head span{font-size:var(--text-meta)}.activity-form{border-color:color-mix(in srgb,var(--brand) 42%,var(--line))}.activity-history{margin-top:12px}.activity-history>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.activity-history>div:last-child{border-bottom:0}.activity-history span{display:grid}.activity-history small{color:var(--muted)}.forecast-summary,.report-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}.report-summary{grid-template-columns:repeat(4,1fr)}.forecast-summary>div,.report-summary>div{border-block:1px solid var(--line);gap:5px;padding:18px 20px;display:grid}.forecast-summary span,.report-summary span{color:var(--muted);font-size:var(--text-meta)}.forecast-summary strong,.report-summary strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(21px,3vw,28px)}.forecast-ledger .card-title{margin-bottom:8px}.forecast-ledger article{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;display:grid}.forecast-ledger article:last-child{border-bottom:0}.forecast-ledger time{color:var(--muted);font-size:var(--text-meta);font-variant-numeric:tabular-nums}.forecast-ledger article>div{min-width:0;display:grid}.forecast-ledger small{color:var(--muted)}.forecast-ledger article>span,.forecast-ledger article>strong{font-variant-numeric:tabular-nums;text-align:right}.forecast-note{color:var(--muted);font-size:var(--text-meta)}.report-filters{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.report-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.report-breakdown .card-title,.report-accounts .card-title{margin-bottom:12px}.report-breakdown article{gap:7px;padding:10px 0;display:grid}.report-breakdown article>div:first-child,.report-accounts>div:not(.card-title):not(.empty){justify-content:space-between;gap:16px;display:flex}.report-bar{background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;height:7px;overflow:hidden}.report-bar span{border-radius:inherit;background:var(--brand);height:100%;display:block}.report-accounts>div:not(.card-title):not(.empty){border-bottom:1px solid var(--line);padding:12px 0}@media (max-width:760px){.forecast-summary,.report-summary{grid-template-columns:1fr 1fr}.forecast-ledger article{grid-template-columns:58px minmax(0,1fr) auto}.forecast-ledger article>strong{grid-column:2/-1}.report-grid{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr 1fr}.report-filters .button{width:100%}}@media (max-width:480px){.forecast-summary,.report-summary{grid-template-columns:1fr}.report-filters label{grid-column:1/-1}.forecast-ledger article{gap:10px}.forecast-ledger article>span{grid-column:3}.activity-history>div{flex-direction:column;align-items:start;gap:5px}.bottom-nav small{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bottom-nav a{min-height:52px}.bottom-nav .mobile-add .nav-icon{width:42px;height:42px}}:root{--ink:#18181b;--muted:#66666f;--line:#deddd7;--line-strong:#c8c6bd;--bg:#f5f2e9;--card:#fffdf8;--surface:#efede6;--surface-strong:#e4e1d8;--brand:#8a7118;--brand-dark:#66520e;--brand-soft:#f3ebbd;--signal:#e2c854;--positive:#087c56;--negative:#c33545;--radius:16px;--radius-small:8px;--font-ui:var(--font-geist-sans),"Helvetica Neue",Arial,sans-serif;--shadow:0 1px 2px #18181b0b,0 14px 35px #18181b0d;--text-page:clamp(2.35rem,4.7vw,4.4rem);--text-section:1.05rem;--text-metric:clamp(1.65rem,3vw,2.5rem);--text-body:.95rem;--text-control:.875rem;--text-meta:.78rem;--text-mobile-nav:.66rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}::selection{background:var(--signal);color:#18181b}html{background:var(--bg);scroll-behavior:smooth}body{background:radial-gradient(circle at 84% -12%,#e2c8542b,transparent 34rem),var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-body);letter-spacing:-.008em}.motion-shell,.app-shell{min-height:100svh}a{text-underline-offset:3px}.app-shell{position:relative}.sidebar{background:color-mix(in srgb,var(--bg) 88%,var(--card));border-right:1px solid var(--line);width:236px;padding:20px 14px;box-shadow:8px 0 30px #13233f09}.logo{color:var(--ink);letter-spacing:-.025em;gap:11px;margin:0 8px 30px;font-size:.96rem;font-weight:720}.logo>span:last-child{line-height:1.15;display:grid}.logo small{color:var(--muted);letter-spacing:.015em;margin-top:4px;font-size:.68rem;font-weight:520}.brand-mark,.brand-mark.small{background:var(--signal);color:#18181b;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff3d,0 5px 14px #8a711829}.brand-mark.small{width:34px;height:34px;font-size:.86rem;font-weight:760}.sidebar nav{gap:3px;display:grid;position:relative}.sidebar nav:before{content:"";background:var(--line);width:1px;position:absolute;inset:0 auto 0 0}.sidebar nav a{border-radius:var(--radius-small);min-height:43px;color:var(--muted);border:1px solid #0000;gap:12px;padding:10px 12px 10px 16px;font-weight:570;transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .22s,color .22s,border-color .22s;position:relative}.sidebar nav a:before{content:"";background:var(--brand);width:2px;height:0;transition:height .22s cubic-bezier(.16,1,.3,1);position:absolute;left:-1px}.sidebar nav a:hover{background:color-mix(in srgb,var(--card) 76%,transparent);color:var(--ink);transform:translate(3px)}.sidebar nav a[aria-current=page]{border-color:var(--line);background:var(--card);color:var(--ink);box-shadow:0 6px 18px #13233f0e}.sidebar nav a[aria-current=page]:before{height:22px}.sidebar nav a[aria-current=page] .nav-icon{color:var(--brand)}.sidebar nav .nav-icon{stroke-width:1.75px;width:19px;height:19px}.account{border-color:var(--line);color:var(--muted);gap:8px;padding:18px 8px 0;display:grid}.account .theme-toggle{width:100%;margin:4px 0 0}.account form{display:grid}.link-button{text-align:left;min-height:38px;color:var(--muted);font-size:var(--text-control);font-weight:570}.link-button:hover{color:var(--ink)}.content{width:calc(100% - 236px);max-width:1580px;margin-left:236px;padding:42px clamp(28px,4vw,68px) 90px;overflow-x:hidden}.page-head{border-bottom:1px solid var(--line);align-items:flex-end;margin-bottom:32px;padding-bottom:26px;position:relative}.page-head:after{content:"";background:var(--brand);width:clamp(70px,8vw,120px);height:2px;position:absolute;bottom:-1px;left:0}.page-intro{gap:7px;max-width:62rem}.page-head h1{max-width:62rem;font-size:var(--text-page);letter-spacing:-.04em;text-wrap:balance;font-weight:650;line-height:.96}.page-intro p{max-width:68ch;color:var(--muted);font-size:.98rem}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.button{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--card);min-height:44px;color:var(--ink);gap:8px;padding:9px 15px;font-weight:630;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background-color .2s,border-color .2s;box-shadow:0 2px #13233f0b}.button:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--card);transform:translateY(-2px);box-shadow:0 8px 18px #13233f17}.button:active{transform:translateY(0);box-shadow:0 1px #13233f0d}.button.primary{border-color:var(--signal);background:var(--signal);color:#18181b;box-shadow:0 7px 18px #8a711829}.button.primary:hover{color:#18181b;background:#d5b943;border-color:#c8ad37;box-shadow:0 10px 24px #8a711833}.button.danger{border-color:color-mix(in srgb,var(--negative) 42%,var(--line));color:var(--negative)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.card:hover{border-color:color-mix(in srgb,var(--brand) 20%,var(--line));box-shadow:0 2px 3px #13233f0a,0 18px 42px #13233f12}.card-title{min-height:32px}.card-title h2,.holding-heading h2,.sub-head h2,.settings-card h2{letter-spacing:-.025em;font-weight:660}.card-title>a,.settings-card>a{color:var(--brand);font-weight:620}.metrics{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);grid-template-columns:repeat(12,minmax(0,1fr));gap:0}.metrics .metric{border-right:1px solid var(--line);grid-column:span 4;padding:24px 26px}.metrics .metric:last-child{border-right:0}.metric{position:relative}.metric span{font-size:var(--text-meta);letter-spacing:.045em;text-transform:uppercase;font-weight:620}.metric strong{letter-spacing:-.045em;font-weight:620}.metric.featured{color:#fff;background:#191c21}.metric.featured span,.metric.featured small{color:#a1a1aa}.budget-card{background:linear-gradient(110deg,color-mix(in srgb,var(--brand-soft) 68%,var(--card)),var(--card) 72%)}.budget-track{background:var(--surface-strong);border-radius:2px;height:7px}.budget-track span{background:var(--brand);border-radius:2px}.dashboard-bento{grid-auto-flow:dense;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.dashboard-bento>.monthly-pie{grid-column:span 7;margin-top:0}.dashboard-bento>.recent{grid-column:span 5;margin-top:0}.pie-content{grid-template-columns:minmax(180px,250px) 1fr;gap:clamp(20px,4vw,54px);padding:28px 8px 12px}.pie-chart:after{background:var(--card)}.pie-legend>div{border-color:var(--line)}.pie-legend i{border-radius:2px}.transaction-row{border-color:var(--line);min-height:64px;transition:background-color .18s,transform .22s cubic-bezier(.16,1,.3,1)}.transaction-row:hover{background:color-mix(in srgb,var(--brand-soft) 34%,transparent);transform:translate(3px)}.transaction-row>span{border:1px solid var(--line);background:var(--surface);border-radius:8px}.transaction-row b,.investment-value strong,.recurring-amount strong{font-variant-numeric:tabular-nums;font-weight:650}.list-card,.investment-list{overflow:hidden}.list-card .transaction-row,.investment-list article{margin-inline:-2px;padding-inline:8px}.positive{color:var(--positive)}.negative{color:var(--negative)}.form-grid{gap:20px;max-width:980px;padding:clamp(20px,3vw,32px)}label{color:var(--ink);font-size:var(--text-control);gap:7px;font-weight:620}label small{color:var(--muted);font-weight:450;line-height:1.4}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-small);background-color:var(--card);min-height:46px;color:var(--ink);font-size:16px;transition:border-color .18s,box-shadow .18s,background-color .18s;box-shadow:0 1px #13233f06}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:42px}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line-strong))}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent),0 1px 0 #13233f0a;outline:0}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}.receipt-scan{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface)}.filter-panel,.maintenance-panel,.transaction-automation{border-radius:var(--radius)}.filter-panel summary,.maintenance-panel summary,.transaction-automation>summary{min-height:50px;color:var(--ink)}.filter-panel[open],.maintenance-panel[open],.transaction-automation[open]{border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.dashboard-insights>summary,.inline-disclosure>summary{color:var(--brand);font-weight:650}.forecast-summary,.report-summary{border-block:1px solid var(--line);background:var(--card);gap:0}.forecast-summary>div,.report-summary>div{border:0;border-right:1px solid var(--line);background:0 0}.forecast-summary>div:last-child,.report-summary>div:last-child{border-right:0}.forecast-summary strong,.report-summary strong{letter-spacing:-.04em;font-weight:630}.report-bar{background:var(--surface-strong);border-radius:2px;height:6px}.report-bar span{background:var(--brand);border-radius:2px}.settings-grid{gap:16px}.settings-card{position:relative;overflow:hidden}.settings-card:after{content:"";border:1px solid color-mix(in srgb,var(--brand) 14%,transparent);border-radius:50%;width:58px;height:58px;position:absolute;inset:auto -18px -18px auto}.icon-button{border-radius:var(--radius-small);color:var(--muted);background:0 0;border:1px solid #0000;transition:transform .2s,background-color .2s,color .2s,border-color .2s}.icon-button:hover{border-color:var(--line);background:var(--surface);color:var(--ink);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--card);min-height:40px;color:var(--ink);font-size:var(--text-control)}.error{border:1px solid color-mix(in srgb,var(--negative) 25%,transparent);border-radius:var(--radius-small);background:color-mix(in srgb,var(--negative) 8%,var(--card));color:var(--negative)}.empty{color:var(--muted)}.auth-shell{background:radial-gradient(circle at 18% 12%,#e2c85433,transparent 26rem),radial-gradient(circle at 90% 84%,#10b9811a,transparent 24rem),var(--bg)}.auth-card{border:1px solid var(--line);background:var(--card);border-radius:16px;width:min(440px,100%);box-shadow:0 24px 70px #13233f24}.auth-card .brand-mark{border-radius:9px}.auth-card h1{letter-spacing:-.045em;font-size:2.15rem}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 34%,transparent);outline-offset:3px}html[data-theme=after-hours]{--ink:#f0f3f1;--muted:#b5c3bd;--line:#3b4948;--line-strong:#53615f;--bg:#171b20;--card:#222930;--surface:#2b343a;--surface-strong:#35413f;--brand:#79bfaf;--brand-dark:#94d0c1;--brand-soft:#30443f;--signal:#79bfaf;--positive:#80d3ad;--negative:#ff9194;--shadow:0 1px 2px #00000042,0 18px 48px #00000038;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=after-hours] body{background:var(--bg)}html[data-theme=after-hours] .sidebar{background:color-mix(in srgb,var(--bg) 90%,var(--card));border-color:var(--line)}html[data-theme=after-hours] .sidebar nav a:hover{background:var(--surface)}html[data-theme=after-hours] .sidebar nav a[aria-current=page]{background:var(--card);box-shadow:0 8px 22px #0003}html[data-theme=after-hours] .brand-mark.small{background:var(--brand);color:#17211f}html[data-theme=after-hours] .card,html[data-theme=after-hours] .button{box-shadow:var(--shadow)}html[data-theme=after-hours] .metric.featured{background:var(--brand);color:#17211f}html[data-theme=after-hours] .metric.featured span,html[data-theme=after-hours] .metric.featured small{color:#233e37}html[data-theme=after-hours] input,html[data-theme=after-hours] select,html[data-theme=after-hours] textarea{border-color:var(--line-strong);background-color:var(--surface);color:var(--ink)}html[data-theme=after-hours] .button{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}html[data-theme=after-hours] .button.primary{border-color:var(--brand);background:var(--brand);color:#17211f}html[data-theme=after-hours] .button.primary:hover{background:var(--brand-dark);color:#17211f}html[data-theme=after-hours] .transaction-row>span{background:var(--surface)}html[data-theme=after-hours] .auth-card,html[data-theme=after-hours] .bottom-nav{background:var(--card)}html[data-theme=after-hours] .error{background:color-mix(in srgb,var(--negative) 11%,var(--card));color:var(--negative)}html[data-theme=after-hours] ::selection{background:var(--brand);color:#17211f}html[data-theme=daybook-paper]{--ink:#263632;--muted:#596b65;--line:#d9dfd7;--line-strong:#b9c8be;--bg:#f7f5f0;--card:#fffefa;--surface:#eff1e9;--surface-strong:#e3e9df;--brand:#247b70;--brand-dark:#1a6259;--brand-soft:#dcece5;--signal:#247b70;--positive:#19724f;--negative:#b33f50}html[data-theme=daybook-paper] body{background:var(--bg)}html[data-theme=daybook-paper] .metric.featured{background:#247b70}html[data-theme=daybook-paper] .metric.featured span,html[data-theme=daybook-paper] .metric.featured small{color:#e1f5ed}html[data-theme=soft-plum]{--ink:#352a39;--muted:#6e5d71;--line:#e4d7e1;--line-strong:#cdb9ca;--bg:#faf5f7;--card:#fffafd;--surface:#f3eaf1;--surface-strong:#eadbe7;--brand:#75537d;--brand-dark:#5f4166;--brand-soft:#ecdeeb;--signal:#75537d;--positive:#27745a;--negative:#af304f}html[data-theme=soft-plum] body{background:var(--bg)}html[data-theme=soft-plum] .metric.featured{background:#75537d}html[data-theme=soft-plum] .metric.featured span,html[data-theme=soft-plum] .metric.featured small{color:#f6eaf5}.appearance-settings{grid-column:1/-1;align-items:stretch}.theme-selector{border:0;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px;width:100%;margin:0;padding:0;display:grid}.theme-selector>label{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:10px;min-height:112px;padding:15px;transition:border-color .18s,background-color .18s,transform .2s;display:grid;position:relative}.theme-selector>label:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));transform:translateY(-2px)}.theme-selector>label.selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}.theme-selector input{width:18px;min-height:18px;box-shadow:none;margin:2px 0 0}.theme-selector label>span:last-child{gap:3px;display:grid}.theme-selector strong{font-size:.9rem}.theme-selector small{font-size:.76rem}.theme-swatches{border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:6px;grid-column:1/-1;height:24px;display:flex;overflow:hidden}.theme-swatches i{flex:1}.theme-status{color:var(--muted);text-align:right;grid-column:1/-1}@media (max-width:1050px){.dashboard-bento>.monthly-pie,.dashboard-bento>.recent{grid-column:1/-1}.pie-content{grid-template-columns:minmax(190px,260px) 1fr}}@media (max-width:900px){.content{width:100%;padding:30px 20px calc(98px + env(safe-area-inset-bottom));margin-left:0}.bottom-nav{padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-color:var(--line);background:var(--card);grid-template-columns:repeat(7,1fr);box-shadow:0 -10px 35px #13233f1a}.bottom-nav a{min-height:52px;color:var(--muted);border-radius:9px;position:relative}.bottom-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.bottom-nav .mobile-add .nav-icon{border:1px solid color-mix(in srgb,var(--card) 80%,transparent);background:var(--signal);color:#18181b;border-radius:12px;width:42px;height:42px;padding:10px;box-shadow:0 8px 20px #8a711833}html[data-theme=after-hours] .bottom-nav .mobile-add .nav-icon{color:#17211f}}@media (max-width:760px){.page-head{flex-direction:column;align-items:flex-start}.page-actions{justify-content:flex-start;width:100%}.dashboard-bento{grid-template-columns:1fr}.dashboard-bento>.monthly-pie,.dashboard-bento>.recent{grid-column:1}.pie-content{grid-template-columns:1fr}.pie-chart{width:min(235px,75%);margin-inline:auto}.theme-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.content{padding-inline:16px}.page-head{margin-bottom:22px;padding-bottom:20px}.page-head h1{font-size:clamp(2.25rem,13vw,3.4rem);line-height:.98}.page-intro p{font-size:.9rem}.page-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-actions .button{width:100%;padding-inline:10px}.metrics{grid-template-columns:1fr}.metrics .metric{border-right:0;border-bottom:1px solid var(--line);grid-column:1;padding:19px 20px}.metrics .metric:last-child{border-bottom:0}.metric{grid-template-columns:1fr auto;align-items:baseline}.metric small{grid-column:1/-1}.forecast-summary,.report-summary{grid-template-columns:1fr}.forecast-summary>div,.report-summary>div{border-right:0;border-bottom:1px solid var(--line)}.forecast-summary>div:last-child,.report-summary>div:last-child{border-bottom:0}.form-grid{gap:17px;padding:18px}.card{padding:18px}.transaction-row:hover{transform:none}.theme-selector{grid-template-columns:1fr}.theme-selector>label{min-height:96px}}@media (max-width:480px){.bottom-nav small{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bottom-nav .nav-icon{width:23px;height:23px}.bottom-nav .mobile-add .nav-icon{width:44px;height:44px}.report-filters{grid-template-columns:1fr 1fr}.report-filters label{grid-column:1/-1}}@media (hover:hover){.card a:hover{text-decoration:underline}.settings-card:hover:after{transition:transform .65s cubic-bezier(.16,1,.3,1);transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card,.sidebar nav a,.transaction-row,.icon-button,.settings-card:after{transition:none!important}.button:hover,.sidebar nav a:hover,.transaction-row:hover,.icon-button:hover{transform:none}}img.brand-mark,img.brand-mark.small{object-fit:contain;box-shadow:none;background:#fff;flex:none;display:block}.setup-gate{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;max-width:860px;padding:26px;display:grid}.setup-gate h2{margin:0 0 5px;font-size:1.2rem}.setup-gate p{max-width:58ch;color:var(--muted);margin:0}.setup-gate-icon{box-sizing:content-box;background:var(--brand-soft);width:28px;height:28px;color:var(--brand);border-radius:12px;padding:12px}@media (max-width:620px){.setup-gate{grid-template-columns:auto 1fr;padding:20px}.setup-gate .button{grid-column:1/-1;width:100%}}.calendar-picker{width:100%;font-weight:400;position:relative}.calendar-trigger{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--card);width:100%;min-height:46px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:9px 12px;display:flex;box-shadow:0 1px #18181b06}.calendar-trigger:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line-strong))}.calendar-trigger:focus-visible,.calendar-nav:focus-visible,.calendar-grid button:focus-visible,.calendar-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 34%,transparent);outline-offset:2px}.calendar-trigger svg{width:19px;height:19px;color:var(--brand);flex:none}.calendar-placeholder{color:var(--muted)}.calendar-popover{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);width:min(320px,100vw - 32px);color:var(--ink);padding:16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #0003}.calendar-head{grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.calendar-head strong{text-align:center;font-size:.93rem}.calendar-nav{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;display:grid}.calendar-nav:hover{background:var(--surface-strong)}.calendar-nav svg{width:17px;height:17px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-weekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:4px;font-size:.69rem;font-weight:650}.calendar-weekdays span{padding-block:5px}.calendar-grid button{aspect-ratio:1;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;font-size:.82rem;display:grid}.calendar-grid button:hover{border-color:var(--line);background:var(--surface)}.calendar-grid button.outside{color:color-mix(in srgb,var(--muted) 58%,transparent)}.calendar-grid button[aria-current=date]{border-color:var(--brand)}.calendar-grid button.selected{border-color:var(--signal);background:var(--signal);color:#fff;font-weight:700}.calendar-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.calendar-actions button{min-height:34px;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-weight:650}.calendar-actions button:hover,html[data-theme=after-hours] .calendar-trigger{background:var(--surface)}.month-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.month-grid button{background:var(--surface);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;font-size:.82rem}.month-grid button:hover{border-color:var(--line-strong);background:var(--surface-strong)}.month-grid button[aria-current=date]{border-color:var(--brand)}.month-grid button.selected{border-color:var(--signal);background:var(--signal);color:#18181b;font-weight:700}.month-grid button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 34%,transparent);outline-offset:2px}@media (min-width:621px){.form-grid .calendar-popover{top:auto;bottom:calc(100% + 8px)}}@media (max-width:620px){.calendar-popover{z-index:50;width:min(340px,100vw - 24px);padding:18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-grid button{min-width:38px}.calendar-actions button{min-height:44px}}.category-rules{gap:20px;margin-top:16px;display:grid}.rule-form{grid-template-columns:150px minmax(200px,1fr) minmax(210px,1fr) auto;align-items:end;gap:12px;display:grid}.rule-list{border-top:1px solid var(--line);display:grid}.rule-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(160px,1fr) 44px;align-items:center;gap:14px;min-height:58px;display:grid}.rule-list>div>span:last-of-type{color:var(--muted)}.reminder-options{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);grid-template-columns:140px 1fr;align-items:end;gap:14px;padding:16px;display:grid}.reminder-options legend{padding:0 6px;font-weight:650}.check-label{grid-template-columns:auto 1fr;align-items:center;gap:9px;min-height:46px;display:flex}.check-label input{width:18px;min-height:18px}.goal-progress{background:var(--surface-strong);border-radius:2px;width:150px;height:6px;display:block;overflow:hidden}.goal-progress i{background:var(--brand);height:100%;display:block}@media (max-width:900px){.rule-form{grid-template-columns:1fr 1fr}.rule-form .button{width:100%}.reminder-options{grid-template-columns:1fr 1fr}}@media (max-width:620px){.rule-form,.reminder-options{grid-template-columns:1fr}.rule-list>div{grid-template-columns:1fr 44px;padding-block:10px}.rule-list>div>span{grid-column:1}.rule-list>div>form{grid-area:1/2/3}.goal-progress{width:100%}}
