@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_48b81b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_48b81b{--font-inter:"Inter","Inter Fallback"}:root{color-scheme:light;--bg:#f4f6f8;--surface:#ffffff;--border:#e2e8ed;--text:#16212a;--muted:#64748b;--primary:#1d4ed8;--primary-soft:#eff4ff;--green:#16a34a;--green-soft:#e9f7ef;--green-neon:#4ade80;--orange:#f59e0b;--orange-soft:#fdf3e3;--orange-neon:#fbbf24;--red:#dc2626;--red-soft:#fdecec;--red-neon:#f87171;--cyan-neon:#22d3ee;--blue-neon:#60a5fa;--purple-neon:#a78bfa;--dark:#0f1720;--radius:14px;--shadow:0 1px 2px rgba(16,24,40,0.04),0 4px 16px rgba(16,24,40,0.06);--shadow-lg:0 8px 32px rgba(16,24,40,0.12);--background:var(--bg);--foreground:var(--text);--surface-muted:#eef2f6;--brand:var(--primary);--brand-soft:var(--primary-soft);--positive:var(--green);--positive-soft:var(--green-soft);--warning:var(--orange);--warning-soft:var(--orange-soft);--danger:var(--red);--danger-soft:var(--red-soft);--violet:var(--purple-neon)}:root[data-theme=dark]{color-scheme:dark;--bg:#0b1117;--surface:#111b24;--border:#263545;--text:#e8eef6;--muted:#9aa8ba;--primary:#60a5fa;--primary-soft:rgba(96,165,250,0.16);--green:#4ade80;--green-soft:rgba(74,222,128,0.14);--orange:#fbbf24;--orange-soft:rgba(251,191,36,0.16);--red:#f87171;--red-soft:rgba(248,113,113,0.16);--surface-muted:#172536;--shadow:0 1px 2px rgba(0,0,0,0.22),0 4px 18px rgba(0,0,0,0.28);--shadow-lg:0 12px 36px rgba(0,0,0,0.36)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.button-link,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#ffffff;padding:0 14px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{min-height:40px;border:1px solid var(--border);border-radius:8px;color:var(--foreground);padding:0 10px}input[type=checkbox]{width:18px;min-height:18px;height:18px;padding:0}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(420px,40%) minmax(0,1fr);background:#ffffff}.login-brand-panel{position:relative;display:flex;min-height:100vh;overflow:hidden;background:#042c53;color:#ffffff}.login-orb{position:absolute;border-radius:999px;pointer-events:none}.login-orb.orb-one{width:280px;height:280px;top:-60px;left:-60px;background:#378add;opacity:.18}.login-orb.orb-two{right:-60px;bottom:-80px;width:320px;height:320px;background:#185fa5;opacity:.12}.login-orb.orb-three{top:50%;left:50%;width:200px;height:200px;transform:translate(-50%,-50%);background:#0c447c;opacity:.16}.login-brand-content{position:relative;z-index:1;display:grid;width:min(500px,100%);min-height:100vh;align-content:center;grid-gap:40px;gap:40px;padding:50px}.login-brand-eyebrow{margin:0 0 17px;color:#85b7eb;font-size:13px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.login-brand-content h1{width:min(370px,100%);margin:0;color:#ffffff;font-size:clamp(30px,2.1vw,41px);font-weight:700;line-height:1.1}.login-brand-subtitle{width:min(320px,100%);margin:17px 0 0;color:#8fc5fb;font-size:14px;line-height:1.6}.login-verse{width:min(380px,100%);margin:0;border-left:3px solid #185fa5;padding-left:17px}.login-verse p{margin:0 0 13px;color:#b5d4f4;font-size:15px;font-style:italic;font-weight:700;line-height:1.65}.login-verse cite{color:#85b7eb;font-size:13px;font-style:normal;font-weight:800}.login-brand-footer{margin-top:4px}.login-feature-icons{display:flex;gap:0;margin-bottom:11px}.login-feature-icons span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:#0c447c;color:#85b7eb}.login-brand-footer p{margin:0;color:#85b7eb;font-size:12px;font-weight:500}.login-form-panel{display:flex;position:relative;min-height:100vh;align-items:center;justify-content:center;background:#ffffff;padding:50px}.login-theme-toggle{position:absolute;top:22px;right:24px}.login-panel{width:min(620px,100%)}.login-panel h2{margin:0;color:#042c53;font-size:clamp(24px,1.8vw,34px);font-weight:800;line-height:1.2}.login-panel-subtitle{margin:9px 0 0;color:#8a8a82;font-size:14px;line-height:1.5}.notice h1,.page-header h1{margin:0;font-size:1.55rem;line-height:1.2}.login-form,.section-stack,.stacked-form,.transaction-form{display:grid;grid-gap:14px;gap:14px}.login-form{margin-top:40px;gap:17px}.login-form label,.stacked-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.92rem;font-weight:700}.login-form label{gap:8px;color:#042c53;font-size:13px;font-weight:500}.login-form input{width:100%;min-height:45px;border-color:#b5d4f4;border-radius:7px;background:#e6f1fb;color:#042c53;padding:12px 15px;font-size:14px}.login-password-field{position:relative;display:block}.login-password-field input{padding-right:50px}.login-form .login-password-toggle{position:absolute;top:50%;right:9px;transform:translateY(-50%);display:inline-flex;width:32px;min-height:32px;height:32px;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#185fa5;padding:0}.login-form .login-password-toggle:hover{background:rgba(55,138,221,.14)}.login-form .login-password-toggle:focus-visible{outline:2px solid rgba(55,138,221,.35);outline-offset:2px}.login-form input:focus{border-color:#378add;outline:2px solid rgba(55,138,221,.2)}.login-form .login-submit-button{width:100%;min-height:45px;border-color:#042c53;border-radius:8px;background:#042c53;color:#ffffff;padding:13px 15px;font-size:16px;font-weight:800}.login-form-footer{margin:6px 0 0;color:#042c53;font-size:11px;font-weight:600;text-align:center}.form-error{margin:0;color:var(--danger);font-weight:700}.form-ok{margin:0;color:var(--positive);font-weight:800}.field-error,.form-ok.compact{font-size:.78rem}.field-error{color:var(--danger);font-weight:800}.app-shell{display:grid;min-height:100vh;grid-template-columns:264px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:#111a20;color:#f8fbfc;padding:20px 14px}.brand{display:flex;align-items:center;gap:12px;padding:0 6px 18px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#d9b45b;color:#111a20;font-weight:900}.brand span,.brand strong{display:block}.brand span{color:#b8c4cb;font-size:.86rem}.nav-list{display:grid;grid-gap:4px}.nav-list a{display:flex;min-height:40px;align-items:center;gap:10px;border-radius:8px;color:#dce6ea;padding:0 10px;font-size:.94rem;font-weight:700}.nav-list a:hover{background:rgba(255,255,255,.08)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--border);background:rgba(245,247,248,.92);padding:12px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-user{display:grid;min-width:140px;text-align:right}.topbar-user span{color:var(--muted);font-size:.82rem}.period-selector{margin-right:auto}.filter-bar,.period-selector{display:flex;align-items:center}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px}.filter-bar label{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 10px}.filter-bar label input{width:min(280px,52vw);min-height:36px;border:0;padding:0}.period-selector input[type=number]{width:92px}.period-selector input[type=date]{width:150px}.icon-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0;color:var(--foreground)}.button-link.danger,.icon-button.danger{border-color:#edb8b8;background:var(--danger-soft);color:var(--danger)}.button-link.secondary{border-color:var(--border);background:var(--surface);color:var(--foreground)}.button-link.small{gap:6px;border-radius:7px;padding:0 11px;font-size:.86rem}.content{width:min(1240px,100%);margin:0 auto;padding:24px}.page-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.eyebrow{margin:0 0 6px;color:var(--brand);font-size:.78rem;font-weight:900;text-transform:uppercase}.button-row,.page-actions{display:flex;flex-wrap:wrap;gap:8px}.action-grid,.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat-grid.compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.notice,.panel,.stat-tile{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.stat-tile{display:grid;grid-gap:8px;gap:8px;min-height:92px;align-content:center}.stat-tile span{font-size:.82rem;font-weight:800}.stat-tile strong{font-size:1.22rem;line-height:1.2}.tone-positive{color:var(--positive)}.tone-warning{color:var(--warning)}.tone-danger{color:var(--danger)}.stat-tile.tone-positive{background:var(--positive-soft);border-color:#b7dfca}.stat-tile.tone-warning{background:var(--warning-soft);border-color:#efd19b}.stat-tile.tone-danger{background:var(--danger-soft);border-color:#edb8b8}.indicator-explainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.indicator-card{--indicator-accent:#4ade80;--indicator-soft:rgba(74,222,128,0.14);--indicator-border:rgba(74,222,128,0.35);position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:radial-gradient(circle at top right,var(--indicator-soft),transparent 34%),linear-gradient(180deg,#111827 0,#172033 100%);color:#e8f2ff;box-shadow:0 12px 28px rgba(15,23,42,.12);align-self:start;padding:18px}.indicator-card:has(details[open]),.indicator-card[open]{border-color:var(--indicator-border)}.indicator-card.tone-green{--indicator-accent:#4ade80;--indicator-soft:rgba(74,222,128,0.14);--indicator-border:rgba(74,222,128,0.42)}.indicator-card.tone-cyan{--indicator-accent:#22d3ee;--indicator-soft:rgba(34,211,238,0.14);--indicator-border:rgba(34,211,238,0.42)}.indicator-card.tone-blue{--indicator-accent:#60a5fa;--indicator-soft:rgba(96,165,250,0.14);--indicator-border:rgba(96,165,250,0.42)}.indicator-card.tone-red{--indicator-accent:#f87171;--indicator-soft:rgba(248,113,113,0.14);--indicator-border:rgba(248,113,113,0.42)}.indicator-card.tone-orange{--indicator-accent:#fb923c;--indicator-soft:rgba(251,146,60,0.15);--indicator-border:rgba(251,146,60,0.42)}.indicator-card.tone-amber{--indicator-accent:#fbbf24;--indicator-soft:rgba(251,191,36,0.15);--indicator-border:rgba(251,191,36,0.42)}.indicator-card.tone-purple{--indicator-accent:#a78bfa;--indicator-soft:rgba(167,139,250,0.15);--indicator-border:rgba(167,139,250,0.42)}.indicator-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.indicator-card-label{margin:0 0 8px;color:#9fb3d3;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.indicator-card-value{display:block;color:var(--indicator-accent);font-size:1.85rem;line-height:1.05;overflow-wrap:anywhere}.indicator-card-icon{position:relative;display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--indicator-soft);color:var(--indicator-accent)}.indicator-card-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:999px;background:var(--indicator-accent);box-shadow:0 0 12px var(--indicator-accent)}.indicator-card-progress{height:3px;overflow:hidden;margin-top:18px;border-radius:999px;background:rgba(148,163,184,.18)}.indicator-card-progress span{display:block;height:100%;border-radius:inherit;background:var(--indicator-accent)}.indicator-card-details{margin-top:12px}.indicator-card-details summary{display:inline-flex;align-items:center;gap:7px;color:#94a9c9;cursor:pointer;font-size:.82rem;font-weight:700;list-style:none}.indicator-card-details summary::-webkit-details-marker{display:none}.indicator-toggle-icon{color:var(--indicator-accent);font-size:1rem;line-height:1;transform:rotate(0deg);transition:transform .18s ease}.indicator-card-details[open] .indicator-toggle-icon{transform:rotate(180deg)}.indicator-card-body{display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.16)}.indicator-formula-box{display:grid;grid-gap:6px;gap:6px;padding:13px 14px;background:rgba(30,41,59,.82);color:#b6c7e4;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.65}.indicator-formula-box strong{color:#f8fbff}.indicator-card-explanation{margin:0;color:#b8c7df;font-size:.92rem;line-height:1.62}.indicator-card-note{display:flex;gap:10px;margin:0;padding:12px 13px;border-left:3px solid var(--indicator-accent);border-radius:10px;background:rgba(30,41,59,.72);color:#a9bad5;font-size:.86rem;line-height:1.5}.indicator-card-note span{color:var(--indicator-accent);font-weight:900}.panel{margin-bottom:18px;padding:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading h2,.two-column h3{margin:0;font-size:1rem}.notice{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;color:var(--muted)}.notice.warning{background:var(--warning-soft);color:var(--warning);border-color:#efd19b}.notice.success{background:var(--positive-soft);color:var(--positive);border-color:#b7dfca}.muted,.plain-list{margin:0;color:var(--muted)}.plain-list{padding-left:20px}.status-pill{display:inline-flex;min-height:26px;align-items:center;justify-content:center;background:var(--surface-muted);color:var(--muted);padding:0 10px;font-size:.78rem;font-weight:900;white-space:nowrap}.status-pill.tone-positive{background:var(--positive-soft);color:var(--positive)}.status-pill.tone-warning{background:var(--warning-soft);color:var(--warning)}.status-pill.tone-danger{background:var(--danger-soft);color:var(--danger)}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;background:var(--surface)}td,th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top;font-size:.9rem}th{position:-webkit-sticky;position:sticky;top:0;background:#e8eef1;color:#33414b;font-size:.78rem;text-transform:uppercase}tr:last-child td{border-bottom:0}tbody tr.journal-entry-inflow td{background:#edf8f1}tbody tr.journal-entry-inflow td:first-child,tbody tr.transaction-entry-income td:first-child{border-left:4px solid #8ac79e}tbody tr.transaction-entry-income td{background:#edf8f1}tbody tr.journal-entry-outflow td{background:#fff1f1}tbody tr.journal-entry-outflow td:first-child,tbody tr.transaction-entry-expense td:first-child{border-left:4px solid #efaaa8}tbody tr.transaction-entry-expense td{background:#fff1f1}.inline-form,.row-actions,.user-actions{display:flex;align-items:center;gap:8px}.inline-form,.user-actions{flex-wrap:wrap}.inline-form input,.inline-form select{min-height:36px}.inline-form button:not(.icon-button){min-height:36px;padding:0 10px}.result-bars{display:grid;grid-gap:14px;gap:14px}.result-bar-row{display:grid;grid-gap:6px;gap:6px}.result-bar-label{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.88rem;font-weight:800}.result-bar-label strong{color:var(--foreground)}.result-bar-track{height:12px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.result-bar-fill{display:block;width:var(--bar-width);height:100%;border-radius:inherit;background:var(--brand)}.result-bar-fill.tone-positive{background:var(--positive)}.result-bar-fill.tone-warning{background:var(--warning)}.result-bar-fill.tone-danger{background:var(--danger)}.chart-panel{min-height:360px}.chart-box{width:100%;height:290px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.two-column h3{margin-bottom:8px}.form-grid{display:grid;grid-gap:14px;gap:14px}.form-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.88rem;font-weight:800}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end}.dre-kpi-grid{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px}.dre-kpi-card{display:grid;grid-gap:10px;gap:10px;min-height:92px;align-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px}.dre-kpi-card strong{font-size:1.35rem;line-height:1.15}.dre-kpi-label{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:900}.dre-kpi-icon{display:inline-flex}.dre-kpi-card.tone-donation,.dre-kpi-card.tone-revenue{border-color:#c6dfb4;background:#edf7e8;color:#244f19}.dre-kpi-card.tone-cost{border-color:#edb8b8;background:var(--danger-soft);color:#742121}.dre-kpi-card.tone-expense{border-color:#efd19b;background:var(--warning-soft);color:#7b430c}.dre-result-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;margin-bottom:18px;border:1px solid #b9d4eb;border-radius:8px;background:#e6f2fb;color:#0c3358;padding:18px 22px}.dre-result-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#2f83d6;color:#ffffff}.dre-result-hero div{display:grid;grid-gap:4px;gap:4px}.dre-result-hero span{color:#255f9e;font-size:.88rem;font-weight:700}.dre-result-hero .dre-result-icon{color:#ffffff}.dre-result-value{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;white-space:nowrap}.dre-visual-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:start;grid-gap:18px;gap:18px}.dre-chart-panel{min-height:0;padding-bottom:14px}.dre-progress-panel{min-height:0}.dre-chart-box{width:100%;height:310px}.dre-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;color:var(--muted);font-size:.84rem;font-weight:900}.dre-chart-legend span{display:inline-flex;align-items:center;gap:6px}.dre-chart-legend span:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--brand)}.dre-chart-legend .tone-revenue:before{background:#5f9f26}.dre-chart-legend .tone-cost:before{background:#e94b4b}.dre-chart-legend .tone-result:before{background:#2f83d6}.dre-progress-panel{display:grid;align-content:start}.dre-progress-row{display:grid;grid-gap:7px;gap:7px;padding:10px 0}.dre-progress-row+.dre-progress-row{border-top:1px solid var(--border)}.dre-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.dre-progress-label span{font-weight:900}.dre-progress-track{height:10px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.dre-progress-fill{display:block;width:var(--progress-width);height:100%;border-radius:inherit;background:var(--brand)}.dre-progress-fill.tone-revenue{background:#5f9f26}.dre-progress-fill.tone-donation{background:#98c957}.dre-progress-fill.tone-cost{background:#e94b4b}.dre-progress-fill.tone-expense{background:#ed8a3a}.dre-progress-row small{color:var(--muted);font-weight:800;text-align:right}.dre-table-section td{background:#eef4f8;color:#0c3358;font-size:.82rem;font-weight:900;text-transform:uppercase}.dre-table-total td{background:#f7fbff;font-weight:900}.dre-table-subtraction td:last-child{color:var(--danger);font-weight:900}.bp-metric-grid{display:grid;grid-gap:12px;gap:12px;margin-bottom:18px}.bp-metric-card{display:grid;grid-gap:10px;gap:10px;min-height:76px;align-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:14px 16px}.bp-metric-label{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:900}.bp-metric-card strong{font-size:1.36rem;line-height:1.15}.bp-metric-card.tone-asset{border-color:#91c3f3;background:#e8f3ff;color:#0d477d}.bp-metric-card.tone-liability{border-color:#d1d5db;background:#f1f0ec;color:#3f3f46}.bp-metric-card.tone-equity{border-color:#b7dfca;background:var(--positive-soft);color:#245832}.bp-metric-card.tone-difference{border-color:#f0bc73;background:#fff0d7;color:#704110}.bp-position-panel{overflow:hidden}.bp-position-panel .status-pill{gap:6px}.bp-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;overflow:hidden}.bp-position-column{min-width:0;background:var(--surface)}.bp-position-title{display:flex;min-height:44px;align-items:center;gap:8px;padding:0 16px}.bp-position-title h3{margin:0;font-size:.95rem}.bp-position-column.tone-asset .bp-position-title{background:#e5f2ff;color:#155a99}.bp-position-column.tone-equity .bp-position-title{background:#e9f5df;color:#3d6f22}.bp-position-table{width:100%;table-layout:fixed;border-collapse:collapse}.bp-position-table .bp-code-col{width:22%}.bp-position-table .bp-account-col{width:50%}.bp-position-table .bp-balance-col{width:28%}.bp-position-table td,.bp-position-table th{padding:10px 14px;font-size:.82rem;line-height:1.25;vertical-align:top;word-break:break-word}.bp-position-table th{position:static;font-size:.74rem}.bp-position-column.tone-asset .bp-position-table th{background:#f0f6ff;color:#155a99}.bp-position-column.tone-equity .bp-position-table th{background:#f1f8ea;color:#3d6f22}.bp-position-table td:last-child,.bp-position-table tfoot td:last-child,.bp-position-table th:last-child{text-align:right;font-weight:900}.bp-position-column.tone-asset .bp-position-table td:last-child,.bp-position-column.tone-asset .bp-position-table tfoot td{color:#0d477d}.bp-position-column.tone-equity .bp-position-table td:last-child,.bp-position-column.tone-equity .bp-position-table tfoot td{color:#28591d}.bp-position-table tfoot td{border-bottom:0;font-weight:900}.bp-position-column.tone-asset .bp-position-table tfoot td{background:#e5f2ff}.bp-position-column.tone-equity .bp-position-table tfoot td{background:#e9f5df}.bp-empty-row td{color:var(--muted);font-style:italic}.import-summary{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);padding:12px;color:var(--muted)}.import-summary strong{color:var(--foreground)}.import-summary ul{margin:6px 0 0;padding-left:20px;color:var(--danger)}@media (max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand-content,.login-brand-panel,.login-form-panel{min-height:auto}.login-brand-content{gap:36px;padding:32px 24px}.login-form-panel{padding:36px 24px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:2px}.topbar{align-items:stretch;flex-wrap:wrap;padding:12px 16px}.period-selector{width:100%}.topbar-user{text-align:left}.content{padding:18px 14px}.page-header,.panel-heading,.result-bar-label{align-items:flex-start;flex-direction:column}.dre-result-hero,.dre-visual-grid,.two-column{grid-template-columns:1fr}.bp-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-position-grid{grid-template-columns:1fr}.bp-position-column+.bp-position-column{border-top:1px solid var(--border);border-left:0}.dre-progress-row small,.dre-result-value{text-align:left}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}svg{width:1em;height:1em;flex:0 0 auto;stroke-width:2}.button-link,button{min-height:40px;border-radius:10px;border-color:var(--primary);background:var(--primary);box-shadow:0 2px 8px rgba(29,78,216,.24);font-size:13px;font-weight:700;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.button-link:hover,button:hover{transform:translateY(-1px)}.button-link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(29,78,216,.22);outline-offset:2px}input,select{border-radius:9px;border-color:var(--border);background:var(--surface);color:var(--text);font-size:13px}input:focus,select:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px var(--primary-soft)}.app-shell{grid-template-columns:248px minmax(0,1fr);background:var(--bg)}.sidebar{z-index:50;border-right:0;background:linear-gradient(180deg,#0f1720,#15212b);color:#cbd5e1;padding:18px 14px;transition:transform .25s ease}.brand{gap:11px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07);padding:6px 8px 16px}.brand-mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1206;box-shadow:0 4px 14px rgba(245,158,11,.4);font-size:15px}.brand strong{color:#ffffff;font-size:15px;font-weight:800;line-height:1.1}.brand span{color:#94a3b8;font-size:11.5px}.nav-list{gap:4px}.nav-section-group{display:grid;grid-gap:4px;gap:4px}.nav-section-title{margin:0;padding:12px 10px 6px;color:#64748b;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.nav-list a{min-height:38px;border-radius:10px;color:#cbd5e1;padding:9px 11px;font-size:13.5px;font-weight:500;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.nav-list a svg{width:18px;height:18px;opacity:.85}.nav-list a:hover{background:rgba(255,255,255,.06);color:#ffffff}.nav-list a.active{background:linear-gradient(90deg,rgba(37,99,235,.25),rgba(37,99,235,.05));color:#ffffff;box-shadow:inset 2px 0 0 #60a5fa}.nav-list a.active svg{opacity:1}.sidebar-scrim{display:none;position:fixed;inset:0;z-index:40;min-height:0;border:0;border-radius:0;background:rgba(15,23,32,.5);box-shadow:none;padding:0}.workspace{display:flex;min-width:0;min-height:100vh;flex-direction:column}.topbar{z-index:30;justify-content:flex-start;gap:12px;border-bottom-color:var(--border);background:rgba(255,255,255,.85);padding:12px 26px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-spacer{flex:1 1 auto}.hamburger-button{display:none;width:40px;min-height:40px;border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:none;padding:0}.period-selector{flex-wrap:wrap;gap:8px;margin-right:0;border:1px solid var(--border);border-radius:11px;background:var(--bg);padding:5px 6px 5px 12px}.period-selector svg{width:17px;height:17px;color:var(--primary)}.period-selector input,.period-selector select{min-height:30px;border:0;background:transparent;box-shadow:none;padding:4px}.period-selector button{min-height:32px;padding:0 13px}.topbar-user{display:flex;min-width:0;align-items:center;gap:10px;text-align:left}.topbar-user strong{display:block;max-width:180px;overflow:hidden;color:var(--text);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.topbar-user span:not(.user-avatar){color:var(--muted);font-size:11px}.user-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#1d4ed8);color:#ffffff;font-size:13px;font-weight:800}.icon-button{width:40px;border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:none}.icon-button:hover{border-color:#cbd5e1;background:var(--bg);color:var(--primary)}.theme-toggle{min-height:36px;border-color:var(--border);border-radius:999px;background:var(--surface);color:var(--text);box-shadow:none;padding:0 12px;font-size:12px;font-weight:800}.theme-toggle:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);transform:translateY(-1px)}.theme-toggle svg{width:16px;height:16px}.btn-danger-soft,.button-link.danger,.icon-button.danger{border-color:#f5c2c2;background:var(--red-soft);color:var(--red);box-shadow:none}.button-link.secondary,.button-link.small.secondary{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:none}.button-link.small{min-height:34px;border-radius:9px;padding:0 12px}.app-footer{margin-top:auto;padding:20px 26px 28px;color:#94a3b8;font-size:11px;font-weight:600;text-align:center}.content{max-width:1400px;padding:24px 26px 44px;animation:contentFade .15s ease both}.page-header{align-items:flex-end;margin-bottom:20px}.eyebrow{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.08em}.notice h1,.page-header h1{color:var(--text);font-size:26px;font-weight:800;letter-spacing:-.02em}.button-row,.page-actions,.row-actions{align-items:center}.status-pill{min-height:25px;border-radius:999px;font-size:11.5px;font-weight:800}.status-pill.tone-positive{background:var(--green-soft);color:var(--green)}.status-pill.tone-warning{background:var(--orange-soft);color:var(--orange)}.status-pill.tone-danger{background:var(--red-soft);color:var(--red)}.bp-metric-card,.dre-kpi-card,.notice,.panel,.stat-tile,.table-wrap{border-color:var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel{padding:20px}.panel-heading{margin-bottom:14px}.panel-heading h2,.two-column h3{font-size:14.5px;font-weight:800}.muted,.plain-list{color:var(--muted);font-size:13px;line-height:1.6}.action-grid,.bp-metric-grid,.dre-kpi-grid,.stat-grid{gap:14px}.stat-tile{position:relative;min-height:94px;border-radius:12px;padding:16px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.bp-metric-card:hover,.dre-kpi-card:hover,.stat-tile:hover{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:var(--shadow-lg)}.stat-tile span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.stat-tile span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tile-dot,var(--primary))}.stat-tile strong{color:var(--text);font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.01em}.stat-tile.tone-positive{--tile-dot:var(--green);background:var(--green-soft);border-color:#bde7cc}.stat-tile.tone-warning{--tile-dot:var(--orange);background:var(--orange-soft);border-color:#f6d59a}.stat-tile.tone-danger{--tile-dot:var(--red);background:var(--red-soft);border-color:#f5c2c2}.stat-tile.tone-positive strong{color:var(--green)}.stat-tile.tone-warning strong{color:var(--orange)}.stat-tile.tone-danger strong{color:var(--red)}.kpi-group{margin-bottom:22px}.kpi-group-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.kpi-group-title:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--group-color,var(--primary))}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(210px,.8fr));grid-gap:16px;gap:16px;margin-bottom:22px}.dashboard-hero-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.dashboard-hero-main{background:linear-gradient(135deg,#0f1720,#1b2a36);color:#ffffff}.dashboard-hero-main:after{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:rgba(34,211,238,.1)}.dashboard-hero-label,.dashboard-hero-secondary span{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dashboard-hero-value{display:block;margin:8px 0 6px;background:linear-gradient(90deg,#4ade80,#22d3ee);background-clip:text;color:transparent;font-size:clamp(34px,4vw,38px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;-webkit-background-clip:text}.dashboard-hero-subtitle{color:#cbd5e1;font-size:12.5px}.dashboard-hero-secondary{display:grid;align-content:center;grid-gap:8px;gap:8px;border:1px solid var(--border);background:var(--surface)}.dashboard-hero-secondary strong{font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.dashboard-hero-secondary.pos{background:var(--green-soft)}.dashboard-hero-secondary.neu{background:var(--primary-soft)}.dashboard-hero-secondary.warn{background:var(--orange-soft)}.dashboard-hero-secondary.pos strong{color:var(--green)}.dashboard-hero-secondary.neu strong{color:var(--primary)}.dashboard-hero-secondary.warn strong{color:var(--orange)}.table-wrap,.tablewrap{overflow:hidden;border-radius:var(--radius)}table{min-width:780px}table,td,th{font-size:13px}td,th{padding:12px 14px}th{background:#fafbfc;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em}.mono,.r,td.mono,th.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.r,th.r{text-align:right}tbody tr{transition:background .14s ease}tbody tr:hover td{background:var(--primary-soft)}tbody tr.journal-entry-inflow td,tbody tr.transaction-entry-income td{background:#f0fbf4}tbody tr.journal-entry-inflow:hover td,tbody tr.transaction-entry-income:hover td{background:#e4f8eb}tbody tr.journal-entry-inflow td:first-child,tbody tr.transaction-entry-income td:first-child{border-left:4px solid var(--green)}tbody tr.journal-entry-outflow td,tbody tr.transaction-entry-expense td{background:#fff3f3}tbody tr.journal-entry-outflow:hover td,tbody tr.transaction-entry-expense:hover td{background:#fde8e8}tbody tr.journal-entry-outflow td:first-child,tbody tr.transaction-entry-expense td:first-child{border-left:4px solid var(--red)}tbody tr.transaction-retreat:not(.transaction-entry-income):not(.transaction-entry-expense) td:first-child{border-left:4px solid var(--primary)}.tfoot td,tfoot td{border-top:2px solid var(--border);background:#fafbfc;font-weight:800}.filter-bar{gap:10px}.flow-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.flow-legend-item{display:inline-flex;min-height:28px;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:0 11px;font-size:11.5px;font-weight:800}.flow-legend-item:before{content:"";width:8px;height:8px;border-radius:50%}.flow-legend-item.inflow{border-color:#bde7cc;background:var(--green-soft);color:var(--green)}.flow-legend-item.inflow:before{background:var(--green)}.flow-legend-item.outflow{border-color:#f5c2c2;background:var(--red-soft);color:var(--red)}.flow-legend-item.outflow:before{background:var(--red)}.bulk-edit-panel{display:grid;grid-gap:14px;gap:14px;margin-bottom:16px;padding:16px}.compact-heading{gap:8px;align-items:center}.compact-heading h2,.compact-heading h3{margin:0}.bulk-edit-grid,.retreat-edit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.bulk-edit-grid label,.retreat-edit-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.bulk-edit-grid button,.bulk-edit-grid input,.bulk-edit-grid select,.retreat-edit-form button,.retreat-edit-form input,.retreat-edit-form select{min-height:38px}.bulk-row-check{width:18px;height:18px;accent-color:var(--primary)}.retreat-edit-panel{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--border);border-top:2px solid var(--border);border-radius:12px;margin:14px 18px 18px;padding:18px 20px;background:#fafbfc}.retreat-edit-form .span-2{grid-column:span 2}.retreat-edit-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.retreat-notes-form{display:grid;grid-gap:12px;gap:12px}.retreat-notes-form textarea{min-height:120px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);background:var(--surface);font:inherit;line-height:1.6}.retreat-notes-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.retreat-notes-form button{justify-self:start}.retreat-delete-form{display:flex;justify-content:flex-end}.button-link.danger.soft{border-color:#f5c2c2;box-shadow:none}.cost-center-grid,.retreat-list{display:grid;grid-gap:12px;gap:12px}.cost-center-card{padding:0}.cost-center-card summary,.retreat-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}.cost-center-card summary::-webkit-details-marker,.manual-installments summary::-webkit-details-marker,.retreat-item summary::-webkit-details-marker{display:none}.cost-center-card summary{padding:16px 18px;font-weight:800}.cost-center-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;border-top:1px solid var(--border);padding:0 18px 18px;color:var(--muted);font-size:13px}.cost-center-detail-grid strong{color:var(--text)}.manual-installments{border:1px dashed var(--border);border-radius:12px;background:#fafbfc;padding:12px}.manual-installments summary{cursor:pointer;color:var(--primary);font-size:12px;font-weight:800}.manual-installments-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.manual-installments-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.retreat-item{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.retreat-item summary{padding:16px 18px}.retreat-item summary span,.retreat-item summary strong{display:block}.retreat-item summary strong{color:var(--text);font-size:15px}.retreat-item summary span{color:var(--muted);font-size:12px}.retreat-summary-values{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.retreat-summary-values>span:not(.status-pill){border-radius:999px;background:var(--bg);padding:5px 9px;font-weight:800}.retreat-item.status-paid{border-left:4px solid var(--green)}.retreat-item.status-partial{border-left:4px solid var(--orange)}.retreat-item.status-pending{border-left:4px solid var(--red)}.retreat-installments{border-top:1px solid var(--border);padding:0 18px 18px}.retreat-installment-head,.retreat-installment-row{display:grid;grid-template-columns:70px 120px 130px 110px 130px minmax(220px,1fr);grid-gap:10px;gap:10px;align-items:center}.retreat-installment-head{padding:13px 0 9px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.retreat-installment-row{border-top:1px solid #eef2f6;padding:10px 0;color:var(--text);font-size:13px}.retreat-installment-row .inline-form{justify-content:flex-end}.filter-bar label,.tbl-toolbar{border-radius:11px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.login-form label,.stacked-form label{color:var(--muted);font-size:12px;font-weight:700}.indicator-explainer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));align-items:start;gap:16px}.indicator-card{border-radius:var(--radius);background:radial-gradient(120% 120% at 100% 0,#1c2a36,#0f1720 60%);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.indicator-card:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 0 100%,var(--indicator-accent),transparent);opacity:.14;pointer-events:none}.indicator-card>*{position:relative;z-index:1}.indicator-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(15,23,32,.25)}.indicator-card-value{font-size:27px;font-weight:800;letter-spacing:-.02em}.indicator-card-icon{width:34px;height:34px;border-radius:10px}.indicator-card-dot{width:8px;height:8px;animation:neonPulse 1.8s ease-in-out infinite}.indicator-card-progress{height:5px}.dre-progress-fill,.indicator-card-progress span,.result-bar-fill{transform-origin:left;animation:growX 1s cubic-bezier(.22,1,.36,1) both}.indicator-formula-box{border-radius:10px;background:rgba(30,41,59,.86);font-size:12px}.indicator-card-note{align-items:flex-start}.dre-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.bp-metric-card,.dre-kpi-card{border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.bp-metric-card strong,.dre-kpi-card strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dre-result-hero{border-radius:var(--radius);border-color:#b9d4eb;background:#e8f4ff;box-shadow:var(--shadow)}.dre-result-value{font-size:clamp(2rem,4vw,2.8rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.dre-chart-panel,.dre-progress-panel{display:flex;min-height:466px;flex-direction:column}.dre-chart-box{flex:0 0 382px;min-height:382px;height:382px}.dre-chart-legend{margin-top:16px}.dre-progress-track,.result-bar-track{height:9px;background:#eef2f6}.dre-table-section td{background:#f2f7fb;color:#0f3f6e}.dre-table-total td{background:#f8fbff;color:#082f55}.dre-table-subtraction td:last-child{color:var(--red)}.bp-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bp-position-grid{border-radius:var(--radius)}.bp-position-table{min-width:0}.bp-position-table td,.bp-position-table th{font-size:12.5px}.bp-position-column+.bp-position-column{border-left:1px solid var(--border)}.notice.warning{background:var(--orange-soft);border-color:#f6d59a;color:#9a5c08}@keyframes contentFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes neonPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.35);opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:264px;height:100vh;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-scrim.show{display:block}.hamburger-button{display:inline-flex}.nav-list{grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible;padding-bottom:0}.topbar{align-items:center;flex-wrap:wrap;padding:12px 16px}.period-selector{order:3;width:100%}.topbar-spacer{flex:1 1}.bp-position-grid,.bulk-edit-grid,.dashboard-hero,.dre-result-hero,.dre-visual-grid,.form-grid,.retreat-edit-form,.two-column{grid-template-columns:1fr}.bp-metric-grid,.cost-center-detail-grid,.indicator-explainer-grid,.manual-installments-grid,.stat-grid,.stat-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.retreat-installment-head{display:none}.retreat-installment-row{grid-template-columns:1fr 1fr}.bp-position-column+.bp-position-column{border-top:1px solid var(--border);border-left:0}.dre-chart-panel,.dre-progress-panel{min-height:0}.dre-chart-box{flex:none;min-height:340px;height:340px}}@media (max-width:620px){.content{padding:18px 14px 36px}.dre-progress-label,.page-header,.panel-heading,.result-bar-label{align-items:flex-start;flex-direction:column}.bp-metric-grid,.cost-center-detail-grid,.dre-kpi-grid,.indicator-explainer-grid,.manual-installments-grid,.stat-grid,.stat-grid.compact{grid-template-columns:1fr}.cost-center-card summary,.retreat-item summary{align-items:flex-start;flex-direction:column}.retreat-summary-values{justify-content:flex-start}.retreat-installment-row{grid-template-columns:1fr;gap:6px}.retreat-installment-row .inline-form{justify-content:flex-start}.topbar-user strong{max-width:120px}.period-selector input[type=date]{width:100%}.dre-chart-box{min-height:300px;height:300px}.table-wrap,.tablewrap{overflow:visible;border:0;background:transparent;box-shadow:none}.resp-table thead{display:none}.resp-table table,.resp-table tbody,.resp-table td,.resp-table tfoot,.resp-table tr{display:block;width:100%;min-width:0}.resp-table tbody tr,.resp-table tfoot tr{margin-bottom:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.resp-table tbody td,.resp-table tfoot td{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f1f5f9;padding:9px 12px;text-align:right}.resp-table tbody td:last-child,.resp-table tfoot td:last-child{border-bottom:0}.resp-table tbody td:before,.resp-table tfoot td:before{content:attr(data-l);flex:0 0 42%;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase}.resp-table tbody tr.journal-entry-inflow,.resp-table tbody tr.transaction-entry-income{border-left:4px solid var(--green)}.resp-table tbody tr.journal-entry-outflow,.resp-table tbody tr.transaction-entry-expense{border-left:4px solid var(--red)}.bp-position-table,.bp-position-table tbody,.bp-position-table td,.bp-position-table tfoot,.bp-position-table tr{display:revert}.bp-position-table{display:table}}html[data-theme=dark] body{background:var(--bg);color:var(--text)}html[data-theme=dark] .login-form-panel,html[data-theme=dark] .login-shell{background:var(--bg)}html[data-theme=dark] .login-panel h2{color:var(--text)}html[data-theme=dark] .login-form-footer,html[data-theme=dark] .login-panel-subtitle{color:var(--muted)}html[data-theme=dark] .login-form input,html[data-theme=dark] .login-password-field input{background:var(--surface-muted);color:var(--text)}html[data-theme=dark] .topbar{background:rgba(15,23,32,.88)}html[data-theme=dark] .button-link.secondary,html[data-theme=dark] .button-link.small.secondary,html[data-theme=dark] .filter-bar label,html[data-theme=dark] .hamburger-button,html[data-theme=dark] .icon-button,html[data-theme=dark] .period-selector,html[data-theme=dark] .theme-toggle{background:var(--surface);color:var(--text)}html[data-theme=dark] .icon-button:hover,html[data-theme=dark] .theme-toggle:hover{background:var(--primary-soft);color:var(--primary)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface);color:var(--text)}html[data-theme=dark] input::placeholder{color:var(--muted)}html[data-theme=dark] .bp-metric-card,html[data-theme=dark] .bp-position-column,html[data-theme=dark] .dashboard-hero-secondary,html[data-theme=dark] .dre-chart-panel,html[data-theme=dark] .dre-kpi-card,html[data-theme=dark] .dre-progress-panel,html[data-theme=dark] .flow-legend-item,html[data-theme=dark] .manual-installments,html[data-theme=dark] .notice,html[data-theme=dark] .panel,html[data-theme=dark] .resp-table tbody tr,html[data-theme=dark] .resp-table tfoot tr,html[data-theme=dark] .retreat-edit-panel,html[data-theme=dark] .retreat-item,html[data-theme=dark] .stat-tile{background:var(--surface);border-color:var(--border)}html[data-theme=dark] .bp-metric-card.tone-equity,html[data-theme=dark] .dashboard-hero-secondary.pos,html[data-theme=dark] .dre-kpi-card.tone-donation,html[data-theme=dark] .dre-kpi-card.tone-revenue,html[data-theme=dark] .stat-tile.tone-positive,html[data-theme=dark] .status-pill.tone-positive{background:var(--green-soft)}html[data-theme=dark] .bp-metric-card.tone-difference,html[data-theme=dark] .dashboard-hero-secondary.warn,html[data-theme=dark] .dre-kpi-card.tone-expense,html[data-theme=dark] .stat-tile.tone-warning,html[data-theme=dark] .status-pill.tone-warning{background:var(--orange-soft)}html[data-theme=dark] .btn-danger-soft,html[data-theme=dark] .button-link.danger,html[data-theme=dark] .dre-kpi-card.tone-cost,html[data-theme=dark] .icon-button.danger,html[data-theme=dark] .stat-tile.tone-danger,html[data-theme=dark] .status-pill.tone-danger{background:var(--red-soft)}html[data-theme=dark] .bp-metric-card.tone-asset,html[data-theme=dark] .dashboard-hero-secondary.neu,html[data-theme=dark] .dre-result-hero{background:var(--primary-soft)}html[data-theme=dark] .bp-metric-card.tone-asset,html[data-theme=dark] .bp-metric-card.tone-asset strong,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-table td:last-child,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-table tfoot td,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-table th,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-title{color:#60a5fa}html[data-theme=dark] .bp-metric-card.tone-liability,html[data-theme=dark] .bp-metric-card.tone-liability strong{color:#cbd5e1}html[data-theme=dark] .bp-metric-card.tone-equity,html[data-theme=dark] .bp-metric-card.tone-equity strong,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-table td:last-child,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-table tfoot td,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-table th,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-title{color:#4ade80}html[data-theme=dark] .bp-metric-card.tone-difference,html[data-theme=dark] .bp-metric-card.tone-difference strong{color:#fbbf24}html[data-theme=dark] .dre-kpi-card.tone-donation,html[data-theme=dark] .dre-kpi-card.tone-donation strong,html[data-theme=dark] .dre-kpi-card.tone-revenue,html[data-theme=dark] .dre-kpi-card.tone-revenue strong{color:#86efac}html[data-theme=dark] .dre-kpi-card.tone-cost,html[data-theme=dark] .dre-kpi-card.tone-cost strong,html[data-theme=dark] .dre-table-subtraction td:last-child{color:#fca5a5}html[data-theme=dark] .dre-kpi-card.tone-expense,html[data-theme=dark] .dre-kpi-card.tone-expense strong{color:#fbbf24}html[data-theme=dark] .dre-result-hero,html[data-theme=dark] .dre-result-hero span,html[data-theme=dark] .dre-result-value{color:#93c5fd}html[data-theme=dark] .dre-result-hero .dre-result-icon{color:#ffffff}html[data-theme=dark] .bp-position-table tfoot td,html[data-theme=dark] .bp-position-table th,html[data-theme=dark] .dre-table-section td,html[data-theme=dark] .dre-table-total td,html[data-theme=dark] .tfoot td,html[data-theme=dark] tfoot td,html[data-theme=dark] th{background:#172536;color:var(--text)}html[data-theme=dark] .dre-table-section td{color:#93c5fd}html[data-theme=dark] .dre-table-total td{color:#e8eef6}html[data-theme=dark] .bp-position-table td,html[data-theme=dark] .resp-table tbody td,html[data-theme=dark] .resp-table tfoot td,html[data-theme=dark] td{border-color:var(--border)}html[data-theme=dark] tbody tr:hover td{background:var(--primary-soft)}html[data-theme=dark] .resp-table tbody tr.journal-entry-inflow,html[data-theme=dark] .resp-table tbody tr.transaction-entry-income,html[data-theme=dark] tbody tr.journal-entry-inflow td,html[data-theme=dark] tbody tr.transaction-entry-income td{background:rgba(74,222,128,.11)}html[data-theme=dark] tbody tr.journal-entry-inflow:hover td,html[data-theme=dark] tbody tr.transaction-entry-income:hover td{background:rgba(74,222,128,.18)}html[data-theme=dark] .resp-table tbody tr.journal-entry-outflow,html[data-theme=dark] .resp-table tbody tr.transaction-entry-expense,html[data-theme=dark] tbody tr.journal-entry-outflow td,html[data-theme=dark] tbody tr.transaction-entry-expense td{background:rgba(248,113,113,.11)}html[data-theme=dark] tbody tr.journal-entry-outflow:hover td,html[data-theme=dark] tbody tr.transaction-entry-expense:hover td{background:rgba(248,113,113,.18)}html[data-theme=dark] .dre-chart-box,html[data-theme=dark] .dre-progress-track,html[data-theme=dark] .indicator-card-progress,html[data-theme=dark] .retreat-summary-values>span:not(.status-pill){background:var(--surface-muted)}html[data-theme=dark] .retreat-item.status-paid{background:linear-gradient(90deg,rgba(74,222,128,.18),rgba(22,163,74,.07));border-color:rgba(74,222,128,.38);border-left-color:var(--green-neon)}html[data-theme=dark] .retreat-item.status-partial{background:linear-gradient(90deg,rgba(251,191,36,.18),rgba(245,158,11,.08));border-color:rgba(251,191,36,.4);border-left-color:var(--orange-neon)}html[data-theme=dark] .retreat-item.status-pending{background:linear-gradient(90deg,rgba(248,113,113,.2),rgba(220,38,38,.08));border-color:rgba(248,113,113,.42);border-left-color:var(--red-neon)}html[data-theme=dark] .retreat-item.status-paid .retreat-summary-values>span:not(.status-pill){background:rgba(74,222,128,.14);color:#bbf7d0}html[data-theme=dark] .retreat-item.status-partial .retreat-summary-values>span:not(.status-pill){background:rgba(251,191,36,.15);color:#fde68a}html[data-theme=dark] .retreat-item.status-pending .retreat-summary-values>span:not(.status-pill){background:rgba(248,113,113,.15);color:#fecaca}html[data-theme=dark] .bp-position-column.tone-asset .bp-position-table tfoot td,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-table th,html[data-theme=dark] .bp-position-column.tone-asset .bp-position-title{background:rgba(96,165,250,.16)}html[data-theme=dark] .bp-position-column.tone-equity .bp-position-table tfoot td,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-table th,html[data-theme=dark] .bp-position-column.tone-equity .bp-position-title{background:rgba(74,222,128,.14)}html[data-theme=dark] .notice.warning{background:var(--orange-soft)}html[data-theme=dark] .notice.success{background:var(--green-soft)}@media (max-width:620px){.theme-toggle{width:40px;padding:0}.theme-toggle span{display:none}.login-theme-toggle{top:14px;right:14px}}