*{box-sizing:border-box}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.4;font-weight:400;color:var(--text, #e9eeff);background:var(--bg, #070b18);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg, #070b18)}#root{min-height:100vh}:root{--bg: #000000;--bg-grad-a: #0b1638;--bg-grad-b: #16235a;--bg-grid: rgba(255, 225, 0, .09);--panel: #070b1a;--panel-soft: #101a3e;--border: #2b3f7d;--text: #ffffff;--muted: #b7c1d9;--accent: #ffe100;--danger-bg: #412142;--danger-border: #853b8a;--sidebar: rgba(7, 17, 45, .9);--radius-panel: 16px;--radius-control: 10px;--content-padding: 24px;--panel-padding: 16px;--panel-blur: 0px;--motion-duration: .18s;--font-family-ui: "Inter", "Segoe UI", system-ui, sans-serif;--font-scale: 1;--line-height-ui: 1.45}:root[data-theme=emerald]{--bg: #061612;--bg-grad-a: #0f7b62;--bg-grad-b: #38dba9;--bg-grid: rgba(62, 201, 159, .12);--panel: #0f2d24;--panel-soft: #1a4f42;--border: #3ea186;--text: #e9fff8;--muted: #99e8d4;--accent: #5ce3b8;--danger-bg: #472734;--danger-border: #af4f7a;--sidebar: rgba(8, 33, 26, .9)}:root[data-theme=sunset]{--bg: #160710;--bg-grad-a: #7a2e59;--bg-grad-b: #ff8e4b;--bg-grid: rgba(255, 132, 86, .13);--panel: #2b1530;--panel-soft: #5f2d4f;--border: #b05f8a;--text: #fff2fa;--muted: #f0b4d8;--accent: #ffb26b;--danger-bg: #5c2540;--danger-border: #d16a9e;--sidebar: rgba(45, 15, 35, .9)}:root[data-density=compact]{--content-padding: 16px;--panel-padding: 12px;--radius-panel: 12px;--radius-control: 8px}:root[data-glass=true]{--panel-blur: 8px}.app-shell{display:grid;grid-template-columns:290px 1fr;min-height:100vh;min-height:100dvh;color:var(--text);position:relative;overflow-x:hidden;isolation:isolate;font-family:var(--font-family-ui);font-size:calc(16px * var(--font-scale));line-height:var(--line-height-ui)}.app-shell:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--bg-grad-a) 45%,transparent),transparent 52%),radial-gradient(circle at 78% 28%,color-mix(in srgb,var(--bg-grad-b) 42%,transparent),transparent 49%),radial-gradient(circle at 62% 85%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 54%);z-index:0;opacity:.9;transform:translateZ(0);pointer-events:none}.app-shell:after{content:"";position:absolute;inset:-5%;background:transparent;z-index:0;pointer-events:none}:root[data-noise=true] .app-shell:after{content:"";background-image:repeating-radial-gradient(circle at 0 0,rgba(255,255,255,.03) 0 1px,transparent 2px 4px),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);mix-blend-mode:soft-light;opacity:.35}:root[data-texture=none] .app-shell:after{background:transparent}:root[data-texture=grain] .app-shell:after{background-image:repeating-radial-gradient(circle at 0 0,rgba(255,255,255,.03) 0 1px,transparent 2px 4px),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);mix-blend-mode:soft-light;opacity:.35}:root[data-texture=scanlines] .app-shell:after{background-image:linear-gradient(to bottom,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 1px,transparent 3px);background-size:100% 3px;mix-blend-mode:screen;opacity:.45}:root[data-texture=carbon] .app-shell:after{background-image:linear-gradient(27deg,rgba(255,255,255,.035) 5px,transparent 5px),linear-gradient(207deg,rgba(255,255,255,.03) 5px,transparent 5px),linear-gradient(27deg,transparent 5px,rgba(0,0,0,.2) 5px),linear-gradient(207deg,transparent 5px,rgba(0,0,0,.2) 5px);background-size:12px 12px;background-position:0 0,6px 6px,0 6px,6px 0;opacity:.28}:root[data-texture=dots] .app-shell:after{background-image:radial-gradient(rgba(255,255,255,.08) .8px,transparent .8px);background-size:10px 10px;opacity:.22}:root[data-motion=true] .app-shell:before{animation:slow-drift 14s ease-in-out infinite alternate}:root[data-motion=true] .app-shell:after{animation:pulse-fade 18s ease-in-out infinite alternate}:root[data-background=aurora] .app-shell:after{background:radial-gradient(60% 40% at 10% 60%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 72%),radial-gradient(45% 35% at 90% 18%,color-mix(in srgb,var(--bg-grad-b) 28%,transparent),transparent 70%)}:root[data-background=mesh] .app-shell:after{background:linear-gradient(110deg,transparent 0%,color-mix(in srgb,var(--bg-grid) 75%,transparent) 50%,transparent 100%),linear-gradient(0deg,transparent 49%,color-mix(in srgb,var(--bg-grid) 72%,transparent) 50%,transparent 51%),linear-gradient(90deg,transparent 49%,color-mix(in srgb,var(--bg-grid) 72%,transparent) 50%,transparent 51%);background-size:100% 100%,54px 54px,54px 54px;opacity:.55}:root[data-background=orbital] .app-shell:after{background:radial-gradient(circle at 35% 55%,transparent 0 72px,color-mix(in srgb,var(--accent) 40%,transparent) 73px 76px,transparent 77px),radial-gradient(circle at 72% 30%,transparent 0 110px,color-mix(in srgb,var(--bg-grad-b) 30%,transparent) 111px 114px,transparent 115px),radial-gradient(circle at 72% 30%,color-mix(in srgb,var(--bg-grad-a) 30%,transparent),transparent 50%);opacity:.8}:root[data-background=topography] .app-shell:after{background:repeating-radial-gradient(circle at 10% 20%,transparent 0 18px,color-mix(in srgb,var(--bg-grid) 70%,transparent) 19px 20px),repeating-radial-gradient(circle at 85% 78%,transparent 0 24px,color-mix(in srgb,var(--bg-grid) 55%,transparent) 25px 26px);opacity:.55}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);padding:24px 18px;display:flex;flex-direction:column;gap:12px;-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));position:relative;z-index:2}.sidebar-mobile-head{display:block}.sidebar h1{margin:0;font-size:20px}.sidebar-subtitle{margin:0 0 12px;color:var(--muted);font-size:13px}.sidebar-auth{margin:0 0 8px;color:var(--muted);font-size:12px;word-break:break-word}.sidebar-close-btn,.mobile-topbar,.mobile-menu-btn,.sidebar-overlay{display:none}.nav-item{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;color:var(--text);background:transparent;padding:10px 12px;border-radius:12px;margin-bottom:8px;text-align:left;transition:all var(--motion-duration) ease}.nav-item:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--panel-soft));transform:translate(2px)}.nav-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel-soft))}.export-btn{margin-top:auto;background:var(--accent);border:none;color:color-mix(in srgb,var(--bg) 70%,black);font-weight:600}.content{padding:var(--content-padding);position:relative;z-index:2}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.auth-card{width:min(460px,100%);display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--radius-panel);border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 90%,transparent);-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur))}.auth-card h1{margin:0}.auth-error{margin:2px 0 0;color:#ff8fa7}.stack-lg{display:flex;flex-direction:column;gap:var(--stack-gap, 18px)}.muted{color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.kpi-card{background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid var(--border);border-radius:var(--radius-panel);padding:14px;-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur))}.kpi-card h3{margin:0 0 6px;color:var(--muted);font-size:13px}.kpi-card strong{font-size:20px}.panel{background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid var(--border);border-radius:var(--radius-panel);padding:var(--panel-padding);-webkit-backdrop-filter:blur(var(--panel-blur));backdrop-filter:blur(var(--panel-blur));box-shadow:0 8px 20px color-mix(in srgb,var(--bg) 76%,transparent);border-image:linear-gradient(120deg,color-mix(in srgb,var(--accent) 55%,var(--border)),var(--border),color-mix(in srgb,var(--accent) 35%,var(--border))) 1;content-visibility:visible;contain-intrinsic-size:none}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chart-panel h3{margin-top:0}.chart-box{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:12px;padding:10px 12px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 52%,transparent),color-mix(in srgb,var(--panel) 32%,transparent));box-shadow:inset 0 1px color-mix(in srgb,var(--text) 7%,transparent),0 1px 14px color-mix(in srgb,var(--bg) 26%,transparent);min-height:224px}.chart-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.preset-chip{display:inline-flex;align-items:center;gap:6px}.mouse-trailer-layer{position:fixed;width:160px;height:160px;border-radius:999px;pointer-events:none;z-index:1;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%);filter:blur(16px);opacity:.9;will-change:transform}:root[data-mouse-trail=false] .mouse-trailer-layer{display:none}:root[data-scroll-reveal=true] .reveal-target{opacity:.35;transform:translate3d(0,18px,0) skewY(1.8deg);transition:transform .42s cubic-bezier(.21,1,.2,1),opacity .42s ease}:root[data-scroll-reveal=true] .reveal-in{opacity:1;transform:translateZ(0) skewY(0)}.glitch-title{position:relative}:root[data-glitch=true] .glitch-title:hover:before,:root[data-glitch=true] .glitch-title:hover:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden}:root[data-glitch=true] .glitch-title:hover:before{color:#00d4ff;transform:translate3d(-1px,-1px,0);clip-path:inset(0 0 45% 0)}:root[data-glitch=true] .glitch-title:hover:after{color:#ff2ea6;transform:translate3d(1px,1px,0);clip-path:inset(55% 0 0 0)}:root[data-glitch=true] h2:hover,:root[data-glitch=true] h3:hover{text-shadow:-1px 0 #00d4ff,1px 0 #ff2ea6}.chart-empty{min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-soft) 24%,transparent);padding:16px}.chart-box .recharts-cartesian-grid-horizontal line,.chart-box .recharts-cartesian-grid-vertical line{stroke:color-mix(in srgb,var(--border) 48%,transparent);stroke-dasharray:2 4;shape-rendering:geometricPrecision}.chart-box .recharts-cartesian-axis-tick-value{fill:color-mix(in srgb,var(--muted) 88%,var(--text));font-size:11px}.chart-box .recharts-curve.recharts-line-curve{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 24%,transparent));stroke-linecap:round;stroke-linejoin:round}.chart-box .recharts-area-area{filter:saturate(1.08)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}input,select,button{font:inherit}input,select{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb,var(--panel-soft) 74%,var(--bg));color:var(--text);padding:8px 10px}textarea{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb,var(--panel-soft) 74%,var(--bg));color:var(--text);padding:8px 10px;resize:vertical;min-height:104px}button{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--panel-soft);color:var(--text);padding:9px 12px;cursor:pointer;transition:all var(--motion-duration) ease}button:hover{border-color:var(--accent)}:root[data-glow=true] .panel:hover,:root[data-glow=true] .kpi-card:hover,:root[data-glow=true] .chip-btn:hover,:root[data-glow=true] .nav-item:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 0 24px color-mix(in srgb,var(--accent) 22%,transparent),0 12px 30px color-mix(in srgb,var(--accent) 12%,transparent)}:root[data-style=soft] .panel,:root[data-style=soft] .kpi-card{background:color-mix(in srgb,var(--panel) 72%,transparent);border-color:color-mix(in srgb,var(--border) 78%,transparent);box-shadow:0 14px 32px color-mix(in srgb,var(--accent) 10%,transparent)}:root[data-style=minimal] .panel,:root[data-style=minimal] .kpi-card{box-shadow:none;border-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:color-mix(in srgb,var(--panel) 94%,transparent)}:root[data-style=minimal] .nav-item:hover{transform:none}:root[data-style=terminal]{--font-family-ui: "JetBrains Mono", "Fira Code", Consolas, monospace}:root[data-style=terminal] .panel,:root[data-style=terminal] .kpi-card,:root[data-style=terminal] .chart-box{border-color:color-mix(in srgb,#45ff9a 50%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,#45ff9a 35%,transparent),inset 0 0 24px color-mix(in srgb,#45ff9a 8%,transparent)}:root[data-style=terminal] .muted{color:color-mix(in srgb,#7cfbc5 72%,var(--muted))}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);border:1px solid var(--border);background:color-mix(in srgb,var(--panel-soft) 74%,var(--bg));color:var(--text);padding:9px 12px;cursor:pointer}.danger-btn{background:var(--danger-bg);border-color:var(--danger-border)}.row-actions{display:flex;gap:8px;align-items:end}.checkbox-row{flex-direction:row;align-items:center;gap:8px;margin-top:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.panel-head input{width:min(360px,100%)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted)}.list{list-style:none;margin:0;padding:0}.list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.projection-text{margin:6px 0;font-size:18px}.value-positive{color:#5ff5b0}.value-negative{color:#ff7f96}.value-neutral{color:var(--text)}.value-warning{color:#ffcf6a}.kpi-card .value-positive,.kpi-card .value-negative,.kpi-card .value-neutral,.kpi-card .value-warning{font-weight:700}tr.row-income td,tr.row-credit td{border-left:2px solid color-mix(in srgb,#5ff5b0 70%,transparent)}tr.row-expense td,tr.row-debit td{border-left:2px solid color-mix(in srgb,#ff7f96 70%,transparent)}.toggle-group{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{text-transform:capitalize;min-width:72px;padding:6px 10px;font-size:12px;line-height:1.1}.active-chip{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel-soft));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)}.chart-toolbar .chip-btn{min-width:52px;padding:5px 8px;font-size:11px}.toggle-grid{display:grid;gap:10px}.ai-command-panel{margin-bottom:2px}.switch-row{display:flex;align-items:center;flex-direction:row}.switch-row input{width:18px;height:18px}@keyframes slow-drift{0%{transform:translate3d(-12px,-8px,0) scale(1)}to{transform:translate3d(12px,8px,0) scale(1.03)}}@keyframes pulse-fade{0%{opacity:.5;transform:scale(1) translate3d(-8px,-6px,0)}to{opacity:.85;transform:scale(1.04) translate3d(8px,6px,0)}}@media(max-width:1080px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);transform:translate(-102%);transition:transform .22s ease;z-index:10;padding:14px 12px 18px;gap:10px;overflow-y:auto;border-right:1px solid var(--border);border-bottom:0;background:color-mix(in srgb,var(--sidebar) 90%,black)}.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-close-btn{display:inline-flex;padding:6px 10px;font-size:12px}.sidebar h1{font-size:18px}.sidebar-subtitle{margin:0;font-size:12px}.sidebar-auth{margin:0}.sidebar nav{display:block}.nav-item{width:100%;margin-bottom:8px;white-space:normal;padding:8px 10px;font-size:13px;border-radius:10px}.export-btn,.secondary-btn{margin-top:0;width:100%}.sidebar-overlay{display:block;position:fixed;inset:0;border:0;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:9}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.content{padding:12px;overflow-x:clip;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-topbar{display:flex;position:sticky;top:0;z-index:8;align-items:center;gap:10px;margin:-2px -2px 10px;padding:8px 2px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 94%,transparent),transparent)}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:8px 10px;font-size:13px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:flex-start}.panel-head input{width:100%}.row-actions{width:100%;flex-wrap:wrap}.row-actions button{flex:1 1 120px}.chart-grid{grid-template-columns:1fr}.chart-toolbar{justify-content:flex-start}.chart-box{min-height:200px;padding:9px 10px 8px}th,td{white-space:nowrap;font-size:13px;padding:8px}.table-wrap{margin:0 -4px;padding:0 4px}:root[data-scroll-reveal=true] .reveal-target,:root[data-scroll-reveal=true] .reveal-in{opacity:1;transform:none;transition:none}}@media(max-width:640px){.sidebar{width:min(92vw,340px);padding:12px 10px 16px}.sidebar-subtitle,.sidebar-auth{display:none}.sidebar h1{font-size:17px}.content{padding:10px}.mobile-topbar{margin-bottom:8px}.mobile-topbar strong{font-size:14px}.panel{padding:12px}.kpi-grid{grid-template-columns:1fr}.kpi-card strong{font-size:18px}.kpi-card h3{font-size:12px}h2{font-size:22px}h3{font-size:18px}.chip-btn{min-width:62px;padding:6px 8px}.chart-toolbar .chip-btn{min-width:48px;padding:4px 7px;font-size:10px}}
