@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-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:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-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:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-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:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-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:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-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:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-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:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-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:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-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:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-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:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-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:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-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:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-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:Lexend Fallback;src:local("Arial");ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.00%;size-adjust:109.91%}.__className_cf7370{font-family:Lexend,Lexend Fallback;font-style:normal}.__variable_cf7370{--font-lexend:"Lexend","Lexend Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88da59c891d37117-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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/88da59c891d37117-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/88da59c891d37117-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36d711d427a06e51-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f1f7cdf240180e28-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/55fbdf033607a0e1-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-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:Source Sans\ 3;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9cf9c6e84ed13b5e-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:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_aeb8b9{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_aeb8b9{--font-sans:"Source Sans 3","Source Sans 3 Fallback"}.auth-page{margin:0;max-width:none;min-height:100dvh;padding:0;display:grid;grid-template-columns:minmax(420px,560px) 1fr;background:var(--surface)}.auth-panel{padding:48px clamp(28px,7vw,88px);display:flex;flex-direction:column;justify-content:center;gap:34px}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--primary);font-size:20px}.auth-form{display:grid;grid-gap:10px;gap:10px}.auth-form label{font-weight:700;margin-top:5px}.auth-form input{min-height:50px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:0 14px;font:inherit}.auth-form button{min-height:50px;margin-top:10px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-switch a{color:var(--accent);font-weight:800}.auth-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:72px;background:var(--primary);color:var(--bg)}.auth-aside blockquote{font-size:clamp(28px,4vw,52px);line-height:1.15;max-width:800px;margin:0 0 18px;font-weight:700}.auth-aside p{opacity:.75}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:800px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:28px 22px;justify-content:flex-start}.auth-brand{margin-bottom:25px}}.auth-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--border);background:var(--bg)}:root{color-scheme:dark;--bg:#0B0E14;--surface:#11151F;--surface-2:rgba(255,255,255,.03);--text:#F8FAFC;--muted:#94A3B8;--border:rgba(255,255,255,.08);--primary:#8B5CF6;--primary-2:#7C3AED;--accent:#8B5CF6;--accent-contrast:#fff;--positive:#22C55E;--warning:#F59E0B;--danger:#EF4444;--gold:#F5A623;--focus:#3B82F6;--shadow:0 8px 32px rgb(0 0 0/.3);--radius:24px;--sidebar:264px;--border-color:var(--border);--primary-color:var(--primary);--danger-color:var(--danger);--positive-color:var(--positive);--text-color:var(--text);--accent-color:var(--accent);--muted-color:var(--muted);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font:16px/1.5 var(--font-sans),Source Sans\ 3,system-ui,sans-serif}.app,body{background:var(--bg)}.app{min-height:100dvh}button,input,select{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit}h1,h2,h3{font-family:var(--font-lexend),Lexend,sans-serif;letter-spacing:-.025em}h1{font-size:clamp(1.7rem,2vw,2.25rem);line-height:1.18;margin:.15rem 0 .35rem}h2{font-size:1.15rem;margin:0}p{margin:.4rem 0}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.09em;margin:0}.muted{color:var(--muted)}.skip{position:fixed;z-index:100;top:-64px;left:16px;padding:12px 16px;background:var(--primary);color:var(--accent-contrast);border-radius:10px}.skip:focus{top:16px}.form-success{color:var(--positive);font-weight:700}.form-error{color:var(--danger);font-weight:700}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.brand-logo{border-radius:12px;object-fit:cover;background:var(--surface-2)}.app-nav{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:20;padding:24px 14px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .18s ease}.nav-brand-row{justify-content:space-between;padding:0 4px 28px}.nav-brand,.nav-brand-row{display:flex;align-items:center}.nav-brand{gap:10px;text-decoration:none;font:600 1.1rem var(--font-lexend),Lexend,sans-serif;min-width:0;overflow:hidden}.nav-brand span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:.8rem}.nav-collapse-toggle{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--text)}.nav-collapse-toggle:hover{background:var(--border);color:var(--text)}.nav-collapse-toggle svg{width:15px;height:15px;flex:0 0 auto}.app-nav nav{display:grid;grid-gap:4px;gap:4px}.app-nav nav a{min-height:46px;border:0;border-radius:12px;padding:0 12px;display:flex;align-items:center;gap:12px;background:transparent;color:var(--muted);font-weight:600;text-decoration:none;text-align:left;width:100%;transition:background .2s ease,color .2s ease}.app-nav nav a:hover{background:rgb(255 255 255/.05);color:#fff}.app-nav nav a.active{background:var(--primary);color:#fff}.app-nav svg,.mobile-nav svg{width:20px;height:20px;flex:0 0 auto}.app-nav.collapsed{width:var(--sidebar);align-items:center}.app-nav.collapsed .nav-brand strong,.app-nav.collapsed nav a span{display:none}.app-nav.collapsed .nav-brand-row{padding-left:0;padding-right:0;flex-direction:column;gap:10px}.app-nav.collapsed nav a{justify-content:center;padding:0;width:44px}.mobile-nav{display:none}@media(max-width:900px){.app-nav{display:none}.mobile-nav{position:fixed;inset:auto 0 0;z-index:30;min-height:68px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border)}.mobile-nav a{min-height:54px;display:grid;place-items:center;align-content:center;grid-gap:2px;gap:2px;color:var(--muted);font-size:.67rem;text-decoration:none}.mobile-nav a.active{color:var(--accent)}.mobile-nav .mobile-add{width:52px;height:52px;min-height:52px;margin:-20px auto 0;border-radius:16px;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow)}.mobile-nav .mobile-add svg{width:26px;height:26px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.user-menu{display:flex;align-items:center;gap:12px;padding:6px 6px 6px 16px;background:var(--surface);border:1px solid var(--border);border-radius:100px;cursor:pointer}.user-menu:hover{background:var(--surface-2)}.user-menu__text{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.user-menu__text strong{font-size:.9rem}.user-menu__text small{color:var(--muted);font-size:.75rem}.user-menu__avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:var(--primary);color:var(--accent-contrast);font-weight:700;font-size:.85rem}.dashboard-shell{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:22px;gap:22px}@media(min-width:901px){.dashboard-shell{width:min(1180px,calc(100% - var(--sidebar)));margin-left:var(--sidebar);margin-right:0;padding-left:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px);padding-top:36px}}.dashboard-bento-grid{display:grid;grid-template-columns:1fr 380px;grid-gap:24px;gap:24px;margin-top:32px}.bento-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.bento-main,.bento-sidebar{min-width:0;display:grid;grid-gap:24px;gap:24px;align-content:start}
/* !important e necessario aqui: as paginas passam grid-template-columns por
   style inline (ex.: repeat(4,1fr), "1fr 1fr 1fr 220px"), e style inline vence
   media query. Sem isso o mobile mantem 4 colunas e o documento ganha 791px
   de largura em uma viewport de 375px. */@media(max-width:1024px){.dashboard-bento-grid{grid-template-columns:1fr!important}}@media(max-width:768px){.bento-row{grid-template-columns:1fr!important}}.dashboard-card,.metric-card{background:var(--surface-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;min-width:0}.dashboard-card h3{font-size:1rem;margin:0 0 14px;font-family:var(--font-lexend),Lexend,sans-serif}.metric-card{position:relative;display:flex;flex-direction:column;justify-content:space-between}.metric-card strong{font-family:var(--font-lexend),Lexend,sans-serif;font-size:2.25rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:8px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-icon-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;margin-left:auto}.metric-card__trend{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;margin-top:8px}.metric-card__trend.up{color:var(--positive)}.metric-card__trend.down{color:var(--danger)}.metric-card--positive{border-left:4px solid var(--positive)}.metric-card--negative{border-left:4px solid var(--danger)}.dashboard-empty{padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.chart-wrap{height:240px;position:relative}.chart-legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:12px}.chart-legend__item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);font-weight:600}.chart-legend__dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.donut-layout{display:flex;align-items:center;gap:20px;height:100%;min-width:0}.donut-layout .chart-wrap{flex:1 1 40%;min-width:0;height:100%!important}.donut-legend{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;min-width:0}.donut-legend__item{display:flex;align-items:center;gap:8px;font-size:.85rem;min-width:0;overflow-wrap:anywhere}.donut-legend__item strong{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.insight-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);text-decoration:none;font-weight:600}.insight-link:hover{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.insight-link small{display:block;color:var(--muted);font-weight:400}.goal-row{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.goal-row:last-child{border-bottom:0}.goal-row__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.goal-row__top small{color:var(--muted);font-weight:400}.goal-row__percent{font-weight:700}.goal-row__bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.goal-row__bar-fill{height:100%;border-radius:999px;background:var(--primary)}.tx-icon-badge{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:10px}.tx-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:12px}.tx-row__body{flex:1 1 auto;min-width:0}.tx-row__body strong{display:block;font-size:.92rem}.tx-row__body small{color:var(--muted)}.tx-row__amount{font-weight:700;white-space:nowrap}.filter-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:8px;justify-content:center}.filter-card>span{font-size:.8rem;color:var(--muted);font-weight:600}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:600;padding:0 12px 12px}.data-table td{padding:14px 12px;border-top:1px solid var(--border)}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .cell-source{display:flex;align-items:center;gap:12px}.data-table .cell-source strong{display:block;font-size:.92rem}.data-table .cell-source small{color:var(--muted)}.data-table .type-pill{display:inline-block;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:700}.data-table .amount-discount{color:var(--danger)}.data-table .amount-net{font-weight:700}.data-table td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}@media(max-width:760px){.chart-wrap{height:210px}.dashboard-card,.metric-card{padding:18px}.donut-layout{flex-direction:column;align-items:stretch}}.toast-viewport{position:fixed;z-index:60;right:16px;bottom:16px;display:grid;grid-gap:8px;gap:8px;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.toast--error{border-left:4px solid var(--danger)}.toast--success{border-left:4px solid var(--positive)}.toast__close{flex:0 0 auto;margin-left:auto;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:2px 6px}.toast__close:hover{background:var(--surface-2);color:var(--text)}.install-prompt{position:fixed;z-index:60;left:16px;right:16px;bottom:16px;margin:0 auto;max-width:420px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.install-prompt__actions{display:flex;gap:10px;margin-top:14px}.install-prompt__install{flex:1 1 auto;min-height:44px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:600}.install-prompt__dismiss{min-height:44px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--muted)}@media(max-width:900px){.install-prompt,.toast-viewport{bottom:88px}}.onboarding-page{margin:0;max-width:none;min-height:100dvh;padding:40px 20px;background:var(--bg);display:grid;place-items:center}.onboarding-card{width:min(620px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:clamp(24px,5vw,52px);display:grid;grid-gap:28px;gap:28px}.onboarding-form,.onboarding-form>fieldset{display:grid;grid-gap:10px;gap:10px}.onboarding-card-fields,.onboarding-form>fieldset{border:0;padding:0;margin:0}.onboarding-form label,.onboarding-form legend{font-weight:700}.onboarding-form input{min-height:50px;border:1px solid var(--border);border-radius:10px;padding:0 14px;background:var(--surface);color:var(--text);font:inherit}.onboarding-card-fields{display:grid;grid-gap:10px;gap:10px;padding-top:12px}.onboarding-day-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.onboarding-day-fields label{display:grid;grid-gap:6px;gap:6px}.onboarding-submit{min-height:52px;margin-top:14px;border:0;border-radius:11px;background:var(--accent);color:#fff;font:inherit;font-weight:800;display:flex;gap:9px;align-items:center;justify-content:center;cursor:pointer}.onboarding-submit:disabled{opacity:.6}@media(max-width:600px){.onboarding-page{padding:0}.onboarding-card{min-height:100dvh;border:0;border-radius:0}.onboarding-day-fields{grid-template-columns:1fr}}.management-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.management-header>div{flex:1 1;min-width:0}.management-header .eyebrow{margin:0 0 4px}.management-header h1{margin:0;font-size:1.35rem}.management-header .muted{margin:2px 0 0;font-size:.9rem}.page-header__action{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent);color:var(--accent-contrast);border:0;border-radius:10px;font-weight:600;font-size:.9rem}.page-header__action:hover{filter:brightness(1.05)}.page-header__action svg{width:18px;height:18px}@media (max-width:700px){.management-header{flex-direction:column;align-items:flex-start}.page-header__action{width:100%;justify-content:center}}.finance-nav{position:relative;align-items:flex-start}.finance-nav .active{border-color:var(--accent);background:var(--surface-2);color:var(--accent)}.nav-more{position:relative}.nav-more>summary{list-style:none;cursor:pointer}.nav-more>summary::-webkit-details-marker{display:none}.nav-more-links{position:absolute;top:calc(100% + .5rem);left:0;z-index:10;min-width:13rem;display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);box-shadow:var(--shadow)}.nav-more-links .quick-link{justify-content:flex-start}.transaction-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.statement-import-panel{display:grid;grid-gap:1rem;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}.statement-import-panel h2,.statement-import-panel h3{margin:0}.statement-import-panel p{margin:.375rem 0 0}.statement-import-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;grid-gap:.5rem .75rem;gap:.5rem .75rem}.statement-import-field{display:grid;grid-gap:.5rem;gap:.5rem}.statement-import-field label{font-weight:700}.statement-import-field input,.statement-import-field select{min-height:3.125rem;border:1px solid var(--border);border-radius:.625rem;background:var(--surface);color:var(--text);padding:.5rem .75rem;font:inherit}.statement-import-form button{min-height:3.125rem}.statement-import-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0;padding:.75rem;border:1px solid var(--border);border-radius:.625rem}.statement-import-mapping legend{padding:0 .25rem;font-weight:700}.statement-import-mapping p{grid-column:1/-1}.statement-import-mapping label{display:grid;grid-gap:.5rem;gap:.5rem;font-weight:700}.statement-import-mapping select{min-height:3.125rem;border:1px solid var(--border);border-radius:.625rem;background:var(--surface);color:var(--text);padding:0 .75rem;font:inherit}.statement-import-inbox,.statement-import-preview{display:grid;grid-gap:.75rem;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.statement-import-summary{color:var(--muted)}.statement-import-actions{display:flex;flex-wrap:wrap;gap:.5rem}.statement-import-table-wrap{overflow-x:auto}.statement-import-table-wrap table{width:100%;border-collapse:collapse}.statement-import-table-wrap caption{padding:.5rem 0;text-align:left;color:var(--muted)}.statement-import-table-wrap td,.statement-import-table-wrap th{padding:.625rem;border-top:1px solid var(--border);text-align:left}.statement-import-batches{display:grid;grid-gap:.5rem;gap:.5rem;margin:0;padding:0;list-style:none}.statement-import-batches li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.625rem}.statement-import-batches li.selected{border-color:var(--accent)}.statement-import-batches span{display:block;margin-top:.25rem;color:var(--muted);font-size:.875rem}.statement-import-actions button:focus-visible,.statement-import-field input:focus-visible,.statement-import-field select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.transaction-filter{display:grid;grid-gap:.375rem;gap:.375rem}.transaction-filter label{font-weight:700}.finance-form select,.transaction-filter input,.transaction-filter select{min-height:3.125rem;width:100%;border:1px solid var(--border);border-radius:.625rem;background:var(--surface);color:var(--text);padding:0 .75rem;font:inherit}.finance-form select:focus-visible,.nav-more>summary:focus-visible,.transaction-entry-details>summary:focus-visible,.transaction-filter input:focus-visible,.transaction-filter select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.transaction-entry-details>summary{min-height:3rem;display:flex;align-items:center;color:var(--accent);font-weight:800;cursor:pointer}.transaction-entry-details .finance-form{margin-top:.75rem}.transaction-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.transaction-pagination button{min-height:2.75rem;padding:0 .875rem;border:1px solid var(--border);border-radius:.625rem;background:var(--surface);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.transaction-pagination button:disabled{cursor:not-allowed;opacity:.55}.transaction-pagination button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.transaction-types{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;margin:.625rem 0}.transaction-types input{position:absolute;opacity:0}.transaction-types span{min-height:3.375rem;border:1px solid var(--border);border-radius:.625rem;display:flex;align-items:center;justify-content:center;gap:.375rem;cursor:pointer;font-weight:700}.transaction-types input:checked+span{border-color:var(--accent);background:var(--surface-2);color:var(--accent)}.transaction-list-row{display:grid;grid-template-columns:2.75rem 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.875rem 0;border-top:1px solid var(--border)}.transaction-list-row>span{width:2.625rem;height:2.625rem;border-radius:.6875rem;display:grid;place-items:center;background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.transaction-list-row>span.in{background:var(--surface-2);color:var(--positive)}.transaction-list-row>div{display:grid}.transaction-list-row small{color:var(--muted)}.transaction-list-row>b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:820px){.statement-import-form,.statement-import-mapping{grid-template-columns:1fr 1fr}.statement-import-form button{grid-column:1/-1}.transaction-filters{grid-template-columns:1fr 1fr}.transaction-filter-query{grid-column:1/-1}}@media (max-width:520px){.statement-import-form,.statement-import-mapping{grid-template-columns:1fr}.statement-import-batches li{display:grid}.finance-nav{display:grid;grid-template-columns:1fr 1fr}.finance-nav .quick-link,.nav-more{width:100%}.nav-more-links{position:static;grid-column:1/-1;margin-top:.5rem}.nav-signout{grid-column:2}.transaction-filters{grid-template-columns:1fr}.transaction-filter-query{grid-column:auto}.transaction-types{grid-template-columns:1fr}.transaction-list-row{grid-template-columns:2.625rem 1fr}.transaction-list-row>b{grid-column:2}}.form-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.form-pair label{display:grid;grid-gap:8px;gap:8px;font-weight:700}.form-pair input{min-height:50px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:0 12px;font:inherit}@media(max-width:480px){.form-pair{grid-template-columns:1fr}}.dialog{border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text);padding:0;max-width:500px;width:90%;box-shadow:var(--shadow)}.dialog::-webkit-backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog__header{display:flex;align-items:center;justify-content:space-between;padding:32px 32px 16px}.dialog__header h2{margin:0;font-size:1.25rem;font-weight:600;font-family:var(--font-lexend),Lexend,sans-serif;color:var(--text)}.dialog__header button{border:0;background:transparent;padding:8px;border-radius:10px;color:var(--muted);cursor:pointer;transition:all .2s ease}.dialog__header button:hover{background:var(--surface-2);color:var(--primary)}.dialog__body{padding:0 32px 32px}@media (max-width:700px){.dialog--sheet{position:fixed;left:0;right:0;bottom:0;margin:0;max-width:none;width:100vw;border-radius:22px 22px 0 0;border-bottom:0;animation:sheet-up .22s ease-out}.dialog--sheet::-webkit-backdrop{background:rgba(12,23,20,.4)}.dialog--sheet::backdrop{background:rgba(12,23,20,.4)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.hub-tabs,.tabs-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0;margin:0 0 4px;border-bottom:1px solid var(--border)}.hub-tabs::-webkit-scrollbar,.tabs-nav::-webkit-scrollbar{display:none}.hub-tabs button,.tabs-nav button{flex:0 0 auto;min-height:48px;padding:0 16px;border:1px solid transparent;border-radius:12px 12px 0 0;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.hub-tabs button:hover,.tabs-nav button:hover{background:var(--surface-2);color:var(--primary)}.hub-tabs button.active,.hub-tabs button[aria-pressed=true],.tabs-nav button.active,.tabs-nav button[aria-pressed=true]{border-color:var(--border);border-bottom-color:var(--surface);background:var(--surface-2);color:var(--accent)}.hub-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin:var(--space-md) 0}.hub-filters input,.hub-filters select,.hub-filters>button{min-height:48px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}.hub-filters>button{font-weight:600;transition:background .18s ease,color .18s ease,border-color .18s ease}.hub-filters>button:hover{background:var(--surface-2);color:var(--primary)}.hub-filters>button.active{border-color:var(--accent);background:var(--surface-2);color:var(--accent)}.list{list-style:none;margin:0;padding:0}.account-row,.list>li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:16px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.list{display:grid;grid-gap:8px;gap:8px}.simple-form,.simple-form fieldset{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.simple-form fieldset{margin:0;padding:0;border:0}.simple-form label{display:grid;grid-gap:6px;gap:6px;font-size:.9rem;font-weight:600;color:var(--muted)}.simple-form input,.simple-form select,.simple-form textarea{min-height:48px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:16px;font-weight:400;transition:border-color .2s ease,box-shadow .2s ease}.simple-form input:focus,.simple-form select:focus,.simple-form textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(139,92,246,.2)}.simple-form button[type=button],.simple-form button[type=submit]{min-height:48px;border:0;padding:12px 24px;border-radius:12px;background:var(--primary);color:var(--bg);font-weight:600;transition:all .2s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.simple-form button[type=submit]:hover{opacity:.9;transform:translateY(-1px)}.progress-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.progress-bar--warning>span{background:var(--warning)}.progress-bar--danger>span{background:var(--danger)}.month-picker{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:100px;background:var(--surface)}.month-picker button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);transition:background .18s ease,color .18s ease}.month-picker button:hover{background:var(--surface-2);color:var(--primary)}.month-picker input{min-height:34px;padding:0 8px;border:0;background:transparent;color:var(--text);font-weight:600}.report-row{padding:10px 0;border-bottom:1px solid var(--border)}.report-row:last-of-type{border-bottom:0}.report-row>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);cursor:pointer}.report-row__figures{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}.report-delta--up{color:var(--danger)}.report-delta--down{color:var(--positive)}.report-row__items{margin:var(--space-sm) 0 0;padding:0 0 0 var(--space-md);list-style:none;font-size:.9rem}.report-row__items li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:4px 0;color:var(--muted)}.health-row{padding:var(--space-md) 0;border-bottom:1px solid var(--border)}.health-row:last-of-type{border-bottom:0}.health-row p{margin:6px 0 0}.health-row__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-sm)}.health-row__value{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.health-status{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:700}