@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Bricolage_Grotesque_01ae00;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Bricolage_Grotesque_Fallback_01ae00;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_01ae00{font-family:__Bricolage_Grotesque_01ae00,__Bricolage_Grotesque_Fallback_01ae00;font-style:normal}.__variable_01ae00{--font-display:"__Bricolage_Grotesque_01ae00","__Bricolage_Grotesque_Fallback_01ae00"}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Schibsted_Grotesk_0ddbdc;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Schibsted_Grotesk_Fallback_0ddbdc;src:local("Arial");ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.00%;size-adjust:104.49%}.__className_0ddbdc{font-family:__Schibsted_Grotesk_0ddbdc,__Schibsted_Grotesk_Fallback_0ddbdc;font-style:normal}.__variable_0ddbdc{--font-sans:"__Schibsted_Grotesk_0ddbdc","__Schibsted_Grotesk_Fallback_0ddbdc"}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_46fe82;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:__IBM_Plex_Mono_46fe82,__IBM_Plex_Mono_Fallback_46fe82;font-style:normal}.__variable_46fe82{--font-mono:"__IBM_Plex_Mono_46fe82","__IBM_Plex_Mono_Fallback_46fe82"}:root{--primary:#209846;--primary-bright:#3fbe63;--primary-dark:#1b7937;--primary-deep:#166430;--primary-soft:#e2f2e6;--on-primary:#fff;--focus-ring:var(--primary-dark);--btn-ground:var(--primary-dark);--btn-ground-hover:var(--primary-deep);--btn-label:var(--on-primary);--bg:#f4f5f6;--surface:#fff;--surface-alt:#fafbfb;--surface-2:#e9ebec;--field:var(--surface-2);--border:#dcdfe1;--border-strong:#c6cbcf;--ink:#14171a;--ink-muted:#3a4045;--muted-ink:var(--ink-muted);--text-muted:#5b6166;--text-faint:#63686d;--danger:#c8392f;--danger-soft:#fdeceb;--danger-ink:#9b2b23;--warning:#a4700a;--warning-soft:#fbf0dc;--warning-ink:#7f560b;--info:#2f5bd0;--info-soft:#e8eefc;--info-ink:#27499f;--success-soft:#cfe9d6;--success-ink:#166430;--dot:color-mix(in srgb,var(--ink) 16%,transparent);--dot-strong:color-mix(in srgb,var(--ink) 26%,transparent);--dot-hot:color-mix(in srgb,var(--primary) 62%,transparent);--chart-1:#3c9a43;--chart-2:#46b04a;--chart-3:#f0a93b;--chart-4:#4b63d8;--chart-5:#e5484d;--chart-6:#8b918a;--chart-7:#5fd06a;--chart-8:#9a6a1a;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:32px;--fs-3xl:40px;--lh-tight:1.2;--lh:1.5;--r-xs:8px;--r-sm:10px;--r-md:12px;--r-lg:16px;--r-pill:999px;--radius:var(--r-lg);--radius-sm:var(--r-md);--page-max:1100px;--page-max-default:880px;--page-max-narrow:640px;--page-pad:20px;--sidebar-w-full:232px;--sidebar-w-rail:64px;--sidebar-w:var(--sidebar-w-full);--sidebar-text-x:calc(var(--s-3) + 9px);--topbar-h:56px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--dur-1:80ms;--dur-2:120ms;--dur-3:160ms;--dur-4:240ms;--dur-5:400ms;accent-color:var(--primary-dark);scrollbar-color:var(--border-strong) transparent}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans),system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);font-size:var(--fs-base);line-height:var(--lh);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--primary-dark);text-underline-offset:2px;text-decoration-thickness:1px}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--surface-2);color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}::placeholder{color:var(--text-faint);opacity:1}.page{width:100%;margin:0 auto;padding:var(--s-6) var(--page-pad) var(--s-9)}.page-narrow{max-width:var(--page-max-narrow)}.page-default{max-width:var(--page-max-default)}.page-wide{max-width:var(--page-max)}.stack{gap:var(--s-4)}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:var(--s-2)}.stack-lg{display:flex;flex-direction:column;gap:var(--s-6)}.row,.row-between{display:flex;align-items:center;gap:var(--s-3)}.row-between{justify-content:space-between}.row-wrap{flex-wrap:wrap}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s-4)}.grid-auto,.grid-auto-wide{display:grid;gap:var(--s-4)}.grid-auto-wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--s-4)}.app-root{display:flex;flex-direction:column;min-height:100vh}.app-shell{align-items:flex-start}.app-main,.app-shell{display:flex;flex:1 1 auto}.app-main{min-width:0;flex-direction:column}.app-sidebar{position:-webkit-sticky;position:sticky;top:var(--topbar-h);z-index:30;flex:0 0 var(--sidebar-w);width:var(--sidebar-w);height:calc(100vh - var(--topbar-h));overflow-y:auto;overflow-x:hidden;padding:var(--s-4) var(--s-3);background:var(--surface);border-right:1px solid var(--border);transition:flex-basis var(--dur-3) var(--ease-out),width var(--dur-3) var(--ease-out)}.sidebar-group{margin-bottom:var(--s-5)}.sidebar-group:last-child{margin-bottom:0}.sidebar-group-label{font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.4;margin:0 0 var(--s-2);padding:0 9px}.sidebar-group-label,.sidebar-link{font-weight:500;color:var(--text-muted);white-space:nowrap}.sidebar-link{display:flex;align-items:center;gap:var(--s-3);padding:8px 9px;min-height:36px;border-radius:var(--r-sm);font-size:var(--fs-sm);text-decoration:none;transition:background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.sidebar-link>svg{flex:0 0 auto}.sidebar-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{background:var(--surface-alt);color:var(--ink-muted)}.sidebar-link.is-active{background:var(--primary-soft);color:var(--primary-dark)}.sidebar-scrim{display:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--s-3);min-height:var(--topbar-h);padding:var(--s-2) var(--page-pad) var(--s-2) 0;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-masthead{flex:0 1 auto;min-width:var(--sidebar-w);align-self:stretch;padding:0 var(--s-3) 0 var(--sidebar-text-x);border-right:1px solid var(--border);transition:min-width var(--dur-3) var(--ease-out)}.topbar .topbar-masthead{flex-shrink:1}.topbar-masthead-toggle{border:none;border-right:1px solid var(--border);background:none;color:inherit;font:inherit;cursor:pointer}.masthead-swap{position:relative;display:grid;place-items:center;width:26px;height:26px}.masthead-swap>*{grid-area:1/1;transition:opacity var(--dur-2) var(--ease-out)}.masthead-swap-glyph{display:grid;place-items:center;opacity:0;color:var(--ink-muted)}.topbar-masthead-toggle:focus-visible .masthead-swap-mark,.topbar-masthead-toggle:hover .masthead-swap-mark{opacity:0}.topbar-masthead-toggle:focus-visible .masthead-swap-glyph,.topbar-masthead-toggle:hover .masthead-swap-glyph{opacity:1}.topbar .topbar-menu{display:none;margin-left:var(--page-pad)}.topbar-action{margin-left:auto}.topbar-rail{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--text-muted);cursor:pointer;transition:background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.topbar-rail:hover{background:var(--surface-alt);color:var(--ink-muted)}.topbar-search{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex:0 1 260px;min-width:136px;min-height:36px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--field);color:var(--text-muted);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.topbar-search:hover{border-color:var(--primary);background:var(--surface)}.topbar-search-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:relative;flex:0 2 auto;min-width:0}.account-trigger{display:flex;align-items:center;gap:var(--s-2);min-height:36px;max-width:260px;min-width:0;width:100%;padding:5px 9px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.account-trigger:hover{background:var(--surface-alt)}.account-avatar{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--ink-muted);font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.04em}.account-name{min-width:0}.topbar-name-skeleton{width:128px}.account-name-skeleton{width:148px}.account-panel{position:absolute;top:calc(100% + var(--s-2));right:0;z-index:50;min-width:210px;padding:var(--s-1);display:flex;flex-direction:column}.account-email{margin:0 0 var(--s-1);padding:5px 11px var(--s-2);border-bottom:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);overflow-wrap:anywhere}.account-item{display:block;width:100%;text-align:left;padding:9px 11px;min-height:36px;border:none;border-radius:var(--r-sm);background:none;font:inherit;font-size:var(--fs-sm);color:var(--ink-muted);text-decoration:none;cursor:pointer;transition:background var(--dur-2) var(--ease-out)}.account-item:hover{background:var(--surface-alt)}.account-sep{margin-top:var(--s-1);padding-top:var(--s-1);border-top:1px solid var(--border)}.account-item-danger{color:var(--danger-ink)}@media (max-width:899px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;height:100%;width:var(--sidebar-w-full);flex:none;transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-3) var(--ease-out),visibility var(--dur-3) var(--ease-out)}.app-sidebar.is-open{transform:none;visibility:visible}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:50;width:100%;height:100%;padding:0;border:none;background:var(--ink);opacity:0;visibility:hidden;cursor:default;transition:opacity var(--dur-2) var(--ease-out),visibility var(--dur-2) var(--ease-out)}.sidebar-scrim.is-open{opacity:.4;visibility:visible}.topbar .topbar-menu{display:inline-flex}.topbar-search{flex:1 1 auto}.topbar-search .kbd{display:none}.topbar-action{margin-left:0}.topbar-masthead{flex:0 1 auto;min-width:0;padding:0;border-right:none}.account-name,.topbar-rail{display:none}}@media (min-width:900px){html[data-nav=rail]{--sidebar-w:var(--sidebar-w-rail)}html[data-nav=rail] .app-sidebar{padding-left:var(--s-2);padding-right:var(--s-2)}html[data-nav=rail] .sidebar-link{justify-content:center;gap:0;padding-left:0;padding-right:0}html[data-nav=rail] .sidebar-group-label,html[data-nav=rail] .sidebar-link-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html[data-nav=rail] .sidebar-group{margin-bottom:var(--s-3)}html[data-nav=rail] .sidebar-group+.sidebar-group{padding-top:var(--s-3);border-top:1px solid var(--border)}html[data-nav=rail] .topbar-masthead{justify-content:center;padding:0}html[data-nav=rail] .topbar-masthead .brand-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.brand{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0;text-decoration:none;color:var(--ink)}.brand-mark{border-radius:var(--r-xs);display:block}.brand-name{font-family:var(--font-display),var(--font-sans),system-ui,sans-serif;font-size:var(--fs-base);font-weight:700;color:var(--ink);white-space:nowrap}.palette,.shortcut-help{position:fixed;inset:0;z-index:80;overflow-y:auto;padding:0 var(--s-4)}.palette-scrim{position:fixed;inset:0;width:100%;height:100%;padding:0;border:none;background:var(--ink);opacity:.4;cursor:default}.palette-panel{position:relative;max-width:560px;margin:10vh auto var(--s-8);border:1px solid var(--border-strong);border-radius:var(--r-lg);overflow:hidden}.palette-input,.palette-panel{width:100%;background:var(--surface)}.palette-input{display:block;padding:var(--s-4) var(--s-5);border:none;border-bottom:1px solid var(--border);border-radius:0;font-family:inherit;font-size:var(--fs-md);color:var(--ink);caret-color:var(--primary-dark)}.palette-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.palette-list{max-height:52vh;overflow-y:auto;padding:var(--s-2)}.palette-group-label{font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:var(--s-3) 0 var(--s-1);padding:0 var(--s-3)}.palette-group-label:first-child{margin-top:0}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:36px;padding:8px var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-muted);cursor:pointer}.palette-item.is-active{background:var(--surface-2);color:var(--ink)}.palette-hint{font-size:var(--fs-xs);color:var(--text-faint);white-space:nowrap}.palette-empty{font-size:var(--fs-sm);margin:0;padding:var(--s-4) var(--s-3)}.kbd,.palette-empty{color:var(--text-muted)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 6px;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--field);font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--fs-xs);white-space:nowrap}.auth-page{position:relative;display:grid;place-items:center;min-height:100vh;padding:var(--page-pad)}.auth-card{position:relative;z-index:1;width:100%;max-width:400px}.dot-field{z-index:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle,var(--dot) 1px,transparent 1px)}.dot-field,.dot-field:after{position:absolute;inset:0;background-size:20px 20px}.dot-field:after{content:"";background-image:radial-gradient(circle,var(--dot-strong) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse 300px 330px at 50% 50%,#000 28%,transparent 78%);mask-image:radial-gradient(ellipse 300px 330px at 50% 50%,#000 28%,transparent 78%)}.dot-field-hot{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;--x:50%;--y:50%;--px:0;--py:0;background-image:radial-gradient(circle,var(--dot-hot) 1.4px,transparent 1.4px);background-size:20px 20px;-webkit-mask-image:radial-gradient(circle 170px at var(--x) var(--y),#000,transparent 72%);mask-image:radial-gradient(circle 170px at var(--x) var(--y),#000,transparent 72%);transform:translate(calc(var(--px) * 22px),calc(var(--py) * 22px));transition:opacity var(--dur-5) var(--ease-out)}.dot-field-hot.is-lit{opacity:1}.auth-brand{margin-bottom:var(--s-5)}.auth-brand .brand-name{font-size:var(--fs-md)}.auth-title{font-size:var(--fs-lg);letter-spacing:-.01em}.auth-social{margin-bottom:var(--s-4)}.auth-aside{text-align:center;margin:var(--s-4) 0 0;font-size:var(--fs-sm)}.auth-legal{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--border)}.page-title{font-family:var(--font-display),var(--font-sans),system-ui,sans-serif;font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:800;letter-spacing:-.02em;margin:0 0 var(--s-1)}.page-subtitle{font-size:var(--fs-base);color:var(--text-muted);margin:0 0 var(--s-5)}.section-title{font-family:var(--font-display),var(--font-sans),system-ui,sans-serif;font-size:var(--fs-md);font-weight:700;letter-spacing:-.01em;margin:0}.eyebrow,.stat-label{font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;line-height:1.4}.eyebrow{margin:0}.eyebrow,.stat-label{color:var(--text-muted)}.metric,.metric-lg,.money,.mono{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-lg{font-size:var(--fs-xl);line-height:var(--lh-tight);font-weight:500}.help{font-size:var(--fs-sm);margin:0}.help,.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.truncate{overflow:hidden;text-overflow:ellipsis;min-width:0}.nowrap,.sr-only,.truncate{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:none}.card-pad{padding:var(--s-5)}.card-pad-sm{padding:var(--s-3)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border)}.card-body{padding:var(--s-5)}.card-list{display:block}.card-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px dashed var(--border-strong)}.card-list-item:first-child{border-top:none}.ledger-total{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-weight:700}.ledger-total .metric,.ledger-total .money{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-card{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-1)}.stat-card-lead{border-top:2px solid var(--primary)}.stat-value{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-xl);line-height:var(--lh-tight);font-weight:500;color:var(--ink)}.stat-sub{font-size:var(--fs-sm);color:var(--text-muted)}.dashboard-recent{margin-top:var(--s-6)}.totals-note{margin-top:var(--s-3)}.totals-note-head{margin:0 0 var(--s-4)}.dashboard-hero{margin-bottom:var(--s-5)}.dashboard-hero .page-title{margin-bottom:var(--s-1);font-size:var(--fs-md);color:var(--text-muted);font-weight:600;letter-spacing:0}.hero-figure{font-size:var(--fs-3xl);line-height:var(--lh-tight);font-weight:600;color:var(--ink);margin:0;letter-spacing:-.02em}.hero-lines{margin:var(--s-2) 0 0}.dashboard-alert{display:block;margin-bottom:var(--s-3);text-decoration:none;font-weight:500}.dashboard-alert:hover{border-color:var(--ink-muted)}.cat-name{gap:var(--s-2);min-width:0}.cat-link{color:var(--text-muted);text-decoration:none;font-size:var(--fs-sm)}.cat-link:hover{color:var(--ink-muted);text-decoration:underline}.cat-swatch{width:10px;height:10px;border-radius:var(--r-xs);flex:0 0 auto;display:block}.card-list-link{color:inherit;text-decoration:none}.card-list-link:hover{background:var(--surface-alt)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);background:var(--btn-ground);color:var(--btn-label);border:1px solid var(--btn-ground);cursor:pointer;font-family:inherit;font-weight:700;font-size:var(--fs-sm);line-height:1.1;min-height:36px;padding:12px 18px;border-radius:var(--r-sm);text-decoration:none;white-space:nowrap;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.btn:hover{background:var(--btn-ground-hover);border-color:var(--btn-ground-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);font-weight:500}.btn-secondary:hover{background:var(--surface-alt);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--primary-dark);border-color:transparent;font-weight:500}.btn-ghost:hover{background:var(--primary-soft);border-color:transparent}.btn-danger{background:var(--danger);color:var(--on-primary);border:1px solid var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 85%,var(--ink));border-color:color-mix(in srgb,var(--danger) 85%,var(--ink))}.btn-sm{padding:6px 12px;font-size:var(--fs-sm);min-height:32px;border-radius:var(--r-sm)}.btn-block{width:100%}.btn-social{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);cursor:pointer;font-family:inherit;font-weight:500;font-size:var(--fs-base);padding:11px 18px;border-radius:var(--r-sm);transition:border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.btn-social:hover{border-color:var(--primary);background:var(--surface-alt)}.btn-social:active{transform:translateY(1px)}.btn-social:active,.btn:active{transition-duration:var(--dur-1)}.btn-social:disabled{opacity:.55;cursor:default}.link-btn{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:700;color:var(--primary-dark);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.link-btn:hover{color:var(--primary-deep)}.link-btn:disabled{opacity:.55;cursor:default}.link-back{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--fs-sm);font-weight:500;color:var(--text-muted);text-decoration:none;margin-bottom:var(--s-3)}.link-back:hover{color:var(--primary-dark)}.or-divider{display:flex;align-items:center;gap:var(--s-3);margin:0 0 var(--s-4);color:var(--text-faint);font-size:var(--fs-sm)}.or-divider:after,.or-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.field{display:flex;flex-direction:column;margin-bottom:var(--s-4);min-width:0}.field:last-child{margin-bottom:0}.field-row{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.field-row>.field{flex:1 1 160px;margin-bottom:0}.label{font-size:var(--fs-sm);font-weight:500;color:var(--ink-muted);margin-bottom:6px;display:block}.input,.select,.textarea{width:100%;padding:11px 13px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--field);font-family:inherit;font-size:var(--fs-base);color:var(--ink);caret-color:var(--primary-dark)}.textarea{min-height:88px;resize:vertical}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--focus-ring);background:var(--surface);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{opacity:.6;cursor:default}.checkbox-row{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-base);color:var(--ink-muted);cursor:pointer}.field-flex{flex:1 1 160px}.flags-row{gap:var(--s-5);padding-top:var(--s-1)}.form-alert{margin:0 0 var(--s-3)}.detail-actions{margin-top:var(--s-2)}.detail-actions .btn-block{flex:1 1}.detail-msg{margin:var(--s-3) 0 0}.detail-split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-gap:var(--s-4);gap:var(--s-4);align-items:start}.detail-receipt{position:-webkit-sticky;position:sticky;top:72px;margin-bottom:0}.detail-form{min-width:0}@media (max-width:899px){.detail-split{grid-template-columns:1fr}.detail-receipt{position:static}}.receipt-frame{margin-bottom:var(--s-4)}.receipt-img{display:block;max-width:100%;margin:0 auto;border-radius:var(--r-md)}.line-items{margin-top:var(--s-4)}.page-strip{display:flex;flex-wrap:wrap;gap:var(--s-2)}.page-thumb{position:relative;width:76px;height:76px;padding:0;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);transition:border-color var(--dur-2) var(--ease-out)}button.page-thumb{cursor:pointer}button.page-thumb:hover{border-color:var(--ink-muted)}.page-thumb.is-active{border-color:var(--primary);border-width:2px}.page-thumb-img{display:block;width:100%;height:100%;object-fit:cover}.page-thumb-doc{display:grid;place-items:center;width:100%;height:100%;background:var(--primary-soft);color:var(--primary-dark)}.page-thumb-kind{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.page-index,.page-thumb-kind{font-family:var(--font-mono),ui-monospace,monospace}.page-index{position:absolute;left:4px;top:4px;padding:0 4px;border-radius:var(--r-xs);background:var(--surface);color:var(--text-muted);font-size:10.5px;line-height:1.6}.page-doc{display:grid;place-items:center;grid-gap:var(--s-2);gap:var(--s-2);min-height:160px;padding:var(--s-5);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-muted);text-align:center;text-decoration:none}.page-doc:hover{border-color:var(--ink-muted)}.capture-block{margin-bottom:var(--s-4)}.capture-action,.capture-preview{margin-top:var(--s-3)}.capture-field{margin:var(--s-3) 0 0}.capture-items{margin-top:var(--s-3)}.capture-items>summary{cursor:pointer;padding:var(--s-2) 0}.capture-lead{margin-bottom:var(--s-2)}.capture-upgrade{align-self:flex-start}.preview-img{display:block;max-width:100%;border-radius:var(--r-md)}.dropzone{display:grid;justify-items:center;align-content:center;grid-gap:var(--s-2);gap:var(--s-2);width:100%;min-height:208px;padding:var(--s-6) var(--s-5);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--field);color:var(--text-muted);font:inherit;text-align:center;cursor:pointer;transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.dropzone:hover{background:var(--surface-2);border-color:var(--ink-muted);color:var(--ink-muted)}.dropzone.is-over{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.dropzone.is-busy,.dropzone:disabled{opacity:.55;cursor:default}.dropzone .empty-glyph{color:inherit}.dropzone-title{font-size:var(--fs-md);font-weight:700;color:var(--ink)}.dropzone-hint{font-size:var(--fs-sm)}.dropzone-types{font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.page-slot{display:flex;flex-direction:column;align-items:center;gap:var(--s-1)}.page-remove{min-height:36px;padding:0 var(--s-2);border:none;background:none;font:inherit;font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs)}.page-remove:hover{color:var(--danger-ink)}.page-remove:disabled{opacity:.55;cursor:default}.camera-panel{display:flex;flex-direction:column;gap:var(--s-3)}.camera-view{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:var(--ink)}.camera-video{display:block;width:100%;max-height:60vh;object-fit:contain}.camera-video.is-hidden{display:none}.review-split{margin-top:var(--s-5);padding-top:var(--s-2);border-top:1px dashed var(--border-strong)}.hint{font-size:var(--fs-sm);color:var(--text-muted);margin:6px 0 0}.error-text{margin:0 0 var(--s-3)}.error,.error-text{color:var(--danger-ink);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:var(--r-xs);font-family:var(--font-mono),ui-monospace,monospace;font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;line-height:1.5;white-space:nowrap;border:1px solid transparent}.badge-success{background:var(--success-soft);color:var(--success-ink);border-color:color-mix(in srgb,var(--success-ink) 40%,transparent)}.badge-warn{background:var(--warning-soft);color:var(--warning-ink);border-color:color-mix(in srgb,var(--warning-ink) 40%,transparent)}.badge-neutral{background:var(--surface-2);color:var(--text-muted);border-color:color-mix(in srgb,var(--text-muted) 40%,transparent)}.badge-info{background:var(--info-soft);color:var(--info-ink);border-color:color-mix(in srgb,var(--info-ink) 40%,transparent)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger-ink) 40%,transparent)}.table-card{overflow:hidden}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{text-align:left;font-family:var(--font-mono),ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.table td,.table th{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.table td{color:var(--ink-muted);vertical-align:middle}.table tbody tr{transition:background var(--dur-2) var(--ease-out)}.table tbody tr:hover{background:var(--surface-alt)}.table tbody tr:active{background:var(--surface-2);transition-duration:0s}.table tbody tr:last-child td{border-bottom:none}.table tr.is-selected,.table tr.is-selected:hover{background:var(--surface-2)}.table .num{text-align:right;font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.table .check-col{width:40px}.table .cell-link{cursor:pointer}.row-link-row{position:relative}.row-link{color:inherit;text-decoration:none}.row-link:after{content:"";position:absolute;inset:0}.row-link:hover{text-decoration:underline}.table .cell-above{position:relative;z-index:1}.row-link-row:focus-within{background:var(--surface-alt)}.row-link:focus-visible{outline:none}.row-link-row:has(.row-link:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.th-sort{display:inline-flex;align-items:center;gap:var(--s-1);min-height:20px;padding:0;border:none;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--ink-muted)}.th-sort-num{justify-content:flex-end;width:100%}.tag-row{gap:var(--s-1);margin-top:var(--s-1)}.tag-chip{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--field);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.tag-chip-flag{color:var(--ink-muted);border-color:var(--ink-muted);background:transparent}.flag-cell{gap:var(--s-1)}.export-action{margin-left:auto}.filter-bar,.page-head{margin-bottom:var(--s-4)}.search-input{max-width:260px}.month-select{max-width:180px}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--field)}.segment{padding:6px 12px;min-height:32px;border:none;border-left:1px solid var(--border-strong);background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.segment:first-child{border-left:none}.segment:hover{background:var(--surface-alt);color:var(--ink-muted)}.segment.is-active{background:var(--primary-soft);color:var(--primary-dark);font-weight:500}.review-card{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.review-check{flex:0 0 auto}.review-thumb{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-2)}.review-thumb.is-empty{color:var(--text-faint)}.review-thumb .empty-glyph{width:20px;height:20px}.review-body{flex:1 1 200px;min-width:0}.review-merchant{font-weight:600;color:var(--ink);text-decoration:none}.review-merchant:hover{text-decoration:underline}.review-actions{flex:0 0 auto;margin-left:auto}.tips-block{margin-bottom:var(--s-4)}.tips-block .alert{margin:0}.tips-list{margin:var(--s-2) 0 0;padding-left:var(--s-5)}.tips-list li{margin-bottom:var(--s-1)}.budget-form{margin-bottom:var(--s-4)}.budget-name{flex:2 1 200px}.budget-message{margin:var(--s-3) 0 0;min-height:1.2em}.budget-meta{display:inline;margin-left:var(--s-2)}.print-tip{text-align:center}.report-scope{margin-bottom:var(--s-4)}.report-period{max-width:220px}.mileage-form,.mileage-stats{margin-bottom:var(--s-4)}.mileage-message{margin:var(--s-3) 0 0;min-height:1.2em}.trip-purpose{flex:2 1 200px}.integrations-note{margin-top:var(--s-4)}.bulk-bar{margin-bottom:var(--s-3);position:-webkit-sticky;position:sticky;top:56px;z-index:3}.bulk-clear{margin-left:auto}.settings-nav{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-bottom:var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--border)}.settings-tab{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;color:var(--text-muted);text-decoration:none;transition:background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.settings-tab:hover{background:var(--surface-alt);color:var(--ink-muted)}.settings-tab.is-active{background:var(--primary-soft);color:var(--primary-dark)}.settings-msg{margin:var(--s-3) 0 0}.swatch-field{border:none;padding:0;margin:0 0 var(--s-4)}.swatch,.swatch-field>legend{padding:0}.swatch{width:28px;height:28px;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.swatch:hover{border-color:var(--ink-muted)}.swatch.is-selected{border-color:var(--ink);border-width:2px}.category-edit{width:100%}.danger-zone{border-color:var(--border-strong)}.expense-danger{margin-top:var(--s-5)}.activity-day{font-family:var(--font-display),var(--font-sans),system-ui,sans-serif;font-size:var(--fs-md);font-weight:700;letter-spacing:-.01em;margin:0 0 var(--s-2)}.activity-row{gap:var(--s-4)}.activity-time{font-size:var(--fs-xs);color:var(--text-faint)}.activity-day-skeleton{width:30%;height:20px}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;padding:var(--s-8) var(--s-5)}.empty-title{font-family:var(--font-display),var(--font-sans),system-ui,sans-serif;font-size:var(--fs-md);font-weight:700;margin:0;color:var(--ink)}.empty-glyph{color:var(--text-faint);display:block}.empty-copy{font-size:var(--fs-base);color:var(--text-muted);margin:0;max-width:42ch}.empty-action{margin-top:var(--s-2)}.skeleton{border-radius:var(--r-sm)}.skeleton,.skeleton-text{background:var(--surface-2)}.skeleton-text{border-radius:var(--r-xs);color:transparent;display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none}.input.skeleton-text{border-color:transparent;opacity:1}.skeleton-row-lead{flex:1 1 auto;min-width:0}.skeleton-row-figure{width:64px}.skeleton-hero{display:flex;flex-direction:column;align-items:flex-start}.skeleton-line{height:14px;background:var(--surface-2);border-radius:var(--r-xs);margin:var(--s-3) 0}.skeleton-card{height:96px;background:var(--surface-2);border-radius:var(--r-lg)}.skeleton-title{height:24px;width:45%;margin:0 0 var(--s-5)}.skeleton-bar,.skeleton-title{background:var(--surface-2);border-radius:var(--r-xs)}.skeleton-bar{height:14px}.skeleton-meter{height:8px;background:var(--surface-2);border-radius:var(--r-pill)}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--primary);animation:erSpin .7s linear infinite}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);min-height:45vh;padding:var(--s-8) var(--s-5)}.alert{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--fs-sm);color:var(--ink-muted);background:var(--surface-alt)}.alert-success{background:var(--success-soft);border-color:var(--primary);color:var(--success-ink)}.alert-warn{background:var(--warning-soft);border-color:var(--warning);color:var(--warning-ink)}.alert-danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger-ink)}.alert-info{background:var(--info-soft);border-color:var(--info);color:var(--info-ink)}.load-error{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4)}.load-error strong{font-size:var(--fs-base)}.meter{position:relative;width:100%;height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.meter-pace{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink);opacity:.45}.meter-fill{height:100%;width:100%;background:var(--primary-dark);transform:scaleX(var(--fill,0));transform-origin:left;transition:transform var(--dur-5) var(--ease-out)}@starting-style{.meter-fill{transform:scaleX(0)}}.meter.is-warn .meter-fill{background:var(--warning-ink)}.meter.is-over .meter-fill{background:var(--danger)}.bars{align-items:flex-end;height:140px;padding-top:var(--s-2)}.bar-col,.bars{display:flex;gap:6px}.bar-col{flex:1 1;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;height:100%}.bar{flex:1 1 auto;width:100%;border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--primary);transform:scaleY(var(--h,0));transform-origin:bottom;transition:transform var(--dur-4) var(--ease-out)}@starting-style{.bar{transform:scaleY(0)}}.bar-label{color:var(--text-faint)}.bar-label,.bar-value{font-size:var(--fs-xs);white-space:nowrap}.bar-value{color:var(--text-muted)}.bar-col.is-selected .bar{background:var(--primary-dark)}.bar-col.is-selected .bar-label,.bar-col.is-selected .bar-value{color:var(--ink-muted);font-weight:600}@keyframes erScreenIn{0%{opacity:0}to{opacity:1}}@keyframes erFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes erFadeIn{0%{opacity:0}to{opacity:1}}@keyframes erSpin{to{transform:rotate(1turn)}}.screen-in{animation:erScreenIn var(--dur-3) var(--ease-out) both}.fade-up{animation:erFadeUp var(--dur-4) var(--ease-out) both}.fade-swap{animation:erFadeIn var(--dur-2) var(--ease-out) both}.scan-frame{position:relative;overflow:hidden;border-radius:var(--r-md)}.scan-frame .preview-img{margin-top:0}.scan-sweep{height:100%;pointer-events:none;animation:erScan 1.6s linear infinite}.scan-sweep,.scan-sweep:before{position:absolute;left:0;right:0;top:0}.scan-sweep:before{content:"";height:2px;background:var(--primary)}@keyframes erScan{0%{transform:translateY(0)}to{transform:translateY(100%)}}.scan-fallback{display:none}@media (prefers-reduced-motion:reduce){.fade-swap,.fade-up,.screen-in{animation:none}.scan-sweep{display:none}.scan-fallback{display:flex}*{transition-property:opacity,background-color,border-color,color!important}.masthead-swap>*{transition-duration:0s}.dot-field-hot{display:none}}.print-only{display:none}@media print{:root{--bg:#fff;--surface:#fff;--surface-alt:#fff;--surface-2:#f2f2f2;--field:#fff;--ink:#000;--ink-muted:#1a1a1a;--text-muted:#333;--text-faint:#555;--border:#bbb;--border-strong:#888}.app-sidebar,.btn,.no-print,.palette,.settings-nav,.shortcut-help,.sidebar-scrim,.topbar{display:none!important}.print-only{display:block}.print-header{margin:0 0 var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--border-strong);font-size:var(--fs-sm)}.app-main,.app-shell{display:block}.page,.page-default,.page-narrow,.page-wide{max-width:none;width:100%;padding:0}.card{border:1px solid var(--border);box-shadow:none;page-break-inside:avoid;break-inside:avoid}a{text-decoration:none;color:inherit}.fade-swap,.fade-up,.screen-in{animation:none}}@media (prefers-color-scheme:dark){:root{--bg:#0f1113;--surface:#171a1d;--surface-alt:#1c2023;--surface-2:#212528;--field:var(--surface-alt);--border:#2b3034;--border-strong:#3a4045;--ink:#eef1f3;--ink-muted:#c8cfd4;--text-muted:#a3abb1;--text-faint:#8b9298;--primary:#3fbe63;--primary-bright:#3fbe63;--primary-dark:#3fbe63;--primary-deep:#57cf78;--primary-soft:#12291a;--on-primary:#0f1113;--danger:#f0736a;--danger-soft:#2c1614;--danger-ink:#f0736a;--warning:#e0a94e;--warning-soft:#2c2210;--warning-ink:#e0a94e;--info:#7f9df0;--info-soft:#161d33;--info-ink:#7f9df0;--success-soft:#12291a;--success-ink:#5fce80}}