@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");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{color-scheme:light;--font-sans: "DM Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Manrope Variable", var(--font-sans);--bg: #f4f5f9;--surface: #ffffff;--surface-2: #f8f9fc;--surface-3: #eff1f6;--border: #e4e6ee;--border-strong: #d3d6e2;--text: #151726;--text-2: #4a4e63;--text-3: #767a90;--accent: #5b4cf0;--accent-hover: #4b3ce0;--accent-soft: #efedff;--accent-text: #4a3bd4;--accent-ring: rgba(91, 76, 240, .3);--success: #13845a;--success-soft: #e4f6ed;--danger: #c93546;--danger-soft: #fdeced;--warning: #9a6208;--warning-soft: #fcf1d8;--info: #2764c6;--info-soft: #e6effc;--neutral: #5f6377;--neutral-soft: #eef0f4;--chart-income: #1baf7a;--chart-expense: #eb6834;--chart-balance: #6d5dfc;--chart-grid: #eceef3;--chart-axis: #c9ccd8;--chart-band: rgba(91, 76, 240, .06);--shadow-sm: 0 1px 2px rgba(20, 22, 40, .05);--shadow-md: 0 4px 18px rgba(20, 22, 40, .07);--shadow-lg: 0 24px 64px rgba(20, 22, 40, .2);--backdrop: rgba(17, 18, 32, .42);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--sidebar-w: 256px;--drawer-w: 440px;--ease: cubic-bezier(.2, .8, .2, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0e14;--surface: #15161f;--surface-2: #1a1c26;--surface-3: #222433;--border: #272938;--border-strong: #363949;--text: #eceef6;--text-2: #b6b9cc;--text-3: #8a8ea3;--accent: #6655f5;--accent-hover: #7666ff;--accent-soft: rgba(118, 103, 255, .16);--accent-text: #aca3ff;--accent-ring: rgba(139, 127, 255, .42);--success: #3fca93;--success-soft: rgba(63, 202, 147, .13);--danger: #ff7a89;--danger-soft: rgba(255, 122, 137, .13);--warning: #f2b755;--warning-soft: rgba(242, 183, 85, .13);--info: #75aaff;--info-soft: rgba(117, 170, 255, .13);--neutral: #a6aabc;--neutral-soft: rgba(166, 170, 188, .12);--chart-income: #199e70;--chart-expense: #d95926;--chart-balance: #8b7fff;--chart-grid: #232533;--chart-axis: #3a3d4f;--chart-band: rgba(139, 127, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 18px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--backdrop: rgba(4, 5, 10, .62)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0e14;--surface: #15161f;--surface-2: #1a1c26;--surface-3: #222433;--border: #272938;--border-strong: #363949;--text: #eceef6;--text-2: #b6b9cc;--text-3: #8a8ea3;--accent: #6655f5;--accent-hover: #7666ff;--accent-soft: rgba(118, 103, 255, .16);--accent-text: #aca3ff;--accent-ring: rgba(139, 127, 255, .42);--success: #3fca93;--success-soft: rgba(63, 202, 147, .13);--danger: #ff7a89;--danger-soft: rgba(255, 122, 137, .13);--warning: #f2b755;--warning-soft: rgba(242, 183, 85, .13);--info: #75aaff;--info-soft: rgba(117, 170, 255, .13);--neutral: #a6aabc;--neutral-soft: rgba(166, 170, 188, .12);--chart-income: #199e70;--chart-expense: #d95926;--chart-balance: #8b7fff;--chart-grid: #232533;--chart-axis: #3a3d4f;--chart-band: rgba(139, 127, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 18px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--backdrop: rgba(4, 5, 10, .62)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-sans);font-size:14.5px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.02em}p{margin:0}kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;background:var(--surface);color:var(--text-3);font:600 11px var(--font-sans)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.icon{flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--text-3)}.muted-text{color:var(--text-3);font-size:13px;list-style:none}.nowrap{white-space:nowrap}.positive{color:var(--success)}.negative{color:var(--danger)}.block{display:block;margin-top:3px}.grow{flex:1;min-width:0}.boot{min-height:100vh;display:grid;place-items:center}.boot-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#8b7dff,#4b3fe0);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.45;transform:scale(.92)}}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none!important}.logo-mark{flex:0 0 auto;border-radius:10px;box-shadow:0 6px 16px #5b4cf047}.wordmark{font:800 21px var(--font-display);letter-spacing:-.04em;color:var(--text)}.wordmark b{font-weight:800;background:linear-gradient(135deg,#8b7dff,#5b4cf0);-webkit-background-clip:text;background-clip:text;color:transparent}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar-w);display:flex;flex-direction:column;gap:6px;padding:22px 14px 16px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.sidebar>.brand{padding:2px 8px 18px}.search-trigger{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:14px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-3);font-size:13.5px;transition:border-color .15s,background .15s}.search-trigger span{flex:1;text-align:left}.search-trigger:hover{border-color:var(--border-strong);background:var(--surface)}.nav{display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--text-2);font-weight:500;text-decoration:none!important;transition:background .15s,color .15s}.nav-item .icon{color:var(--text-3)}.nav-item span{flex:1}.nav-item b{min-width:24px;padding:2px 7px;border-radius:20px;background:var(--surface-3);color:var(--text-3);font-size:11.5px;font-weight:600;text-align:center}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.active .icon{color:var(--accent-text)}.nav-item.active b{background:var(--accent);color:#fff}.nav-section{margin-top:18px;display:grid;gap:1px}.nav-label{padding:0 10px 6px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-quick{display:flex;align-items:center;gap:11px;padding:7px 10px;border-radius:8px;color:var(--text-2);font-size:13.5px;text-align:left}.nav-quick .icon{color:var(--text-3)}.nav-quick:after{content:"+";margin-left:auto;color:var(--text-3);font-size:16px;line-height:1;opacity:0;transition:opacity .15s}.nav-quick:hover{background:var(--surface-2);color:var(--text)}.nav-quick:hover:after{opacity:1}.sidebar-spacer{flex:1;min-height:18px}.user-card{display:flex;align-items:center;gap:10px;margin-top:8px;padding:12px 6px 0 8px;border-top:1px solid var(--border)}.user-meta{flex:1;min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:13px}.user-meta small{color:var(--text-3);font-size:11.5px}.main{margin-left:var(--sidebar-w);min-width:0;transition:margin-right .25s var(--ease)}.content{width:100%;max-width:1440px;margin:0 auto;padding:34px 40px 72px}.mobile-bar,.tabbar{display:none}.banner{display:flex;align-items:center;gap:10px;margin:18px 40px 0;padding:11px 14px;border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);font-size:13.5px}.banner a{color:inherit;font-weight:700;text-decoration:underline}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{margin-bottom:6px;color:var(--accent-text);font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.page-head h1{font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.035em}.subtitle{margin-top:6px;color:var(--text-3);font-size:14.5px}.page-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:13.5px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #1416281a,0 4px 12px #5b4cf03d}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.btn-ghost{color:var(--accent-text)}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.06)}.btn-sm{height:32px;padding:0 11px;border-radius:8px;font-size:12.5px}.btn-block{width:100%}.btn:disabled{opacity:.65}.btn.is-busy{color:transparent!important}.btn.is-busy:after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.btn-secondary.is-busy:after,.btn-ghost.is-busy:after{border-color:var(--border-strong);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;color:var(--text-3);transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn.sm{width:30px;height:30px;border-radius:8px}.icon-btn.subtle{opacity:0}.link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpis-three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-label{color:var(--text-2);font-size:13px;font-weight:500}.kpi-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px}.tone-accent{background:var(--accent-soft);color:var(--accent-text)}.tone-success{background:var(--success-soft);color:var(--success)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-info{background:var(--info-soft);color:var(--info)}.tone-neutral{background:var(--neutral-soft);color:var(--neutral)}.kpi-value{font:800 27px var(--font-display);letter-spacing:-.035em;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-value small{margin-left:2px;color:var(--text-3);font:600 14px var(--font-sans);letter-spacing:0}.kpi-foot{color:var(--text-3);font-size:12.5px}.delta{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:20px;font-weight:600}.delta.good{background:var(--success-soft);color:var(--success)}.delta.bad{background:var(--danger-soft);color:var(--danger)}.delta.neutral{background:var(--neutral-soft);color:var(--neutral)}.card{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px}.card-head h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700}.card-head h2 .icon{color:var(--accent-text)}.card-head p{margin-top:4px;color:var(--text-3);font-size:13px}.card-tools{display:flex;align-items:center;gap:8px}.card-foot{padding:13px 20px;border-top:1px solid var(--border);color:var(--text-3);font-size:13px}.card-foot.split{display:flex;justify-content:space-between;gap:12px}.card-foot strong{margin-left:4px}.card-empty{display:grid;justify-items:center;gap:10px;padding:26px 24px 30px;color:var(--text-3);font-size:13px;text-align:center}.card-empty>.icon{width:42px;height:42px;padding:11px;border-radius:12px;background:var(--surface-3)}.card-empty p{max-width:320px}.count{display:inline-grid;place-items:center;min-width:22px;padding:1px 7px;border-radius:20px;background:var(--surface-3);color:var(--text-3);font:600 11.5px var(--font-sans);letter-spacing:0}.grid{display:grid;gap:16px;margin-bottom:16px}.grid-main{grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr)}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-finance{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;margin-top:16px}.grid-settings{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.span-2{grid-column:span 2}.onboarding{margin-bottom:20px;padding:18px 20px;background:linear-gradient(120deg,var(--accent-soft),var(--surface) 60%)}.onboarding-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.onboarding h2{display:flex;align-items:center;gap:8px;font-size:16px}.onboarding h2 .icon{color:var(--accent-text)}.onboarding p{margin-top:4px;color:var(--text-2);font-size:13px}.progress{position:relative;flex:0 0 150px;height:8px;border-radius:10px;background:var(--surface-3)}.progress span{position:absolute;inset:0 auto 0 0;border-radius:10px;background:var(--accent)}.progress em{position:absolute;right:0;top:-20px;color:var(--text-3);font-size:12px;font-style:normal;font-weight:600}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none}.steps button{display:flex;align-items:center;gap:10px;width:100%;height:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;text-align:left;transition:border-color .15s,box-shadow .15s}.steps button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.step-check{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border:1.5px dashed var(--border-strong);border-radius:50%;color:transparent}.steps .done button{color:var(--text-3);text-decoration:line-through;cursor:default}.steps .done .step-check{border:0;background:var(--success);color:#fff}.legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-2);font-size:12.5px}.legend span{display:inline-flex;align-items:center;gap:6px}.key{display:inline-block;width:10px;height:10px;border-radius:3px}.key.income{background:var(--chart-income)}.key.expense{background:var(--chart-expense)}.key.balance.line{width:16px;height:2px;border-radius:2px;background:var(--chart-balance)}.key.marker{width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--chart-balance);box-shadow:0 0 0 1px var(--chart-balance)}.chart{position:relative;min-height:250px;padding:0 16px 10px 8px}.chart-card{display:flex;flex-direction:column}.chart-card .chart{flex:1}.chart-card .chart svg{position:absolute;top:0;left:8px}.chart-card .table-scroll{flex:1}.chart svg{display:block;overflow:visible}.chart .gridline{stroke:var(--chart-grid);stroke-width:1;shape-rendering:crispEdges}.chart .gridline.baseline{stroke:var(--chart-axis)}.chart .axis-label{fill:var(--text-3);font-size:11px;font-variant-numeric:tabular-nums}.chart .band{fill:transparent;transition:fill .12s}.chart .band.active{fill:var(--chart-band)}.chart .bar-income{fill:var(--chart-income)}.chart .bar-expense{fill:var(--chart-expense)}.chart .hit{fill:transparent;cursor:crosshair;outline:none}.chart .hit:focus-visible{stroke:var(--accent);stroke-width:2}.chart .line{fill:none;stroke:var(--chart-balance);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--chart-balance);opacity:.1}.chart .marker{fill:var(--chart-balance);stroke:var(--surface);stroke-width:2}.chart .crosshair{stroke:var(--text-3);stroke-width:1;opacity:0}.chart .focus-dot{fill:var(--chart-balance);stroke:var(--surface);stroke-width:2;opacity:0}.chart svg.hovering .crosshair,.chart svg.hovering .focus-dot{opacity:1}.chart-empty{display:grid;place-items:center;align-content:center;gap:10px;min-height:250px;padding:20px;color:var(--text-3);font-size:13px;text-align:center}.chart-tooltip{position:fixed;top:0;left:0;z-index:80;min-width:170px;max-width:300px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md);font-size:12.5px;pointer-events:none;opacity:0;transition:opacity .1s}.chart-tooltip.visible{opacity:1}.tt-title{margin-bottom:6px;color:var(--text-2);font-weight:600}.tt-row{display:flex;align-items:center;gap:8px;padding:2px 0}.tt-row strong{font-variant-numeric:tabular-nums}.tt-key{width:12px;height:3px;border-radius:2px}.tt-key.income{background:var(--chart-income)}.tt-key.expense{background:var(--chart-expense)}.tt-key.balance{background:var(--chart-balance)}.tt-key.none{background:transparent}.tt-label{color:var(--text-3)}.tt-extra{margin-top:4px;padding-top:4px;border-top:1px solid var(--border);color:var(--text-2)}.tt-extra+.tt-extra{margin-top:0;border-top:0}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .strong{color:var(--text);font-weight:600}.table .num small{color:var(--text-3);font-size:12px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table tr.selected{background:var(--accent-soft)!important}.compact-table td,.compact-table th{padding:9px 20px}.cell-main{display:flex;align-items:center;gap:11px;min-width:0}.cell-main strong,.cell-text strong,.cell-link strong{display:block;color:var(--text);font-weight:600}.cell-main small,.cell-text small,.cell-link small{display:block;margin-top:2px;color:var(--text-3);font-size:12px}.cell-link{display:block;color:inherit}.cell-link:hover strong{color:var(--accent-text)}.clamp{display:-webkit-box!important;max-width:340px;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.table td.actions{width:1%;white-space:nowrap;text-align:right}.table td.actions .icon-btn{width:30px;height:30px}.table-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:11px 16px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:12.5px}.table-foot strong{color:var(--text);font-variant-numeric:tabular-nums}.table-foot strong.positive{color:var(--success)}.table-foot strong.negative{color:var(--danger)}.status-select{appearance:none;padding:5px 26px 5px 10px;border:1px solid transparent;border-radius:20px;font-size:12px;font-weight:600;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.status-select:hover{border-color:currentColor}.status-select option{background:var(--surface);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--neutral-soft);color:var(--neutral)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:hsl(var(--hue) 75% 94%);color:hsl(var(--hue) 45% 38%);font-size:12.5px;font-weight:700;letter-spacing:.02em}.avatar-sm{width:30px;height:30px;border-radius:9px;font-size:11px}.avatar-lg{width:56px;height:56px;border-radius:15px;font-size:18px}:root[data-theme=dark] .avatar{background:hsl(var(--hue) 35% 22%);color:hsl(var(--hue) 75% 80%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar{background:hsl(var(--hue) 35% 22%);color:hsl(var(--hue) 75% 80%)}}.empty{display:grid;justify-items:center;gap:8px;padding:54px 24px;text-align:center}.empty-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:6px;border-radius:15px;background:var(--accent-soft);color:var(--accent-text)}.empty strong{font:700 16px var(--font-display)}.empty p{max-width:360px;margin-bottom:8px;color:var(--text-3);font-size:13.5px}.skeleton-block{display:grid;gap:12px;padding:20px}.skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--surface-3),var(--surface-2),var(--surface-3));background-size:200% 100%;animation:shimmer 1.3s linear infinite}.skeleton:nth-child(3n+2){width:72%}.skeleton:nth-child(3n){width:46%}@keyframes shimmer{to{background-position:-200% 0}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}.toolbar.in-card{margin:0;padding:0 20px 14px}.search-field{display:flex;align-items:center;gap:8px;flex:1 1 260px;max-width:380px;height:38px;padding:0 8px 0 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-3);transition:border-color .15s,box-shadow .15s}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:13.5px}.search-field input::-webkit-search-cancel-button{cursor:pointer}.search-field:focus-within kbd{display:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{border-color:var(--accent);background:var(--accent);color:#fff}.chip-count{min-width:18px;padding:0 5px;border-radius:10px;background:var(--surface-3);color:var(--text-3);font-size:11px;font-weight:600;text-align:center}.chip.active .chip-count{background:#ffffff38;color:#fff}.select-inline{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--text-3);font-size:12.5px}.select-inline select,.field-inline input{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px}.event-list,.status-list,.rank-list,.activity-list,.plan-list,.movement-list,.fixed-list,.team-list{margin:0;padding:0;list-style:none}.event-list{padding:0 12px 8px}.event-row{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:10px}.event-row:hover{background:var(--surface-2)}.date-chip{display:grid;place-items:center;flex:0 0 44px;width:44px;height:46px;border-radius:10px;background:var(--surface-3);line-height:1.05}.date-chip b{font:800 16px var(--font-display)}.date-chip span,.date-chip small{color:var(--text-3);font-size:10.5px;font-weight:600;text-transform:uppercase}.event-main{flex:1;min-width:0}.event-main strong,.event-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-main strong{font-size:13.5px;font-weight:600}.event-main small{margin-top:1px;color:var(--text-3);font-size:12px}.amount{font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.amount.income{color:var(--success)}.amount.expense{color:var(--danger)}.status-list{display:grid;gap:14px;padding:2px 20px 20px}.status-line{display:flex;align-items:center;gap:10px;font-size:13px}.status-count{color:var(--text-3);font-weight:600}.status-line strong{margin-left:auto;font-variant-numeric:tabular-nums}.meter{height:6px;margin-top:7px;border-radius:6px;background:var(--accent-soft);overflow:hidden}.meter span{display:block;height:100%;border-radius:6px;background:var(--accent)}.rank-list,.activity-list{padding:0 12px 10px}.rank-list a,.activity-list a{display:flex;align-items:center;gap:11px;padding:9px 8px;border-radius:10px;color:inherit;text-decoration:none}.rank-list a:hover,.activity-list a:hover{background:var(--surface-2)}.rank{width:16px;color:var(--text-3);font-size:12px;font-weight:700;text-align:center}.rank-name{flex:1;min-width:0}.rank-name strong,.rank-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name strong{font-size:13.5px}.rank-name small{color:var(--text-3);font-size:12px}.rank-value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-value small{color:var(--text-3);font-weight:500}.activity-list a{align-items:flex-start}.activity-list a>span:last-child{min-width:0}.activity-list strong,.activity-list small{display:block}.activity-list strong{font-size:13px}.activity-text{display:-webkit-box;margin:2px 0;overflow:hidden;color:var(--text-2);font-size:13px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.activity-list small{color:var(--text-3);font-size:11.5px}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:var(--backdrop);animation:fade-in .2s ease}.drawer{position:fixed;inset:0 0 0 auto;z-index:31;width:min(var(--drawer-w),100vw);overflow-y:auto;overscroll-behavior:contain;border-left:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);outline:none;animation:slide-in .25s var(--ease)}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes fade-in{0%{opacity:0}}.drawer-head{padding:16px 20px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),var(--surface))}.drawer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.drawer-toolbar .eyebrow{margin:0}.drawer-tools{display:flex;gap:2px}.drawer-identity{display:flex;align-items:center;gap:14px}.drawer-identity h2{font-size:20px;font-weight:800;line-height:1.2;word-break:break-word}.drawer-identity p{margin:2px 0 7px;color:var(--text-3);font-size:13.5px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip-link{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:600;text-decoration:none!important;transition:border-color .15s,color .15s}.chip-link:hover{border-color:var(--accent);color:var(--accent-text)}.drawer-body{padding:18px 20px 40px}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.mini-stats div{padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.mini-stats small{display:block;color:var(--text-3);font-size:11.5px}.mini-stats strong{display:block;margin-top:2px;overflow:hidden;font:800 16px var(--font-display);text-overflow:ellipsis;white-space:nowrap}.drawer-section{padding:18px 0;border-bottom:1px solid var(--border)}.drawer-section:last-child{border-bottom:0}.drawer-section h3{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--text-3);font:700 11.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-head h3{margin:0}.details{display:grid;gap:10px;margin:0}.detail-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;font-size:13.5px}.detail-row dt{display:flex;align-items:center;gap:8px;color:var(--text-3)}.detail-row dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-list{display:grid;gap:8px}.plan-item{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 8px 10px 12px;border:1px solid var(--border);border-radius:11px}.plan-item-main{flex:1;min-width:0}.plan-item-main strong,.plan-item-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-item-main strong{font-size:13.5px}.plan-item-main small{margin-top:2px;color:var(--text-3);font-size:12px}.note-form{margin-bottom:14px}.note-form textarea{display:block;width:100%;min-height:78px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-size:13.5px;line-height:1.5;resize:vertical;transition:border-color .15s,box-shadow .15s}.note-form textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-ring)}.note-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:12px}.notes{display:grid;gap:10px}.note{padding:12px 12px 8px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px 11px 11px 4px;background:var(--surface-2)}.note p{color:var(--text);font-size:13.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.note footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px;color:var(--text-3);font-size:12px}.note:hover .icon-btn.subtle,.note:focus-within .icon-btn.subtle{opacity:1}.movement-list{display:grid}.movement-list li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--border);font-size:13px}.movement-list li:last-child{border-bottom:0}.forecast-card{overflow:hidden}.forecast-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:0 20px 16px}.field-inline{display:inline-flex;align-items:center;gap:8px;color:var(--text-3);font-size:12.5px}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;color:var(--text-2);font-size:13px;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;width:36px;height:21px;flex:0 0 auto;border-radius:20px;background:var(--border-strong);transition:background .2s}.switch-track:after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s var(--ease)}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(15px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2)}.summary-strip>div{padding:14px 20px;border-right:1px solid var(--border)}.summary-strip>div:last-child{border-right:0}.summary-strip small{display:block;color:var(--text-3);font-size:12px}.summary-strip strong{display:block;margin-top:3px;font:800 19px var(--font-display);letter-spacing:-.02em;white-space:nowrap}.summary-strip em{display:block;margin-top:2px;color:var(--info);font-size:11.5px;font-style:normal}.alert{display:flex;align-items:flex-start;gap:10px;margin:16px 20px 0;padding:11px 14px;border-radius:11px;font-size:13px}.alert-danger{background:var(--danger-soft);color:var(--danger)}.chart-legend-row{display:flex;justify-content:flex-end;padding:14px 20px 6px}.forecast-list{padding:8px 20px 18px;border-top:1px solid var(--border)}.forecast-list h3{display:flex;align-items:center;gap:8px;margin:10px 0 8px;font-size:14px}.forecast-day{display:grid;grid-template-columns:44px minmax(0,1fr) 130px;align-items:start;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.forecast-day:last-of-type{border-bottom:0}.forecast-day ul{display:grid;gap:6px;margin:0;padding:3px 0 0;list-style:none}.forecast-day li{display:flex;align-items:center;gap:9px;font-size:13.5px}.forecast-day li small{color:var(--text-3)}.dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.dot.income{background:var(--success)}.dot.expense{background:var(--danger)}.dot.tentative{background:transparent;box-shadow:inset 0 0 0 2px var(--info)}.forecast-balance{padding-top:2px;text-align:right}.forecast-balance small{display:block;color:var(--text-3);font-size:11px}.forecast-balance strong{font-variant-numeric:tabular-nums}.forecast-list .btn-block{margin-top:10px}.fixed-list{padding:0 12px 6px}.fixed-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 8px;border-radius:10px}.fixed-item:hover{background:var(--surface-2)}.fixed-item.inactive{opacity:.55}.fixed-main strong,.fixed-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-main strong{font-size:13.5px}.fixed-main small{margin-top:2px;color:var(--text-3);font-size:12px}.fixed-amount{text-align:right;font-variant-numeric:tabular-nums}.fixed-amount strong{display:block;font-size:13.5px;white-space:nowrap}.fixed-amount small{color:var(--text-3);font-size:11.5px;white-space:nowrap}.fixed-actions{display:flex;gap:1px}.settings-card .form,.settings-card .data-actions,.settings-card .theme-options{padding:0 20px 20px}.team-list{padding:0 12px 12px}.team-item{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px}.team-item:hover{background:var(--surface-2)}.team-main{flex:1;min-width:0}.team-main strong,.team-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-main strong{font-size:13.5px}.team-main small{color:var(--text-3);font-size:12px}.team-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.team-actions{display:flex}.data-actions{display:grid;gap:8px}.data-action{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:11px;color:var(--text-3);text-align:left;transition:border-color .15s,background .15s}.data-action>.icon:first-child{color:var(--accent-text)}.data-action span{flex:1}.data-action strong,.data-action small{display:block}.data-action strong{color:var(--text);font-size:13.5px}.data-action small{font-size:12px}.data-action:hover{border-color:var(--accent);background:var(--accent-soft)}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-option{display:grid;justify-items:center;gap:8px;padding:16px 10px;border:1px solid var(--border);border-radius:12px;color:var(--text-2);font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.theme-option:hover{border-color:var(--border-strong)}.theme-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-ring)}.subheading{padding:4px 20px 10px;color:var(--text-3);font:700 11.5px var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.shortcut-list{display:grid;gap:8px;margin:0;padding:0 20px 16px;list-style:none}.shortcut-list li{display:flex;align-items:center;gap:12px;color:var(--text-2);font-size:13px}.shortcut-list kbd{min-width:58px}.version{padding:12px 20px 16px;border-top:1px solid var(--border);color:var(--text-3);font-size:12px}.form{display:grid;gap:14px}.field{display:grid;gap:6px;min-width:0}.field>span:first-child{color:var(--text-2);font-size:12.5px;font-weight:600}.field em{color:var(--text-3);font-style:normal;font-weight:400}.field input,.field select,.field textarea{width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;transition:border-color .15s,box-shadow .15s}.field textarea{height:auto;min-height:64px;padding:10px 12px;line-height:1.5;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-ring)}.field input::placeholder,.field textarea::placeholder,.note-form textarea::placeholder{color:var(--text-3);opacity:.8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.password-field{position:relative;display:block}.password-field input{padding-right:44px}.password-field .icon-btn{position:absolute;top:4px;right:4px}.form-error{min-height:0;color:var(--danger);font-size:13px;font-weight:500}.form-error:empty{display:none}.form-actions{display:flex;justify-content:flex-end}.form-hint{display:flex;align-items:flex-start;gap:8px;color:var(--text-3);font-size:12.5px}.form-hint .icon{margin-top:2px}.form-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)}.form-summary small{display:block;color:var(--text-2);font-size:12px}.form-summary strong{font:800 17px var(--font-display);color:var(--accent-text)}.form-summary strong em{font:600 12px var(--font-sans);font-style:normal}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:12px;background:var(--surface-3)}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:flex;align-items:center;justify-content:center;gap:7px;height:36px;border-radius:9px;color:var(--text-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.segmented input:checked+span{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}.segmented input[value=income]:checked+span .icon{color:var(--success)}.segmented input[value=expense]:checked+span .icon{color:var(--danger)}.segmented input:focus-visible+span{outline:2px solid var(--accent)}.field-switch{align-self:end;height:42px}.backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:var(--backdrop);backdrop-filter:blur(3px);animation:fade-in .15s ease}.modal{display:flex;flex-direction:column;width:min(580px,100%);max-height:calc(100vh - 40px);overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease)}@keyframes pop-in{0%{transform:translateY(8px) scale(.98);opacity:0}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 6px}.modal-head h2{font-size:21px;font-weight:800;line-height:1.25;word-break:break-word}.modal-head .eyebrow{margin-bottom:4px}.modal-body{padding:14px 22px 0;overflow-y:auto}.modal-text{color:var(--text-2);font-size:14px}.modal-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;margin:4px -22px 0;padding:14px 22px 18px;border-top:1px solid var(--border);background:var(--surface)}.dialog-backdrop{z-index:60}.dialog{width:min(420px,100%);padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .18s var(--ease)}.dialog-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog h2{font-size:18px;line-height:1.3}.dialog p{margin-top:8px;color:var(--text-2);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.palette-backdrop{z-index:70;align-items:start;padding-top:12vh}.palette{width:min(600px,100%);overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in .16s var(--ease)}.palette-input{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);color:var(--text-3)}.palette-input input{flex:1;height:56px;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}#palette-list{max-height:min(420px,55vh);margin:0;padding:6px;overflow-y:auto;list-style:none}.palette-group{padding:10px 10px 4px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.palette-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--text-2);cursor:pointer}.palette-item.active{background:var(--accent-soft);color:var(--accent-text)}.palette-label{color:var(--text);font-size:14px;font-weight:500;white-space:nowrap}.palette-hint{overflow:hidden;color:var(--text-3);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.palette-empty{padding:28px;color:var(--text-3);text-align:center}.palette-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:12px}.palette-foot kbd{margin-right:3px}#toast-root{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;justify-items:end;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 40px));padding:11px 16px;border-radius:12px;background:#1b1c2a;color:#fff;box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:500;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .25s var(--ease)}:root[data-theme=dark] .toast{border:1px solid var(--border-strong);background:var(--surface-3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .toast{border:1px solid var(--border-strong);background:var(--surface-3)}}.kpi-foot .nowrap{display:inline-block}.show-more{display:flex;justify-content:center;padding:10px 16px;border-top:1px solid var(--border)}.toast.visible{opacity:1;transform:none}.toast-success .icon{color:#4fdca4}.toast-error .icon{color:#ff8b98}.toast-info .icon{color:#a79dff}.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}.login-aside{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 15%,#8b7dff 0,transparent 45%),radial-gradient(circle at 85% 90%,#3d8bff 0,transparent 40%),linear-gradient(145deg,#3b2fc9,#19163f 70%);color:#fff}.login-aside:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,transparent,#000 40%,transparent)}.login-aside-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:40px;height:100%;padding:44px 56px}.login-logo{display:flex;align-items:center;gap:12px}.login-aside .wordmark{color:#fff;font-size:26px}.login-aside .wordmark b{background:linear-gradient(135deg,#d7d2ff,#a79dff);-webkit-background-clip:text;background-clip:text}.login-aside h2{max-width:460px;font-size:38px;font-weight:800;line-height:1.12;letter-spacing:-.04em}.login-points{display:grid;gap:14px;margin:30px 0 0;padding:0;list-style:none}.login-points li{display:flex;align-items:center;gap:12px;color:#ffffffd9;font-size:15px}.login-points .icon{padding:7px;width:32px;height:32px;border-radius:9px;background:#ffffff1f}.login-foot{color:#ffffff8c;font-size:12.5px}.login-main{display:grid;place-items:center;padding:32px 24px;background:var(--surface)}.login-card{width:min(400px,100%)}.login-card h1{font-size:30px;font-weight:800;letter-spacing:-.035em}.login-subtitle{margin:6px 0 28px;color:var(--text-3)}.login-card .btn{height:46px;margin-top:4px;font-size:14.5px}.mobile-only{display:none}@media(min-width:1600px){.shell.has-drawer .main{margin-right:var(--drawer-w)}.shell.has-drawer .col-secondary,.shell.has-drawer .drawer-backdrop{display:none}.shell.has-drawer .drawer{box-shadow:none}}@media(max-width:1280px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis-three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-three>:last-child{grid-column:span 2}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){:root{--sidebar-w: 224px}.content{padding:28px 28px 64px}.banner{margin:16px 28px 0}.grid-main,.grid-finance,.grid-settings{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media(max-width:860px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.sidebar{display:none}.main{margin-left:0}.mobile-bar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 12px 0 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px)}.mobile-bar .wordmark{font-size:19px}.mobile-actions{display:flex}.tabbar{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px)}.tab{display:grid;justify-items:center;gap:3px;padding:6px 2px;border-radius:10px;color:var(--text-3);font-size:11px;font-weight:600;text-decoration:none!important}.tab.active{color:var(--accent-text)}.tab.active .icon{filter:drop-shadow(0 2px 6px var(--accent-ring))}.content{padding:22px 16px 40px}.banner{margin:12px 16px 0}.page-head{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.page-head h1{font-size:25px}.page-actions .btn{flex:1}.kpis,.kpis-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi-value{font-size:21px}.grid-three{grid-template-columns:minmax(0,1fr)}.grid-three>:last-child{grid-column:auto}.drawer{width:100vw;border-left:0}.toolbar .search-field{max-width:none;flex-basis:100%}.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.toolbar.in-card .chips{margin:0 -20px;padding:0 20px}.select-inline{margin-left:0}.table.responsive thead{display:none}.table.responsive,.table.responsive tbody,.table.responsive tr,.table.responsive td{display:block;width:100%}.table.responsive tr{position:relative;padding:12px 16px;border-bottom:1px solid var(--border)}.table.responsive tbody tr:last-child{border-bottom:0}.table.responsive td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;border:0;text-align:right}.table.responsive td[data-label]:before{content:attr(data-label);color:var(--text-3);font-size:12px;font-weight:500;text-align:left}.table.responsive td:first-child{padding-bottom:8px;text-align:left}.table.responsive td:first-child:before{display:none}.table.responsive td.actions{position:absolute;top:8px;right:8px;width:auto;padding:0}.table.responsive tr:has(td.actions) td:first-child{padding-right:70px}.table.responsive td.empty-cell,.table.responsive td.hide-mobile{display:none}.clamp{max-width:100%}.summary-strip strong{font-size:16px}.forecast-day{grid-template-columns:44px minmax(0,1fr)}.forecast-balance{grid-column:2;display:flex;justify-content:space-between;text-align:left}.form-grid{grid-template-columns:minmax(0,1fr)}.backdrop:not(.palette-backdrop):not(.dialog-backdrop){align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.palette-backdrop{padding:12px}#toast-root{right:12px;left:12px;bottom:calc(76px + env(safe-area-inset-bottom));justify-items:center}.login{grid-template-columns:minmax(0,1fr)}.login-aside{display:none}.mobile-only{display:flex;margin-bottom:30px}.detail-row{grid-template-columns:110px minmax(0,1fr)}}@media(max-width:480px){.kpis,.kpis-three,.steps{grid-template-columns:minmax(0,1fr)}.onboarding-head{flex-direction:column;align-items:stretch}.progress{flex-basis:auto;margin-top:16px}.summary-strip{grid-template-columns:minmax(0,1fr)}.summary-strip>div{border-right:0!important;border-bottom:1px solid var(--border)}.summary-strip>div:last-child{border-bottom:0}.mini-stats strong{font-size:14px}.theme-options{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.sidebar,.mobile-bar,.tabbar,.page-actions,.drawer,.drawer-backdrop{display:none!important}.main{margin:0}}
