:root{--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font: "DM Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--ease: cubic-bezier(.22, 1, .36, 1);--brand-blue: #3a76ed;--brand-blue-deep: #285acb;--brand-gradient: linear-gradient(135deg, var(--brand-blue), var(--brand-blue-deep));--brand-gradient-hover: linear-gradient(135deg, #4782f5, #3166dc)}:root{--bg: #0C040A;--page-grad: linear-gradient(180deg, #170915 0px, #120610 340px, #0E040C 700px, #0C040A 1100px);--surface: rgba(245, 239, 225, .05);--surface-hover: rgba(245, 239, 225, .085);--surface3: rgba(245, 239, 225, .12);--border: rgba(245, 239, 225, .13);--border-strong: rgba(245, 239, 225, .22);--text: #F5EFE1;--text-mid: rgba(245, 239, 225, .72);--text-dim: rgba(245, 239, 225, .45);--accent: #a8c4ff;--accent-ink: #0C040A;--accent-glow: color-mix(in srgb, var(--brand-blue) 30%, transparent);--accent-dim: color-mix(in srgb, var(--brand-blue) 20%, transparent);--shadow-card: 0 18px 44px -26px rgba(0, 0, 0, .7);--shadow-lift: 0 22px 52px -24px rgba(0, 0, 0, .8);--shadow-pop: 0 28px 70px -30px rgba(0, 0, 0, .9);--chart-1: #00a5bd;--chart-2: #e66162;--chart-3: #6b90de;--chart-4: #ba8916;--chart-5: #987ce9;--chart-grid: rgba(245, 239, 225, .08);--chart-axis: rgba(245, 239, 225, .4);--chart-surface: #181015;--green: var(--chart-1);--red: var(--chart-2);--yellow: var(--chart-4);--violet: var(--chart-5);--green-dim: color-mix(in srgb, var(--chart-1) 18%, transparent);--red-dim: color-mix(in srgb, var(--chart-2) 18%, transparent);--yellow-dim: color-mix(in srgb, var(--chart-4) 18%, transparent)}:root.light,:root[data-theme=light]{--bg: #EAF4FC;--page-grad: linear-gradient(180deg, #FDFEFF 0px, #F2F9FE 300px, #E4F1FB 760px, #DCEDFA 1200px);--surface: #FFFFFF;--surface-hover: #F1F8FE;--surface3: #E3F0FA;--border: rgba(34, 51, 74, .12);--border-strong: rgba(34, 51, 74, .2);--text: #22334A;--text-mid: rgba(34, 51, 74, .72);--text-dim: rgba(34, 51, 74, .5);--accent: var(--brand-blue-deep);--accent-ink: #FFFFFF;--accent-glow: color-mix(in srgb, var(--brand-blue) 26%, transparent);--accent-dim: color-mix(in srgb, var(--brand-blue) 12%, transparent);--shadow-card: 0 18px 40px -28px rgba(34, 51, 74, .28);--shadow-lift: 0 22px 46px -26px rgba(34, 51, 74, .34);--shadow-pop: 0 28px 64px -28px rgba(34, 51, 74, .4);--chart-1: #1B9AAF;--chart-2: #C2261E;--chart-3: #285acb;--chart-4: #B8760C;--chart-5: #7C5CD6;--chart-grid: rgba(34, 51, 74, .1);--chart-axis: rgba(34, 51, 74, .55);--chart-surface: #FFFFFF;--green-dim: color-mix(in srgb, var(--chart-1) 12%, transparent);--red-dim: color-mix(in srgb, var(--chart-2) 12%, transparent);--yellow-dim: color-mix(in srgb, var(--chart-4) 14%, transparent)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);background-image:var(--page-grad);background-attachment:fixed;color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}input,select,textarea,button{font-family:var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.theme-anim body,.theme-anim body *{transition:background-color .35s ease,border-color .35s ease,color .25s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}::selection{background:var(--accent-dim);color:var(--text)}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow);border-radius:var(--radius-sm)}.eyebrow,.sidebar-sub,.sidebar-section,.kpi-label,.form-label,.task-column-title,thead th{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.app-layout{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--border);padding:26px 14px 18px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.02em;margin:0 12px 2px;color:var(--text)}.sidebar-logo span{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-sub{color:var(--text-dim);margin:0 12px 26px;font-size:10px}.sidebar-section{color:var(--text-dim);padding:18px 12px 7px;font-size:10px}.nav-btn{background:none;border:none;color:var(--text-mid);font-size:13.5px;font-weight:500;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .18s var(--ease),color .18s var(--ease);display:flex;align-items:center;gap:11px;width:100%;position:relative}.nav-btn:hover{background:var(--surface-hover);color:var(--text)}.nav-btn.active{background:var(--surface-hover);color:var(--text);font-weight:600}.nav-btn.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--brand-gradient)}.nav-badge{background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;font-family:var(--font-mono);min-width:18px;text-align:center;margin-left:auto}.sidebar-divider{height:1px;background:var(--border);margin:8px 12px}.sidebar-perso-link{transition:opacity .2s var(--ease)}.sidebar-perso-link:hover{opacity:.85!important}.sidebar-spacer{flex:1}.theme-toggle{display:flex;align-items:center;gap:2px;padding:3px;margin:10px 12px 4px;background:var(--surface-hover);border:1px solid var(--border);border-radius:999px}.theme-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-dim);padding:6px 4px;border-radius:999px;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.theme-toggle-btn:hover{color:var(--text)}.theme-toggle-btn.active{background:var(--brand-gradient);color:#fff}.main-content{padding:38px 44px 64px;max-width:1320px;min-width:0}.page-header h1{font-family:var(--font-display);font-size:clamp(26px,3vw,32px);font-weight:600;margin-bottom:6px;letter-spacing:-.022em;line-height:1.15}.page-header .subtitle{color:var(--text-dim);font-size:14px;margin-bottom:30px;max-width:62ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.card h3{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 22px 20px;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.kpi-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-lift)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--border-strong)}.kpi-card.income:before{background:var(--chart-1)}.kpi-card.expense:before{background:var(--chart-2)}.kpi-card.balance:before{background:var(--brand-gradient)}.kpi-card.tax:before{background:var(--chart-4)}.kpi-label{color:var(--text-dim);margin-bottom:10px;font-size:10px}.kpi-value{font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);font-weight:600;letter-spacing:-.024em;line-height:1.05}.chart-card{padding-bottom:14px}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.chart-title{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em}.chart-note{font-size:12.5px;color:var(--text-dim);margin-top:3px}.chart-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.chart-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-mid)}.chart-legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.chart-tip{background:var(--chart-surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:11px 13px;box-shadow:var(--shadow-pop);min-width:140px}.chart-tip-label{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.chart-tip-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;padding:2px 0}.chart-tip-name{display:inline-flex;align-items:center;gap:7px;color:var(--text-mid)}.chart-tip-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--text)}.chart-empty{padding:56px 20px;text-align:center;color:var(--text-dim);font-size:13px}.bar-list{display:flex;flex-direction:column;gap:11px}.bar-row{display:grid;grid-template-columns:minmax(96px,1.1fr) 1fr auto;align-items:center;gap:14px}.bar-row-label{font-size:13px;color:var(--text-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:block;height:8px;border-radius:999px;background:var(--surface3);overflow:hidden;min-width:40px}.bar-fill{display:block;height:100%;border-radius:999px;transform-origin:left center;animation:bar-grow .7s var(--ease) both}@keyframes bar-grow{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@media(prefers-reduced-motion:reduce){.bar-fill{animation:none}*{scroll-behavior:auto!important}}.bar-value{font-family:var(--font-mono);font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-mid);white-space:nowrap;text-align:right;min-width:74px}.form-input,.form-select,.form-textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:14px;padding:11px 13px;border-radius:var(--radius-sm);outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease);width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-dim)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--accent-glow)}.form-select option{background:var(--bg);color:var(--text)}.form-textarea{resize:vertical;min-height:84px}.form-label{color:var(--text-dim);margin-bottom:7px;display:block}.btn{border:1px solid transparent;font-size:13.5px;font-weight:500;padding:10px 20px;border-radius:var(--radius);cursor:pointer;transition:transform .18s var(--ease),box-shadow .3s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 10px 30px -8px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:var(--brand-gradient-hover);box-shadow:0 16px 40px -10px var(--accent-glow)}.btn-danger{background:var(--chart-2);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.07)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text-mid)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--brand-blue);background:var(--surface-hover)}.btn-sm{font-size:12.5px;padding:7px 14px;border-radius:var(--radius-sm)}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.table-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--border)}.table-header h3{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em}table{width:100%;border-collapse:collapse}thead th{color:var(--text-dim);padding:13px 22px;text-align:left;border-bottom:1px solid var(--border);font-size:10px;white-space:nowrap}tbody td{padding:14px 22px;font-size:13.5px;border-bottom:1px solid var(--border);color:var(--text)}tbody td.mono,td .mono,.num{font-variant-numeric:tabular-nums}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;border:1px solid transparent}.badge-green{background:var(--green-dim);color:var(--chart-1);border-color:color-mix(in srgb,var(--chart-1) 30%,transparent)}.badge-red{background:var(--red-dim);color:var(--chart-2);border-color:color-mix(in srgb,var(--chart-2) 30%,transparent)}.badge-yellow{background:var(--yellow-dim);color:var(--chart-4);border-color:color-mix(in srgb,var(--chart-4) 30%,transparent)}.badge-accent{background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb,var(--brand-blue) 34%,transparent)}.badge-dim{background:var(--surface3);color:var(--text-dim)}.mono{font-family:var(--font-mono);font-size:.94em}.green{color:var(--chart-1)}.red{color:var(--chart-2)}.accent{color:var(--accent)}.yellow{color:var(--chart-4)}.dim{color:var(--text-dim)}.year-selector{display:flex;align-items:center;gap:12px;margin-bottom:26px}.year-selector button{background:var(--surface);border:1px solid var(--border);color:var(--text-mid);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}.year-selector button:hover{border-color:var(--brand-blue);color:var(--accent);background:var(--surface-hover)}.year-selector span{font-family:var(--font-display);font-size:19px;font-weight:600;min-width:64px;text-align:center;letter-spacing:-.01em}.tx-filter{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--surface-hover);border:1px solid var(--border);border-radius:999px}.tx-filter-btn{background:none;border:none;color:var(--text-dim);font-size:12.5px;font-weight:500;padding:6px 15px;border-radius:999px;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.tx-filter-btn:hover{color:var(--text)}.tx-filter-btn.active{background:var(--brand-gradient);color:#fff}.search-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:13.5px;padding:8px 15px;border-radius:999px;outline:none;width:230px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--accent-glow)}.filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toast{position:fixed;bottom:26px;right:26px;background:var(--chart-surface);color:var(--text);border:1px solid var(--border-strong);padding:13px 20px;border-radius:var(--radius);font-size:13.5px;font-weight:500;opacity:0;transform:translateY(10px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none;z-index:100;box-shadow:var(--shadow-pop)}.toast.show{opacity:1;transform:translateY(0)}.empty-state{text-align:center;padding:72px 20px;color:var(--text-dim)}.empty-state p{font-size:13.5px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.task-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:30px}.task-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;min-height:210px}.task-column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid var(--border)}.task-column-title{color:var(--text-mid);font-size:10px}.task-column-count{font-family:var(--font-mono);font-size:11px;background:var(--surface3);color:var(--text-dim);padding:2px 9px;border-radius:999px}.task-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px;margin-bottom:9px;cursor:pointer;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.task-card:hover{border-color:var(--brand-blue);transform:translateY(-2px);box-shadow:var(--shadow-card)}.task-card-title{font-size:13.5px;font-weight:500;margin-bottom:9px;color:var(--text)}.task-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-critical{background:var(--chart-2)}.priority-high{background:var(--chart-4)}.priority-medium{background:var(--chart-3)}.priority-low{background:var(--chart-1)}.priority-none{background:var(--text-dim)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);background-image:var(--page-grad);position:relative;overflow:hidden;padding:24px}.login-page:before{content:"";position:absolute;top:22%;left:50%;transform:translate(-50%,-50%);width:680px;height:680px;border-radius:50%;background:color-mix(in srgb,var(--brand-blue) 16%,transparent);filter:blur(170px);pointer-events:none}.login-page:after{content:"";position:absolute;bottom:-10%;right:-5%;width:460px;height:460px;border-radius:50%;background:color-mix(in srgb,var(--chart-5) 12%,transparent);filter:blur(140px);pointer-events:none}.login-card{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:40px 34px 34px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:var(--shadow-pop)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.login-brand-mark{width:38px;height:38px;border-radius:11px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-.02em;box-shadow:0 10px 26px -10px var(--accent-glow)}.login-brand-name{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.login-brand-name span{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-card h1{font-family:var(--font-display);font-size:25px;font-weight:600;margin-bottom:8px;letter-spacing:-.022em;color:var(--text)}.login-card .subtitle{color:var(--text-dim);font-size:13.5px;margin-bottom:28px;line-height:1.6}.login-card .subtitle strong{color:var(--text);font-weight:600}.login-card .form-group{margin-bottom:16px}.login-error,.login-info{padding:11px 15px;border-radius:var(--radius-sm);font-size:12.5px;margin-bottom:18px;line-height:1.5}.login-error{background:var(--red-dim);color:var(--chart-2);border:1px solid color-mix(in srgb,var(--chart-2) 30%,transparent)}.login-info{background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--brand-blue) 32%,transparent)}.login-code-input{font-family:var(--font-mono);font-size:23px;letter-spacing:.5em;text-align:center;text-indent:.5em;padding:15px 12px!important;font-weight:500;font-variant-numeric:tabular-nums}.login-actions-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12.5px;color:var(--text-dim)}.login-link-btn{background:none;border:none;color:var(--text-dim);font-size:12.5px;cursor:pointer;padding:4px 0;transition:color .18s var(--ease)}.login-link-btn:hover:not(:disabled){color:var(--accent)}.login-link-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--chart-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-pop)}.modal h2{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:20px;letter-spacing:-.018em}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.perso-balance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.perso-balance-card{padding:18px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.main-content{padding:32px 28px 64px}}@media(max-width:900px){.app-layout{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;height:auto;flex-direction:row;padding:8px 12px;z-index:50;overflow-x:auto;gap:4px;border-right:none;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-logo,.sidebar-sub,.sidebar-spacer,.sidebar-section,.sidebar-divider,.sidebar-perso-link,.theme-toggle{display:none}.nav-btn{font-size:12.5px;padding:8px 12px;white-space:nowrap}.nav-btn.active:before{display:none}.nav-btn.active{background:var(--accent-dim);color:var(--accent)}.main-content{padding:24px 16px 92px}.grid-2,.grid-3,.task-columns,.perso-balance-row{grid-template-columns:1fr}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:minmax(72px,1fr) 1fr auto;gap:10px}.search-input{width:100%}}
