@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--lh-tight: 1.15;--lh-snug: 1.35;--lh-base: 1.5;--tracking-tight: -.02em;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--icon-xs: 14px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 32px;--icon-2xl: 48px;--control-sm: 32px;--control-md: 36px;--control-lg: 40px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--sidebar-w: 256px}:root,[data-theme=latte]{color-scheme:light;--sidebar-bg: #e6e9ef;--sidebar-border: #ccd0da;--sidebar-text: #4c4f69;--sidebar-strong: #4c4f69;--sidebar-muted: #64677e;--sidebar-hover: #dce0e8;--sidebar-active-bg: #ccd0da;--sidebar-active-text: #4c4f69;--bg: #eff1f5;--surface: #eff1f5;--surface-2: #e6e9ef;--surface-3: #dce0e8;--zebra: #ebedf2;--border: #ccd0da;--border-strong: #bcc0cc;--text: #4c4f69;--text-2: #5c5f77;--muted: #64677e;--primary: #8839ef;--primary-2: #8839ef;--primary-hover: #7f3cdb;--primary-soft: rgba(136, 57, 239, .1);--on-primary: #eff1f5;--brand: #8839ef;--amber: #935743;--amber-soft: rgba(254, 100, 11, .1);--credit: #47734d;--credit-soft: rgba(64, 160, 43, .12);--debt: #cb123b;--debt-soft: rgba(210, 15, 57, .1);--info: #2761d9;--info-soft: rgba(30, 102, 245, .1);--chart-cash: #1e66f5;--chart-debt: #d20f39;--chart-on: #eff1f5;--focus: #7287fd;--input-bg: #eff1f5;--knob: #eff1f5;--track: #ccd0da;--scrim: rgba(76, 79, 105, .35);--shadow-sm: 0 1px 2px rgba(76, 79, 105, .06);--shadow: 0 4px 12px rgba(76, 79, 105, .08);--shadow-lg: 0 16px 40px rgba(76, 79, 105, .16)}[data-theme=mocha]{color-scheme:dark;--sidebar-bg: #181825;--sidebar-border: #313244;--sidebar-text: #bac2de;--sidebar-strong: #cdd6f4;--sidebar-muted: #9399b2;--sidebar-hover: #1e1e2e;--sidebar-active-bg: #313244;--sidebar-active-text: #cdd6f4;--bg: #1e1e2e;--surface: #1e1e2e;--surface-2: #181825;--surface-3: #313244;--zebra: #1b1b2a;--border: #313244;--border-strong: #45475a;--text: #cdd6f4;--text-2: #bac2de;--muted: #9399b2;--primary: #cba6f7;--primary-2: #cba6f7;--primary-hover: #c0b2fb;--primary-soft: rgba(203, 166, 247, .14);--on-primary: #11111b;--brand: #cba6f7;--amber: #f9e2af;--amber-soft: rgba(249, 226, 175, .1);--credit: #a6e3a1;--credit-soft: rgba(166, 227, 161, .1);--debt: #f38ba8;--debt-soft: rgba(243, 139, 168, .1);--info: #89b4fa;--info-soft: rgba(137, 180, 250, .1);--chart-cash: #1e66f5;--chart-debt: #d20f39;--chart-on: #eff1f5;--focus: #b4befe;--input-bg: #181825;--knob: #cdd6f4;--track: #313244;--scrim: rgba(17, 17, 27, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--border-strong) transparent}body{margin:0;background:var(--sidebar-bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh-base);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--primary-2);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{margin:0;line-height:var(--lh-snug)}h1{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}h3{font-size:var(--fs-md);font-weight:var(--fw-semibold)}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}::placeholder{color:var(--muted);opacity:1}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.spacer,.grow{flex:1}.text-warn{color:var(--amber)}.text-ok{color:var(--credit)}.text-debt{color:var(--debt)}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;padding:var(--space-2);position:sticky;top:0;height:100vh;z-index:40}.brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);color:inherit}.brand:hover{background:var(--sidebar-hover)}.brand-logo{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);flex-shrink:0;display:grid;place-items:center;color:var(--on-primary);background:var(--primary)}.brand-logo-custom{display:flex;align-items:center;justify-content:center;width:auto;max-width:120px;height:var(--control-lg);background:none;border:none;padding:0;border-radius:0}.brand-logo-custom img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain}.logo-preview{width:96px;height:96px;flex-shrink:0;padding:var(--space-1-5);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.logo-preview img{display:block;width:100%;height:100%;object-fit:contain}.brand-name{font-weight:var(--fw-semibold);font-size:var(--fs-md);color:var(--sidebar-strong);line-height:var(--lh-snug)}.brand-org{font-size:var(--fs-xs);color:var(--sidebar-muted);line-height:var(--lh-snug);max-width:180px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nav{display:flex;flex-direction:column;gap:var(--space-0-5);padding:var(--space-2) 0;flex:1;overflow-y:auto}.nav-section{display:flex;align-items:center;min-height:var(--control-sm);padding:0 var(--space-2);margin-top:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--sidebar-muted)}.nav a{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--fs-md);text-decoration:none}.nav a:hover{background:var(--sidebar-hover);color:var(--sidebar-strong);text-decoration:none}.nav a.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--fw-medium)}.nav a svg{flex-shrink:0}.nav .nav-count{margin-left:auto;min-width:20px;padding:0 var(--space-1-5);border-radius:var(--radius-sm);text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--sidebar-active-bg);color:var(--sidebar-strong)}.sidebar-foot{position:relative;padding-top:var(--space-2);border-top:1px solid var(--sidebar-border)}.user-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) 0}.avatar{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--sidebar-active-bg);color:var(--sidebar-strong)}.user-row .who{flex:1;min-width:0;line-height:var(--lh-snug)}.user-row .who strong{display:block;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--sidebar-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row .who span{display:block;font-size:var(--fs-xs);color:var(--sidebar-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row>button,.user-row>.popover-anchor>button{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);border:0;background:transparent;color:var(--sidebar-muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.user-row>button:hover,.user-row>.popover-anchor>button:hover{background:var(--sidebar-hover);color:var(--sidebar-strong)}.user-row .popover-anchor{position:static}.main{flex:1;min-width:0;display:flex;flex-direction:column;margin:var(--space-2) var(--space-2) var(--space-2) 0;min-height:calc(100vh - 2 * var(--space-2));background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.main>:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-6);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar .menu-btn{display:none}.topbar-sep{width:1px;height:16px;background:var(--border-strong);flex-shrink:0}.page-title{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-md);background:none;border:0;color:var(--muted);cursor:pointer;font-size:var(--fs-md)}.back-btn:hover{background:var(--surface-3);color:var(--text)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.searchbox{display:flex;align-items:center;gap:var(--space-2);width:240px;height:var(--control-md);padding:0 var(--space-1-5) 0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:var(--input-bg);border:1px solid var(--border-strong);color:var(--muted);font-size:var(--fs-md);text-align:left;box-shadow:var(--shadow-sm)}.searchbox:hover{background:var(--surface-3)}.searchbox span.grow{flex:1}.kbd,.searchbox kbd{font-family:var(--font);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xs);padding:0 var(--space-1-5);background:var(--surface-3)}.icon-btn{position:relative;flex-shrink:0;width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);display:grid;place-items:center;cursor:pointer;background:transparent;border:0;color:var(--text-2)}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn .dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 2px var(--bg)}.month-pill{display:flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--input-bg);border:1px solid var(--border-strong);color:var(--muted);box-shadow:var(--shadow-sm)}.month-pill select{border:0;background:transparent;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text);cursor:pointer;padding:0;max-width:220px}.month-pill select option{background:var(--surface);color:var(--text)}.month-pill .status-dot{width:7px;height:7px;border-radius:50%;background:var(--credit);flex-shrink:0}.month-pill .status-dot.closed{background:var(--muted)}.content{padding:var(--space-6) var(--space-6) var(--space-12);width:100%;max-width:1680px}.content.wide{max-width:none}.demo-banner{background:var(--amber-soft);color:var(--amber);border-bottom:1px solid color-mix(in srgb,var(--amber) 25%,transparent);padding:var(--space-1-5) var(--space-6);font-size:var(--fs-sm);font-weight:var(--fw-medium);display:flex;align-items:center;gap:var(--space-2)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-head .sub{color:var(--muted);margin-top:var(--space-1);max-width:900px}.page-head .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-6)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);flex-wrap:wrap}.card-head h2{display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-4) var(--space-6)}.grid{display:grid;gap:var(--space-4)}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.stat{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-1);position:relative}.stat .label{color:var(--muted);font-size:var(--fs-md);display:flex;align-items:center;gap:var(--space-2)}.stat .value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight)}.stat .hint{font-size:var(--fs-sm);color:var(--muted)}.stat.hero{border-color:var(--border-strong)}.stat.tone-debt .value{color:var(--amber)}.stat.tone-credit .value{color:var(--credit)}.stat-icon{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);display:grid;place-items:center;background:var(--surface-3);color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background .12s,border-color .12s,color .12s;text-decoration:none}.btn:hover{background:var(--surface-3);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--debt);border-color:color-mix(in srgb,var(--debt) 35%,var(--border-strong))}.btn-danger:hover{background:var(--debt-soft)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-sm{min-height:var(--control-sm);padding:0 var(--space-3);gap:var(--space-1-5)}.btn-icon{padding:0;min-height:var(--control-sm);min-width:var(--control-sm)}.spin{animation:spin .9s linear infinite;transform-origin:center}@keyframes spin{to{transform:rotate(360deg)}}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:22px;padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap}.chip svg{flex-shrink:0}.chip-warn svg{color:var(--amber)}.chip-ok svg{color:var(--credit)}.chip-info svg{color:var(--info)}.chip-muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:22px;padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-2);background:transparent;white-space:nowrap;line-height:var(--lh-base)}.badge-open,.badge-credit{--dot: var(--credit)}.badge-warn{--dot: var(--amber)}.badge-debt{--dot: var(--debt)}.badge-info{--dot: var(--info)}.badge-open:before,.badge-credit:before,.badge-warn:before,.badge-debt:before,.badge-info:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot);flex-shrink:0}.badge-closed{color:var(--muted)}.badge-muted{border-style:dashed;color:var(--muted)}.bal{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--fw-semibold);white-space:nowrap}.bal svg{flex-shrink:0}.bal .bal-label{font-size:var(--fs-xs);font-weight:var(--fw-medium)}.bal-debt{color:var(--debt)}.bal-credit{color:var(--credit)}.bal-zero{color:var(--muted);font-weight:var(--fw-medium)}.bal-lg{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight)}.bal-lg .bal-label{font-size:var(--fs-sm)}.alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-md)}.alert svg{flex-shrink:0;margin-top:var(--space-0-5)}.alert-warning{border-color:color-mix(in srgb,var(--amber) 35%,var(--border))}.alert-warning svg{color:var(--amber)}.alert-info svg{color:var(--info)}.alert-error{border-color:color-mix(in srgb,var(--debt) 40%,var(--border));color:var(--debt)}.alert-success{border-color:color-mix(in srgb,var(--credit) 35%,var(--border))}.alert-success svg{color:var(--credit)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field>label,.field-label{font-weight:var(--fw-medium);font-size:var(--fs-md);color:var(--text)}.field .hint{font-size:var(--fs-sm);color:var(--muted)}.field .error{font-size:var(--fs-sm);color:var(--debt);font-weight:var(--fw-medium)}.input,.select,.textarea{width:100%;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text);border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-3);min-height:var(--control-md);font-size:var(--fs-md);box-shadow:var(--shadow-sm)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 30%,transparent)}.select option{background:var(--surface);color:var(--text)}.textarea{min-height:76px;resize:vertical;padding-block:var(--space-2)}.input-money{position:relative}.input-money .input{padding-right:var(--space-8);text-align:right;font-variant-numeric:tabular-nums}.input-money:after{content:"€";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.form-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}.check{display:flex;gap:var(--space-2);align-items:flex-start;cursor:pointer}.check input{width:16px;height:16px;margin-top:var(--space-0-5);accent-color:var(--primary);flex-shrink:0}.segmented{position:relative;display:inline-flex;align-items:stretch;max-width:100%;overflow-x:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--input-bg);box-shadow:var(--shadow-sm)}.segmented button{border:0;border-left:1px solid var(--border-strong);background:transparent;min-height:calc(var(--control-md) - 2px);padding:0 var(--space-3);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap;cursor:pointer}.segmented button:first-child{border-left:0}.segmented button:hover{background:var(--surface-2);color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.search{position:relative}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search .input{padding-left:var(--space-10)}.choice-cards{display:grid;gap:var(--space-2)}.choice{display:flex;gap:var(--space-3);align-items:flex-start;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;background:transparent}.choice:hover{background:var(--surface-2)}.choice.selected{border-color:var(--primary-2);background:var(--primary-soft)}.choice input{margin-top:var(--space-1);accent-color:var(--primary)}.choice .choice-title{font-weight:var(--fw-medium)}.choice .choice-text{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-0-5)}.effects{display:flex;gap:var(--space-1-5);flex-wrap:wrap;margin-top:var(--space-2)}.table-wrap{position:relative;overflow-x:auto}table.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table th{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text);background:var(--surface-2);white-space:nowrap}.table th.num,.table td.num{text-align:right}.table tbody tr:hover td{background:var(--zebra)}.table tbody tr:last-child td{border-bottom:0}.table tr.cancelled td{color:var(--muted)}.table tr.cancelled td .amount{text-decoration:line-through}.table tfoot td{font-weight:var(--fw-semibold);background:var(--surface-2);border-top:1px solid var(--border-strong);border-bottom:0}.table .actions{text-align:right;white-space:nowrap}td .btn{vertical-align:middle}td>.btn+.btn{margin-left:var(--space-2)}.table td:not(.actions) .btn-ghost:not(.btn-icon){padding-inline:0}.table td:not(.actions) .btn-ghost:not(.btn-icon):hover{background:none;text-decoration:underline;text-underline-offset:3px}.table-compact th,.table-compact td{padding:var(--space-2) var(--space-3)}.card>.table-wrap:first-child th:first-child{border-top-left-radius:var(--radius-lg)}.card>.table-wrap:first-child th:last-child{border-top-right-radius:var(--radius-lg)}.card>.table-wrap:last-child table tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.sheet-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}table.sheet{border-collapse:separate;border-spacing:0;min-width:100%}.sheet th,.sheet td{border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding:var(--space-2) var(--space-3);background:var(--surface)}.sheet thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);vertical-align:bottom;border-bottom:1px solid var(--border-strong)}.sheet .sticky-col{position:sticky;left:0;z-index:2;min-width:200px;max-width:250px;border-right:1px solid var(--border-strong);text-align:left}.sheet thead th.sticky-col{z-index:4}.sheet tfoot td{position:sticky;bottom:0;z-index:2;background:var(--surface-2);font-weight:var(--fw-semibold);border-top:1px solid var(--border-strong)}.sheet tfoot td.sticky-col{z-index:3}.sheet tbody tr:nth-child(2n) td,.sheet tbody tr:nth-child(2n) th{background:var(--zebra)}.sheet tbody tr:hover td,.sheet tbody tr:hover th{background:var(--surface-2)}.th-sort{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer;white-space:nowrap}.th-sort:hover{color:var(--text)}.th-sort:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-xs)}.th-sort-icon{flex-shrink:0;opacity:.35;transition:opacity .15s}.th-sort:hover .th-sort-icon{opacity:.8}.th-sort.active{color:var(--text)}.th-sort.active .th-sort-icon{opacity:1}.th-sort.stack{white-space:normal}th.num .th-sort{flex-direction:row-reverse}.th-sort-label{display:block}.sheet .art-head{text-align:center;min-width:124px}.sheet .art-head .price{display:block;color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.sheet .art-head .cat{display:block;font-weight:var(--fw-regular);color:var(--muted);font-size:var(--fs-xs)}.sheet .emp-name{font-weight:var(--fw-medium);display:flex;align-items:center;gap:var(--space-1-5)}.sheet .emp-name a{color:var(--text)}.sheet td.sum{font-weight:var(--fw-semibold)}.sheet td.cell{padding:var(--space-1) var(--space-2)}.qty{display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.qty button{width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:transparent;color:var(--text-2);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.qty button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.qty button:disabled{opacity:.3;cursor:default}.qty input{width:48px;height:var(--control-sm);text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-weight:var(--fw-semibold);background:var(--input-bg);color:var(--text);font-variant-numeric:tabular-nums;padding:0 var(--space-0-5)}.qty input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 30%,transparent)}.qty.zero input{color:var(--muted);font-weight:var(--fw-regular)}.qty .mixed{color:var(--amber);font-size:var(--fs-xs);margin-left:var(--space-0-5)}.qty-ro{text-align:center;font-weight:var(--fw-semibold)}.qty-ro.zero{color:var(--muted);font-weight:var(--fw-regular)}dialog.modal{border:1px solid var(--border);padding:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);background:var(--surface);color:var(--text)}dialog.modal.wide{width:min(840px,calc(100vw - 24px))}dialog.modal::backdrop{background:var(--scrim)}.modal-inner{display:flex;flex-direction:column;max-height:calc(100vh - 34px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);gap:var(--space-3)}.modal-body{padding:var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);flex-wrap:wrap}.popover-anchor{position:relative}.popover{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:280px;max-width:min(420px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);animation:pop-in .12s ease-out}.popover-up{top:auto;bottom:calc(100% + 6px);left:0;right:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-2px)}}.popover-title{padding:var(--space-1-5) var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-sm);padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-xs);border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left;text-decoration:none;font-size:var(--fs-md)}.menu-item:hover,.menu-item.active{background:var(--surface-3);text-decoration:none}.menu-item svg{color:var(--muted);flex-shrink:0}.menu-item .mi-text{flex:1;min-width:0}.menu-item .mi-sub{display:block;font-size:var(--fs-xs);color:var(--muted)}.menu-item.warn svg{color:var(--amber)}.menu-item.ok svg{color:var(--credit)}.toasts{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(420px,calc(100vw - 40px))}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--fs-md);animation:toast-in .18s ease-out}.toast.error{color:var(--debt);border-color:color-mix(in srgb,var(--debt) 40%,var(--border))}.toast button{background:transparent;border:0;color:inherit;cursor:pointer;opacity:.7;padding:0;margin-left:auto}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}dialog.palette{border:1px solid var(--border);padding:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(600px,calc(100vw - 24px));margin-top:12vh;background:var(--surface);color:var(--text)}dialog.palette::backdrop{background:var(--scrim)}.palette-input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--muted)}.palette-input input{flex:1;border:0;background:transparent;font-size:var(--fs-md);color:var(--text);outline:none}.palette-list{max-height:min(460px,60vh);overflow-y:auto;padding:var(--space-1)}.palette-group{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted)}.palette-foot{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted)}.dash-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.dash-status-text{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.dash-status-text svg{color:var(--amber);flex-shrink:0}.dash-status-text.ok svg{color:var(--credit)}.dash-status-text strong{font-weight:var(--fw-semibold)}.dash-status-text a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}.panel{padding:var(--space-6);display:flex;flex-direction:column;min-height:100%}.panel-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1-5) var(--space-3);margin-bottom:var(--space-4)}.panel-head h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.panel-head .sub{font-size:var(--fs-md);color:var(--muted);font-weight:var(--fw-regular)}.kpi-card .panel-head{margin-bottom:var(--space-2)}.kpi-card .panel-head h2{font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--muted)}.bignum{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight)}.bignum .unit{font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--muted);margin-left:var(--space-1)}.panel .lead{color:var(--text);font-weight:var(--fw-medium);margin-top:var(--space-3)}.panel .foot{margin-top:auto;padding-top:var(--space-4);color:var(--muted)}.segbar{display:flex;gap:var(--space-1);margin-top:var(--space-4)}.segbar span{flex:1;max-width:32px;height:6px;border-radius:var(--radius-full);background:var(--track)}.segbar span.on{background:var(--primary-2)}.segbar span.today{background:color-mix(in srgb,var(--primary-2) 50%,var(--track))}.inner{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-4);display:block;color:var(--text);text-decoration:none}a.inner:hover{background:var(--surface-3);text-decoration:none}.inner .t{font-weight:var(--fw-medium)}.inner .s{color:var(--muted)}.inner .hl{color:var(--amber)}.inner .ok{color:var(--credit)}.warnline{display:flex;gap:var(--space-2);color:var(--amber);margin-top:var(--space-4);line-height:var(--lh-base)}.warnline svg{flex-shrink:0;margin-top:var(--space-0-5)}.minibars{display:flex;align-items:flex-end;gap:var(--space-2);height:72px;margin-top:var(--space-6);border-bottom:1px solid var(--border)}.minibars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:var(--space-1)}.minibars .b span{display:block;width:100%;max-width:40px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:color-mix(in srgb,var(--primary-2) 35%,var(--track));min-height:3px}.minibars .b.current span{background:var(--primary-2)}.minibar-labels{display:flex;gap:var(--space-2);margin-top:var(--space-1-5)}.minibar-labels span{flex:1;text-align:center;font-size:var(--fs-xs);color:var(--muted)}.kv{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0}.kv .k{font-weight:var(--fw-medium);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv .v{color:var(--muted);white-space:nowrap}.kv .v.debt{color:var(--debt)}.checklist{display:flex;flex-direction:column;gap:var(--space-0-5)}.check-item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text);text-decoration:none}a.check-item:hover{background:var(--surface-3);text-decoration:none}.check-item svg{flex-shrink:0}.check-item.done{color:var(--muted)}.check-item.done svg{color:var(--credit)}.check-item:not(.done) svg{color:var(--muted)}.activity{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.activity:last-child{border-bottom:0}.activity .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);margin-top:var(--space-2);flex-shrink:0}.activity .meta{color:var(--muted);font-size:var(--fs-xs)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:0}.bar-row{display:grid;grid-template-columns:120px 1fr 44px;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.bar{height:8px;background:var(--track);border-radius:var(--radius-full);overflow:hidden}.bar>span{display:block;height:100%;background:var(--primary-2);border-radius:var(--radius-full)}.empty{text-align:center;padding:var(--space-10) var(--space-5);color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.empty h3{color:var(--text);font-weight:var(--fw-medium)}.empty .empty-icon{width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-md);background:var(--surface-3);color:var(--muted);display:grid;place-items:center}.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-12);color:var(--muted)}.steps{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.step{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-3) 0 var(--space-1-5);border-radius:var(--radius-md);border:1px solid var(--border);color:var(--muted);font-weight:var(--fw-medium)}.step .n{width:20px;height:20px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.step.active{border-color:var(--border-strong);color:var(--text)}.step.active .n{background:var(--primary);color:var(--on-primary)}.step.done{color:var(--text-2)}.step.done .n{background:var(--credit-soft);color:var(--credit)}.tabs{display:flex;width:fit-content;max-width:100%;gap:var(--space-0-5);padding:var(--space-0-5);margin-bottom:var(--space-5);position:relative;background:var(--surface-3);border-radius:var(--radius-md);overflow-x:auto;overflow-y:hidden}.tabs button{border:1px solid transparent;background:transparent;min-height:calc(var(--control-md) - 4px);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap;cursor:pointer}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{background:var(--bg);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.print-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4);position:relative;max-height:calc(100vh - 220px);min-height:480px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:#525659}.print-preview img{width:100%;max-width:1100px;height:auto;background:#fff;box-shadow:0 2px 10px #00000059}.print-only{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6) var(--space-4);background:var(--sidebar-bg)}.login-card{width:min(400px,100%);padding:var(--space-8)}.login-card .brand-logo{width:var(--control-lg);height:var(--control-lg);margin-bottom:var(--space-4)}.login-card h1{font-size:var(--fs-2xl)}.chart svg{width:100%;height:auto;display:block}.legend{display:flex;gap:var(--space-3);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap}.code{font-family:var(--mono);font-size:var(--fs-sm);background:var(--surface-3);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-xs);color:var(--text)}.divider{height:1px;background:var(--border);margin:var(--space-1) 0}.theme-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.theme-card{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);cursor:pointer;text-align:left;padding:0;color:var(--text);transition:border-color .12s}.theme-card:hover{border-color:var(--border-strong)}.theme-card.selected{border-color:var(--primary-2);box-shadow:0 0 0 1px var(--primary-2)}.theme-card .tc-info{padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-2);align-items:flex-start}.theme-card .tc-info strong{display:block;font-weight:var(--fw-medium)}.theme-card .tc-info span{font-size:var(--fs-sm);color:var(--muted)}.theme-card .tc-check{margin-left:auto;color:var(--primary-2)}.theme-preview{height:118px;display:flex;background:var(--sidebar-bg);border-bottom:1px solid var(--border);padding:var(--space-1-5) var(--space-1-5) var(--space-1-5) 0}.theme-preview .tp-side{width:26%;padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1-5)}.theme-preview .tp-side i{display:block;height:6px;border-radius:var(--radius-xs);background:var(--sidebar-muted);opacity:.45}.theme-preview .tp-side i.a{background:var(--sidebar-strong);opacity:.9}.theme-preview .tp-main{flex:1;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.theme-preview .tp-title{height:8px;width:50%;border-radius:var(--radius-xs);background:var(--text);opacity:.85}.theme-preview .tp-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1-5);flex:1}.theme-preview .tp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-1-5);display:flex;flex-direction:column;gap:var(--space-1)}.theme-preview .tp-card b{display:block;height:10px;width:55%;border-radius:var(--radius-xs);background:var(--text);opacity:.8}.theme-preview .tp-card u{display:flex;gap:var(--space-1);text-decoration:none}.theme-preview .tp-card u i{flex:1;height:4px;border-radius:var(--radius-xs);background:var(--credit)}.theme-preview .tp-card u i+i+i{background:var(--track)}.theme-preview .tp-card em{display:block;height:6px;width:40%;border-radius:var(--radius-xs);background:var(--amber)}.theme-preview .tp-btn{align-self:flex-end;height:10px;width:30%;border-radius:var(--radius-xs);background:var(--primary)}.theme-auto{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:1380px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1280px){.searchbox{width:var(--control-md);padding:0;justify-content:center}.searchbox .grow,.searchbox kbd{display:none}}@media(max-width:1180px){.grid-main{grid-template-columns:minmax(0,1fr)}}@media(max-width:1100px){.add-label{display:none}}@media(max-width:900px){body{background:var(--bg)}.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg);border-right:1px solid var(--sidebar-border)}.app.nav-open .sidebar{transform:translate(0)}.nav-scrim{position:fixed;inset:0;background:var(--scrim);z-index:35}.main{margin:0;min-height:100vh;border:0;border-radius:0;box-shadow:none}.main>:first-child{border-top-left-radius:0;border-top-right-radius:0}.topbar{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.topbar .menu-btn{display:grid}.back-btn,.topbar-sep{display:none}.searchbox{width:var(--control-md);padding:0;justify-content:center}.searchbox .grow,.searchbox kbd{display:none}.content{padding:var(--space-4) var(--space-4) var(--space-12)}.demo-banner{padding:var(--space-1-5) var(--space-4)}.grid-3,.grid-2,.form-grid{grid-template-columns:minmax(0,1fr)}.sheet .sticky-col{min-width:130px;max-width:150px}.month-pill select{max-width:130px}.input,.select,.textarea{font-size:var(--fs-lg)}h1{font-size:var(--fs-xl)}}@media(max-width:600px){.grid-4{grid-template-columns:minmax(0,1fr)}.stat .value,.bignum,.finance-value{font-size:var(--fs-2xl)}.page-head .actions{width:100%}.hide-sm{display:none!important}.bar-row{grid-template-columns:90px 1fr 36px}.month-pill .month-label-text,.page-title{display:none}.topbar{flex-wrap:wrap;align-items:flex-start;row-gap:var(--space-2)}.top-actions{flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end;row-gap:var(--space-2)}.month-pill{order:1;flex:1 1 100%;min-width:0}.month-pill select{flex:1;min-width:0;max-width:none}}@media print{body{background:#fff}.sidebar,.topbar,.demo-banner,.no-print{display:none!important}.main{margin:0;border:0;box-shadow:none}.content{padding:0}body:has(.print-only)>:not(.print-only){display:none!important}body:has(.print-only){background:#fff!important;margin:0}.print-only{display:block!important}.print-only img{display:block;width:296mm;height:208mm;object-fit:contain;break-after:page;page-break-after:always}.print-only img:last-child{break-after:auto;page-break-after:auto}.print-only{page:pdf-landscape}}@page pdf-landscape{size:A4 landscape;margin:0}.finance-head{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;align-items:flex-start}.finance-label{color:var(--muted)}.finance-value{font-weight:var(--fw-semibold);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--text);margin-top:var(--space-1)}.finance-delta{display:flex;align-items:center;gap:var(--space-1-5);margin-top:var(--space-2);font-weight:var(--fw-medium)}.finance-delta.up{color:var(--credit)}.finance-delta.down{color:var(--debt)}.finance-delta .muted{font-weight:var(--fw-regular)}.finance-sub{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--space-1)}.finance-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.finance-best{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-2);border:1px solid var(--border-strong)}.finance-best svg{color:var(--chart-cash)}.finance-legend{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:var(--fs-sm)}.finance-legend span{display:inline-flex;align-items:center;gap:var(--space-1-5)}.finance-legend i,.fc-tip i{display:inline-block;width:10px;height:10px;border-radius:var(--radius-xs)}.finance-legend b{color:var(--text);font-weight:var(--fw-medium)}.finance-chart{position:relative;min-width:0;overflow:hidden;margin-top:var(--space-4);-webkit-user-select:none;user-select:none;touch-action:pan-y}.finance-chart svg{display:block;overflow:visible}.fc-grid{stroke:var(--border);stroke-dasharray:2 4}.fc-baseline{stroke:var(--border)}.fc-axis{fill:var(--muted);font-size:var(--fs-xs)}.fc-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fc-dot{fill:var(--surface);stroke-width:1.5}.fc-best{fill:none;stroke:var(--chart-cash);stroke-width:1.5;stroke-dasharray:2 2.5}.fc-best-label{fill:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.fc-pill{fill:var(--chart-on);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.fc-cross{stroke:var(--muted);stroke-dasharray:3 3}.fc-tip{position:absolute;pointer-events:none;min-width:170px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);font-size:var(--fs-sm);color:var(--muted)}.fc-tip div{display:flex;align-items:center;gap:var(--space-1-5)}.fc-tip b{margin-left:auto;color:var(--text);font-weight:var(--fw-medium);padding-left:var(--space-3)}.fc-tip-date{color:var(--text);font-weight:var(--fw-medium);margin-bottom:var(--space-1)}.fc-tip-badge{margin-left:var(--space-1-5);padding:0 var(--space-1-5);border-radius:var(--radius-xs);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--muted);border:1px dashed var(--border-strong)}.fc-future{fill:color-mix(in srgb,var(--text) 3%,transparent)}.fc-today{stroke:var(--muted);stroke-dasharray:2 3}.fc-today-label{font-weight:var(--fw-medium)}.fc-forecast-label{font-style:italic}.fc-line-forecast{stroke-width:2;stroke-dasharray:6 5;opacity:.75}.fc-dot-forecast{stroke-dasharray:2 1.5}.fc-pill-projected{fill:var(--text)}.finance-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.finance-legend i.legend-dashed{width:16px;height:0;border-radius:0;border-top:2px dashed var(--muted)}.finance-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--fs-sm)}.switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text)}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch span{position:relative;width:32px;height:18px;border-radius:var(--radius-full);background:var(--border-strong);transition:background .2s}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--knob);box-shadow:var(--shadow-sm);transition:transform .2s}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translate(14px);background:var(--on-primary)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}@media(max-width:640px){.finance-side{align-items:flex-start}.finance-controls,.finance-legend{justify-content:flex-start}}.widget-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);align-items:stretch}.widget{min-width:0;display:flex;flex-direction:column}.widget-body{flex:1;display:flex;flex-direction:column}.widget-body>*{flex:1}.w-full{grid-column:span 12}.w-quarter{grid-column:span 3}.w-wide{grid-column:span 8}.w-narrow{grid-column:span 4}@media(max-width:1200px){.w-quarter{grid-column:span 6}.w-wide,.w-narrow{grid-column:span 12}}@media(max-width:700px){.w-quarter{grid-column:span 12}}.widget-grid.editing .widget{border-radius:var(--radius-lg);outline:1px dashed var(--border-strong);outline-offset:4px;animation:widget-wiggle 1.6s ease-in-out infinite}.widget-grid.editing .widget:nth-child(2n){animation-delay:-.8s}.widget-grid.editing .widget-body{pointer-events:none;-webkit-user-select:none;user-select:none}.widget-grid.editing .widget.dragging{animation:none;opacity:.75;outline-color:var(--muted);outline-style:solid;transform:scale(1.01);z-index:2}@keyframes widget-wiggle{0%,to{transform:rotate(-.2deg)}50%{transform:rotate(.2deg)}}@media(prefers-reduced-motion:reduce){.widget-grid.editing .widget{animation:none}}.widget-bar{display:flex;align-items:center;gap:var(--space-1-5);margin-bottom:var(--space-2)}.widget-grip{flex:1;display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:grab;touch-action:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:var(--fw-medium)}.widget-grip:active{cursor:grabbing}.widget-hide{display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted)}.widget-hide:hover{color:var(--debt)}.widget-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.chip-add{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--fw-medium);border:1px dashed var(--border-strong);background:transparent;color:var(--text)}.chip-add:hover{background:var(--surface-3)}.nav-item-edit{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-md);width:100%;text-align:left;border:1px dashed var(--sidebar-muted);background:var(--sidebar-hover);color:var(--sidebar-text);font:inherit;font-size:var(--fs-md);cursor:grab;touch-action:none}.nav-item-edit:active{cursor:grabbing}.nav-item-edit.dragging{border-style:solid;border-color:var(--sidebar-strong);background:var(--sidebar-active-bg)}.nav-customize{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.nav-version{margin-left:auto;padding-right:var(--space-2);font-size:var(--fs-xs);color:var(--sidebar-muted);white-space:nowrap}.nav-customize button{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--radius-md);cursor:pointer;border:0;background:none;color:var(--sidebar-muted);font:inherit;font-size:var(--fs-xs)}.nav-customize button:hover{color:var(--sidebar-strong);background:var(--sidebar-hover)}.nav-customize button.done{color:var(--sidebar-active-text);background:var(--sidebar-active-bg);font-weight:var(--fw-medium)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.stack-lg{gap:var(--space-6)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-auto{margin-top:auto}.mb-3{margin-bottom:var(--space-3)}.ml-2{margin-left:var(--space-2)}.items-end{align-items:flex-end}.field-wide{flex:1 1 220px}.strong{font-weight:var(--fw-semibold)}.text-center{text-align:center}.chart-label{font-size:var(--fs-xs)}.plain-fieldset{border:0;padding:0;margin:0;min-width:0}legend.field-label{margin-bottom:var(--space-2)}.swatches{display:flex;gap:var(--space-0-5)}.swatches span{width:12px;height:18px;border-radius:var(--radius-xs);border:1px solid rgba(128,128,128,.35)}a.kv,a.warnline,a.brand{text-decoration:none}
