@charset "UTF-8";body[class*=theme-]{--shell-chrome-bg: var(--sidebar-bg);--shell-chrome-surface: var(--panel);--shell-chrome-surface-hover: var(--panel-strong);--shell-chrome-border: var(--border);--shell-chrome-text: var(--text);--shell-chrome-muted: var(--muted);--chat-bg: var(--assistant-bg);--chat-surface: color-mix(in srgb, var(--panel) 72%, transparent);--chat-surface-strong: var(--panel-strong);--chat-border: var(--border);--chat-text: var(--text);--chat-muted: var(--muted);--chat-control: color-mix(in srgb, var(--surface-card) 82%, var(--panel));--chat-control-hover: color-mix(in srgb, var(--panel-strong) 90%, var(--panel));--chat-inverse-bg: var(--btn-primary-fg, var(--text));--chat-inverse-text: var(--color-on-accent, var(--bg-main));--chat-user-bg: color-mix(in srgb, var(--text) 9%, var(--panel-strong));--chat-user-text: var(--text);--chat-user-border: color-mix(in srgb, var(--border) 92%, transparent);--chat-proactive-accent: var(--color-accent);--chat-proactive-fg: color-mix(in srgb, var(--color-accent) 55%, var(--text));--chat-proactive-bg: color-mix(in srgb, var(--color-accent) 14%, transparent);--chat-proactive-border: color-mix(in srgb, var(--color-accent) 42%, transparent);--chat-banner-error-border: color-mix(in srgb, var(--red) 35%, transparent);--chat-banner-error-bg: color-mix(in srgb, var(--red) 10%, transparent);--chat-panel-shadow: var(--shadow);--chat-expanded-user-bg: var(--panel-strong);--chat-expanded-user-border: transparent}body[class*=theme-].theme-dark{--chrome-shadow: 1px 0 0 color-mix(in srgb, var(--border) 72%, transparent), 10px 0 36px color-mix(in srgb, var(--bg-main) 58%, transparent), 16px 0 52px color-mix(in srgb, var(--color-accent) 5%, transparent);--chat-panel-shadow: -1px 0 0 color-mix(in srgb, var(--border) 72%, transparent), -10px 0 36px color-mix(in srgb, var(--bg-main) 58%, transparent), -16px 0 52px color-mix(in srgb, var(--color-accent) 5%, transparent);--chat-composer-shadow: 0 1px 0 color-mix(in srgb, var(--border) 55%, transparent), 0 4px 16px color-mix(in srgb, var(--bg-main) 22%, transparent);--chat-composer-shadow-expanded: 0 1px 0 color-mix(in srgb, var(--border) 48%, transparent), 0 6px 20px color-mix(in srgb, var(--bg-main) 14%, transparent);--chat-elevated-shadow: 0 1px 3px color-mix(in srgb, var(--text) 6%, transparent), 0 8px 22px color-mix(in srgb, var(--bg-main) 20%, transparent)}body[class*=theme-].theme-light{--chat-composer-shadow: 0 1px 2px color-mix(in srgb, var(--color-accent) 5%, transparent), 0 6px 18px color-mix(in srgb, var(--color-accent) 7%, transparent);--chat-composer-shadow-expanded: 0 2px 8px color-mix(in srgb, var(--color-accent) 6%, transparent), 0 8px 22px color-mix(in srgb, var(--color-accent) 8%, transparent);--chat-elevated-shadow: 0 1px 3px color-mix(in srgb, var(--color-accent) 5%, transparent), 0 8px 20px color-mix(in srgb, var(--color-accent) 8%, transparent);--chat-panel-shadow: var(--shadow)}body.theme-clean.theme-dark{--chrome-shadow: 1px 0 0 rgba(255, 255, 255, .1), 14px 0 44px rgb(0 0 0 / .72);--chat-panel-shadow: -1px 0 0 rgba(255, 255, 255, .1), -14px 0 44px rgb(0 0 0 / .72);--chat-composer-shadow: 0 8px 28px color-mix(in srgb, var(--bg-main) 36%, transparent);--chat-composer-shadow-expanded: 0 8px 32px color-mix(in srgb, var(--bg-main) 30%, transparent)}body.theme-clean.theme-light{--chat-composer-shadow: none;--chat-composer-shadow-expanded: none;--chat-elevated-shadow: none;--chat-panel-shadow: none}body[class*=theme-].theme-light{--chat-surface: color-mix(in srgb, var(--panel) 55%, var(--assistant-bg));--chat-control: color-mix(in srgb, var(--surface-card) 65%, var(--panel-strong));--chat-user-bg: var(--panel);--chat-expanded-user-bg: var(--chat-control);--chat-expanded-user-border: var(--border)}:root{color-scheme:dark;--border-radius-base: 6px;--border-radius-button: var(--border-radius-base);--border-radius-card: 22px;--border-radius: var(--border-radius-base);--bg-main: #0f172a;--surface-card: #1e293b;--surface-card-strong: #111c31;--color-accent: #22d3ee;--color-accent-secondary: #34d399;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-border: rgba(148, 163, 184, .18);--app-bg: radial-gradient(circle at 20% 20%, rgba(141, 114, 255, .2), transparent 32rem), radial-gradient(circle at 85% 10%, rgba(255, 109, 159, .12), transparent 24rem), linear-gradient(135deg, #090d17 0%, #101725 46%, #070b13 100%);--bg: #080d18;--bg-soft: #0f1727;--panel: rgba(20, 29, 48, .78);--panel-strong: rgba(29, 39, 63, .92);--border: rgba(166, 180, 214, .16);--border-width: 1px;--border-width-strong: 2px;--border-style: solid;--border-standard: var(--border-width) var(--border-style) var(--border);--border-strong: var(--border-width-strong) var(--border-style) var(--border);--border-dashed: var(--border-width) dashed var(--border);--sidebar-bg: rgba(15, 17, 21, .94);--assistant-bg: rgba(12, 15, 22, .96);--nav-active-bg: rgba(70, 116, 203, .44);--text: #f6f7fb;--muted: #9ba8c6;--purple: #8d72ff;--brand-gold: #e5bc4d;--pink: #ff6d9f;--green: #66e0a3;--red: #ff7185;--blue: #6cb8ff;--shadow: 0 24px 80px rgba(0, 0, 0, .42);--dashboard-chat-panel-width: clamp(320px, 22vw, 560px);--color-primary: var(--color-accent);--color-background: var(--bg-main);--color-surface: var(--surface-card);--color-confirm-from: #a7f3d0;--color-confirm-to: #34d399;--color-on-confirm: #064e3b;--color-confirm-border: rgba(6, 78, 59, .38);--color-on-accent: #080d18;--btn-primary-bg: linear-gradient(135deg, var(--purple), #c6b8ff);--btn-primary-bg-hover: linear-gradient(135deg, color-mix(in srgb, var(--purple) 92%, #fff), #d4c8ff);--btn-primary-fg: #080d18;--btn-primary-border: transparent;--btn-primary-shadow: 0 8px 24px color-mix(in srgb, var(--purple) 28%, transparent);--btn-secondary-bg: rgba(255, 255, 255, .04);--btn-secondary-fg: var(--text);--btn-secondary-border: var(--border);--btn-focus-ring: color-mix(in srgb, var(--color-accent) 40%, transparent);--btn-link-fg: var(--muted);--btn-danger-fg: var(--red);--btn-rect-height-sm: 32px;--btn-rect-height-md: 40px;--btn-rect-height-lg: 48px;--btn-rect-padding-x-sm: 12px;--btn-rect-padding-x-md: 16px;--btn-rect-padding-x-lg: 20px;--btn-rect-font-size-sm: .8125rem;--btn-rect-font-size-md: .875rem;--btn-rect-font-size-lg: 1rem;--btn-rect-gap-sm: .35rem;--btn-rect-gap-md: .5rem;--btn-rect-gap-lg: .55rem;--btn-rect-font-weight: 800;--btn-square-size-sm: 32px;--btn-square-size-md: 40px;--btn-square-size-lg: 48px;--btn-icon-glyph-sm: .875rem;--btn-icon-glyph-md: 1rem;--btn-icon-glyph-lg: 1.125rem;--btn-text-font-size-sm: .8125rem;--btn-text-font-size-md: .9375rem;--btn-text-font-size-lg: 1.0625rem;--btn-text-padding-x-sm: 4px;--btn-text-padding-x-md: 6px;--btn-text-padding-x-lg: 8px;--btn-text-font-weight: 500;--field-radius: var(--border-radius-button);--field-border: color-mix(in srgb, var(--muted) 22%, var(--border));--field-focus-border: color-mix(in srgb, var(--color-primary) 55%, var(--border));--field-focus-shadow: 0 0 0 4px var(--btn-focus-ring);--form-field-label-margin-block: 10px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace}body.data-density-minimal{--density-section-gap: 1rem;--density-stack-gap: .65rem}body.data-density-analytical{--density-section-gap: 1.75rem;--density-stack-gap: 1rem}body.theme-clean.theme-dark{--border-radius-base: 8px;--border-radius-button: 10px;--border-radius-card: 12px;--border-radius: var(--border-radius-base);--bg-main: #000000;--surface-card: #0a0a0a;--surface-card-strong: #111111;--color-accent: #fafafa;--color-accent-secondary: #d4d4d8;--color-text-main: #fafafa;--color-text-muted: #a1a1aa;--color-border: rgba(255, 255, 255, .12);--app-bg: #000000;--bg: var(--bg-main);--bg-soft: #0a0a0a;--panel: rgba(10, 10, 10, .92);--panel-strong: rgba(17, 17, 17, .98);--border: var(--color-border);--sidebar-bg: #000000;--assistant-bg: #000000;--nav-active-bg: rgba(255, 255, 255, .1);--text: var(--color-text-main);--muted: var(--color-text-muted);--purple: var(--color-accent);--green: var(--color-accent-secondary);--blue: var(--color-accent);--shadow: 0 24px 64px rgba(0, 0, 0, .55);--color-confirm-from: #fafafa;--color-confirm-to: #fafafa;--color-on-confirm: #000000;--color-confirm-border: rgba(255, 255, 255, .14);--color-on-accent: #000000;--red: #fb7185;--btn-primary-bg: #fafafa;--btn-primary-bg-hover: #e4e4e7;--btn-primary-fg: #000000;--btn-primary-border: rgba(255, 255, 255, .08);--btn-primary-shadow: 0 10px 28px rgba(0, 0, 0, .45);--btn-secondary-bg: transparent;--btn-secondary-fg: #fafafa;--btn-secondary-border: rgba(255, 255, 255, .16);--btn-focus-ring: rgba(255, 255, 255, .28);--field-border: var(--btn-secondary-border);--field-focus-border: rgba(255, 255, 255, .52);--field-focus-shadow: 0 0 0 4px rgba(255, 255, 255, .22)}body.theme-clean.theme-light{--border-radius-base: 8px;--border-radius-button: 10px;--border-radius-card: 12px;--border-radius: var(--border-radius-base);--bg-main: #ffffff;--surface-card: #ffffff;--surface-card-strong: #fafafa;--color-accent: #18181b;--color-accent-secondary: #52525b;--color-text-main: #09090b;--color-text-muted: #71717a;--color-border: rgba(9, 9, 11, .16);--app-bg: #ffffff;--bg: var(--bg-main);--bg-soft: #fafafa;--panel: #ffffff;--panel-strong: #ffffff;--border: rgba(9, 9, 11, .16);--sidebar-bg: #ffffff;--assistant-bg: #ffffff;--nav-active-bg: rgba(9, 9, 11, .06);--text: var(--color-text-main);--muted: var(--color-text-muted);--purple: var(--color-accent);--green: var(--color-accent-secondary);--blue: var(--color-accent);--shadow: none;--panel-shadow: none;--panel-shadow-nested: none;--chrome-shadow: none;--color-confirm-from: #18181b;--color-confirm-to: #18181b;--color-on-confirm: #fafafa;--color-confirm-border: rgba(9, 9, 11, .1);--color-on-accent: #fafafa;--red: #dc2626;--btn-primary-bg: #18181b;--btn-primary-bg-hover: #27272a;--btn-primary-fg: #fafafa;--btn-primary-border: rgba(9, 9, 11, .14);--btn-primary-shadow: none;--btn-secondary-bg: #ffffff;--btn-secondary-fg: #18181b;--btn-secondary-border: rgba(9, 9, 11, .18);--btn-focus-ring: rgba(9, 9, 11, .18);--field-border: rgba(9, 9, 11, .16);--field-focus-border: rgba(9, 9, 11, .42);--field-focus-shadow: 0 0 0 4px var(--btn-focus-ring)}body.theme-clean .segmented-control{background:color-mix(in srgb,var(--btn-secondary-fg) 7%,transparent)}body.theme-clean .glass-panel:hover{border-color:var(--border)}:root[data-theme=light]{color-scheme:light;--app-bg: radial-gradient(circle at 18% 18%, rgba(125, 211, 252, .22), transparent 30rem), radial-gradient(circle at 84% 12%, rgba(186, 230, 253, .18), transparent 24rem), linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 48%, #ffffff 100%);--bg: #f0f9ff;--bg-soft: #e0f2fe;--panel: rgba(255, 255, 255, .82);--panel-strong: rgba(255, 255, 255, .96);--border: rgba(125, 211, 252, .32);--sidebar-bg: rgba(240, 249, 255, .96);--assistant-bg: rgba(255, 255, 255, .98);--nav-active-bg: rgba(56, 189, 248, .22);--text: #0c4a6e;--muted: #0369a1;--purple: #5d4ee6;--brand-gold: #b8942b;--pink: #d93d75;--green: #18875a;--red: #d33b52;--blue: #256fca;--shadow: 0 16px 48px rgba(125, 211, 252, .24);--color-confirm-from: #bbf7d0;--color-confirm-to: #16a34a;--color-on-confirm: #052e16;--color-confirm-border: rgba(22, 163, 74, .35)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--app-bg);color:var(--text);font-family:var(--font-sans)}app-root{display:block;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.glass-panel{background:linear-gradient(145deg,var(--panel-strong),var(--panel));border:var(--border-standard);border-radius:var(--border-radius-card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.glass-panel:hover{border-color:color-mix(in srgb,var(--color-accent) 32%,var(--border))}.app-panel{min-width:0;box-sizing:border-box;border-radius:var(--border-radius-card);border:var(--border-standard);background:linear-gradient(145deg,var(--panel-strong),var(--panel));box-shadow:0 1px 2px color-mix(in srgb,var(--text) 10%,transparent),0 6px 20px color-mix(in srgb,var(--text) 6%,transparent)}body.theme-light{--panel-shadow: 0 1px 2px color-mix(in srgb, var(--color-accent) 6%, transparent), 0 6px 20px color-mix(in srgb, var(--color-accent) 8%, transparent);--panel-shadow-nested: 0 1px 3px color-mix(in srgb, var(--color-accent) 5%, transparent);--chrome-shadow: 8px 0 32px color-mix(in srgb, var(--color-accent) 7%, transparent)}body.theme-light .app-panel,body.theme-light .auth-card.auth-card--clean{box-shadow:var(--panel-shadow)}body.theme-dark .app-panel{box-shadow:0 1px 2px #0003,0 8px 24px #0000001f}.app-panel--nested{background:color-mix(in srgb,var(--panel-strong) 72%,var(--panel));box-shadow:0 1px 3px color-mix(in srgb,var(--text) 6%,transparent)}body.theme-light .app-panel--nested{box-shadow:var(--panel-shadow-nested)}body.theme-clean.theme-light .app-panel,body.theme-clean.theme-light .app-panel--nested,body.theme-clean.theme-light .auth-card.auth-card--clean,body.theme-clean.theme-light .glass-panel,body.theme-clean.theme-light .sidebar{box-shadow:none}body.theme-dark .app-panel--nested{box-shadow:0 1px 3px #00000024}.auth-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.7fr);gap:24px;min-height:100vh;padding:40px;align-items:center}.auth-hero,.auth-card{padding:34px}.auth-hero h1,.page-heading h1,.welcome-card h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,4rem);line-height:1}.auth-hero p,.page-heading p,.welcome-card p,.muted{color:var(--muted)}.app-logo{display:block;flex-shrink:0;object-fit:contain;filter:brightness(0) invert(1)}body.theme-light .app-logo{filter:none}.app-logo--sm{width:24px;height:24px}.app-logo--md{width:26px;height:26px}.app-logo--lg{width:38px;height:38px}.app-logo--xl{width:46px;height:46px}.app-logo--xxl{width:clamp(72px,20vw,200px);height:clamp(72px,20vw,200px)}.app-logo--brand{width:32px;height:32px}.app-logo--framed{box-sizing:border-box;width:52px;height:52px;padding:10px;border-radius:var(--border-radius-card);border:var(--border-standard);background-color:color-mix(in srgb,var(--surface-card) 88%,var(--muted) 4%)}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--purple),#4033a7);color:#fff;font-weight:800}.avatar:has(img){padding:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.hero-metrics{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-metrics span,.assistant-status span,.legend{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:8px 12px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:#ffffff0d;border-radius:16px}.segmented-control button,.ghost-button,.icon-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:var(--btn-rect-height-md);min-height:var(--btn-rect-height-md);max-height:var(--btn-rect-height-md);padding-block:0;padding-inline:var(--btn-rect-padding-x-md);font-size:var(--btn-rect-font-size-md);font-weight:var(--btn-rect-font-weight);line-height:1;border-style:solid;border-width:var(--border-width);border-color:var(--btn-secondary-border);border-radius:var(--border-radius-button, 14px);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);transition:background-color .18s ease,border-color .18s ease,color .18s ease}.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--btn-secondary-fg) 22%,var(--btn-secondary-border));background:color-mix(in srgb,var(--btn-secondary-bg) 88%,var(--btn-secondary-fg) 6%)}.segmented-control button.active,.primary-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:var(--btn-rect-height-md);min-height:var(--btn-rect-height-md);max-height:var(--btn-rect-height-md);padding-block:0;padding-inline:var(--btn-rect-padding-x-md);font-size:var(--btn-rect-font-size-md);font-weight:var(--btn-rect-font-weight);line-height:1;gap:var(--btn-rect-gap-md);border-style:solid;border-width:var(--border-width);border-color:var(--btn-primary-border);border-radius:var(--border-radius-button, 14px);background:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--btn-primary-shadow);transition:background .18s ease,box-shadow .18s ease,transform .14s ease}.primary-button:hover:not(:disabled),.segmented-control button.active:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.primary-button:focus-visible,.segmented-control button:focus-visible{outline:none;box-shadow:var(--btn-primary-shadow),0 0 0 3px var(--btn-focus-ring)}.primary-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.6}.pill-primary{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:var(--btn-rect-height-md);min-height:var(--btn-rect-height-md);max-height:var(--btn-rect-height-md);padding-block:0;padding-inline:var(--btn-rect-padding-x-md);font-size:var(--btn-rect-font-size-md);font-weight:var(--btn-rect-font-weight);line-height:1;gap:var(--btn-rect-gap-md);flex-shrink:0;border-style:solid;border-width:var(--border-width);border-color:var(--btn-primary-border);border-radius:var(--border-radius-button);background:var(--btn-primary-bg);color:var(--btn-primary-fg);cursor:pointer;box-shadow:var(--btn-primary-shadow);transition:background .18s ease,transform .14s ease,box-shadow .18s ease}.pill-primary:hover:not(:disabled){transform:translateY(-1px);background:var(--btn-primary-bg-hover);box-shadow:var(--btn-primary-shadow)}.pill-primary:focus-visible{outline:none;box-shadow:var(--btn-primary-shadow),0 0 0 3px var(--btn-focus-ring)}.pill-primary:disabled{cursor:not-allowed;opacity:.65}a.pill-primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.form-stack{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px}.form-grid.compact{padding:0}.full-span{grid-column:1/-1}label{display:grid;gap:8px;color:var(--text);font-weight:700}input,select{width:100%;border:var(--border-standard);border-color:var(--field-border);border-radius:var(--field-radius, var(--border-radius-button));background:var(--panel-strong);color:var(--text);padding:12px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,border-radius .2s ease}input:hover:not(:disabled):not(:focus):not(:focus-visible),select:hover:not(:disabled):not(:focus):not(:focus-visible){border-color:color-mix(in srgb,var(--field-border),var(--text) 14%)}input:focus,select:focus{border-color:var(--field-focus-border);box-shadow:var(--field-focus-shadow)}.check-row{display:flex;align-items:center}.check-row input{width:auto}.form-error{color:var(--red);margin:0}.form-actions{display:flex;justify-content:flex-end;gap:12px}.auth-container{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:var(--app-bg)}.auth-container--starry:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 16% 24%,rgba(141,114,255,.3),transparent 20rem),radial-gradient(circle at 76% 18%,rgba(108,184,255,.18),transparent 18rem),radial-gradient(circle at 68% 80%,rgba(255,109,159,.16),transparent 18rem)}.auth-starry-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.auth-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(36px,5.5vw,64px);min-height:100vh;padding:clamp(28px,5vw,56px) clamp(24px,4vw,56px);align-items:center;justify-content:center;justify-items:center;box-sizing:border-box;max-width:1280px;margin-inline:auto}.auth-outlet{display:block;width:100%;max-width:420px;justify-self:center}.auth-outlet>router-outlet{display:none}.auth-outlet app-auth{display:block;width:100%}.login-context{max-width:480px;justify-self:center;text-align:center;display:grid;justify-items:center;gap:0}.login-context__brand{display:flex;justify-content:center;width:100%;margin:0 0 clamp(14px,3vw,20px)}.login-context__copy{display:grid;justify-items:center;gap:0;width:100%}.login-context h1{margin:clamp(10px,2vw,16px) 0;font-size:clamp(1.5rem,3.9vw,2.65rem);line-height:1.06}.login-context__desc{max-width:42rem;margin:12px auto 0;color:var(--muted);font-size:.95rem;line-height:1.6}.login-example-card{position:relative;z-index:1;overflow:hidden;padding:0;background:#0f1727f0;border:1px solid rgba(166,180,214,.2);box-shadow:0 32px 90px #00000073}.auth-card.auth-card--clean{position:relative;z-index:1;box-sizing:border-box;overflow:hidden;padding:0;border-radius:var(--border-radius-card);border:var(--border-standard);background:linear-gradient(145deg,var(--panel-strong),var(--panel));box-shadow:0 1px 2px color-mix(in srgb,var(--text) 10%,transparent),0 6px 20px color-mix(in srgb,var(--text) 6%,transparent)}body.theme-dark .auth-card.auth-card--clean{box-shadow:0 1px 2px #0003,0 8px 24px #0000001f}.auth-clean-header{display:grid;gap:8px;justify-items:center;padding:clamp(22px,4vw,28px) 24px 14px;text-align:center}.auth-clean-brand-title{margin:0;font-size:1.28rem;font-weight:800;letter-spacing:-.035em;color:var(--text);line-height:1.18}.auth-clean-brand-sep{font-weight:700;color:color-mix(in srgb,var(--muted) 76%,var(--text) 24%)}.auth-clean-title{margin:0;font-size:1.28rem;font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1.1}.auth-clean-sub{margin:0;max-width:26rem;font-size:.87rem;line-height:1.52;color:var(--muted)}.auth-clean-mode-switch{padding:0 28px;margin-top:4px;margin-bottom:4px}.auth-card--clean .auth-form:before{display:none}.auth-card--clean .auth-form-group:last-of-type app-form-field:last-child .form-field-root{margin-bottom:0}.auth-card--clean .auth-inline-api-error{margin:0 0 10px;padding:0;border:0;background:transparent;box-shadow:none;font-size:.875rem;font-weight:800;line-height:1.42;color:var(--red);text-align:start;align-self:stretch}.auth-card--clean .auth-link{color:color-mix(in srgb,var(--text) 72%,var(--muted) 28%);text-decoration:underline;text-underline-offset:2px;font-weight:700}.auth-card--clean .auth-link:hover{color:var(--text)}.auth-card--clean .auth-footer{border-top-color:var(--border)}.auth-card--clean .auth-divider{color:var(--muted)}.auth-card--otp{min-height:min(428px,78vh)}.auth-pane[hidden]{display:none!important}.auth-channel-tabs{display:flex;gap:8px;padding:0 28px 12px;justify-content:center}.auth-channel-tab{flex:1;max-width:160px;padding:10px 12px;border-radius:12px;border:var(--border-standard);background:color-mix(in srgb,var(--surface-muted, transparent) 35%,transparent);color:var(--text);font:inherit;font-weight:700;font-size:.875rem;cursor:pointer}.auth-channel-tab--active{border-color:color-mix(in srgb,var(--btn-primary-bg, #6366f1) 52%,var(--border));background:color-mix(in srgb,var(--btn-primary-bg, #6366f1) 14%,transparent)}.auth-channel-tab:not(.auth-channel-tab--active){opacity:.78}.auth-channel-tab:focus-visible{outline:2px solid var(--btn-focus-ring, #60a5fa);outline-offset:2px}.auth-field-hint-error{display:block;margin:-6px 28px 10px;font-size:.855rem;color:color-mix(in srgb,var(--red) 75%,var(--text))}.auth-header{position:relative;overflow:hidden;display:grid;justify-items:center;gap:10px;padding:34px 30px 28px;text-align:center;background:linear-gradient(135deg,#5f49d8,#8d72ff 48%,#ff6d9f)}.auth-header:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.12) 0%,transparent 50%);animation:login-glow 15s ease-in-out infinite;pointer-events:none}.auth-icon{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#ffffff2e;color:#fff;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff3d}.auth-title,.auth-subtitle{position:relative;z-index:1;margin:0}.auth-title{font-size:1.7rem}.auth-subtitle{color:#ffffffc7}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 28px 0;padding:6px;border-radius:16px;background:#ffffff0d}.auth-mode-switch button{border:0;border-radius:12px;background:transparent;color:var(--muted);padding:10px;font-weight:800}.auth-mode-switch button.active{background:#8d72ff33;color:var(--text)}.auth-form{position:relative;display:grid;gap:18px;padding:28px}.auth-form:before{content:"";position:absolute;inset:18px;z-index:-1;border-radius:22px;background:#8d72ff0f;opacity:0;transition:opacity .18s ease}.auth-form:focus-within:before{opacity:1}.auth-form-group{display:grid;gap:8px}.auth-form-group label{color:#e6ebfb;font-size:.92rem}.auth-input{border-radius:14px;background:#060a14c7;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.auth-input:focus{transform:translateY(-1px);box-shadow:0 0 0 3px #8d72ff29,0 8px 18px #00000038}.auth-field-error{color:var(--red)}.auth-alert{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px}.auth-alert-error{background:#ff71851f;color:#ffb7c2}.auth-alert-info{background:#8d72ff1f;color:var(--muted)}.router-link-submit{margin-top:12px;text-decoration:none;box-sizing:border-box}.auth-forgot-wrap{display:flex;justify-content:flex-end;margin:-6px 0 6px}.auth-footer.auth-footer--compact{border-top:none;padding-top:8px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px}.auth-resend-hint{font-size:.875rem;font-weight:600;color:var(--muted);text-align:center}.auth-alert-icon{flex:0 0 auto;width:20px;height:20px}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--btn-primary-border);border-radius:var(--border-radius-button, 14px);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:900;padding:14px 16px;box-shadow:var(--btn-primary-shadow);transition:background .18s ease}.auth-submit:hover:not(:disabled){background:var(--btn-primary-bg-hover)}.auth-submit:focus-visible{outline:none;box-shadow:var(--btn-primary-shadow),0 0 0 3px var(--btn-focus-ring)}.auth-submit:disabled{cursor:not-allowed;filter:grayscale(.65);opacity:.65}.auth-divider{display:flex;align-items:center;gap:12px;padding:0 28px;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-google{display:grid;justify-items:center;gap:10px;padding:16px 28px 22px;text-align:center}.auth-google-button{box-sizing:border-box;display:flex;width:100%;max-width:400px;align-items:center;justify-content:center}.auth-google-button iframe{max-width:100%}.auth-google small{color:var(--muted)}.auth-footer{display:flex;justify-content:center;border-top:1px solid var(--border);padding:18px 28px 24px}.auth-link{border:0;background:transparent;color:#c6b8ff;font-weight:800}@keyframes login-glow{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.05)}}@keyframes particles-drift{0%{transform:translateZ(0)}to{transform:translate3d(-120px,-120px,0)}}@keyframes particles-pulse{0%,to{transform:scale(1);opacity:.32}50%{transform:scale(1.04);opacity:.48}}.app-shell{isolation:isolate;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;padding:0;gap:0;background:var(--app-bg)}.app-shell--fullscreen{display:block;padding:0}.app-shell--fullscreen .main-panel{padding:0}body:has(.app-shell--drawer-open){overflow:hidden}.sidebar{position:sticky;top:0;z-index:2;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--shell-chrome-border);background:var(--shell-chrome-bg);color:var(--shell-chrome-text);padding:14px 10px;box-shadow:var(--chrome-shadow, 12px 0 40px rgba(0, 0, 0, .18))}.sidebar-header{display:flex;align-items:center;width:100%;min-height:40px;padding:0 2px}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--shell-chrome-text);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.sidebar-brand:hover{color:var(--shell-chrome-muted)}.sidebar-brand__name{min-width:0}.sidebar-label{overflow:hidden;white-space:nowrap}.sidebar-action{border:0;border-radius:999px;background:transparent;color:var(--shell-chrome-text)}.sidebar-action:hover{background:var(--shell-chrome-surface-hover)}.sidebar-round-icon-btn.active{background:var(--shell-chrome-surface-hover);color:var(--shell-chrome-text)}.sidebar-round-icon-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;flex-shrink:0}a.sidebar-round-icon-btn{text-decoration:none;color:inherit}.sidebar-round-icon-btn i{font-size:.94rem;line-height:1;opacity:.9}.menu-glyph,.menu-glyph:before,.menu-glyph:after{display:block;width:16px;height:2px;border-radius:999px;background:currentColor}.menu-glyph{position:relative}.menu-glyph:before,.menu-glyph:after{content:"";position:absolute;left:0}.menu-glyph:before{top:-5px}.menu-glyph:after{top:5px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.nav-list{display:grid;gap:2px;margin-top:16px;width:100%}.nav-list a{display:flex;align-items:center;gap:14px;min-height:38px;color:var(--shell-chrome-muted);border-radius:999px;padding:9px 12px;font-size:.88rem;font-weight:600;transition:background .14s ease,color .14s ease}.nav-icon{display:grid;flex:0 0 auto;place-items:center;width:26px;height:26px;border-radius:8px;background:transparent;color:inherit;opacity:.85}.nav-icon i{font-size:.94rem;line-height:1}.nav-list a.active .nav-icon,.nav-list a:hover .nav-icon{opacity:1}.nav-list a.active,.nav-list a:hover{background:var(--shell-chrome-surface-hover);color:var(--shell-chrome-text)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group__trigger{display:flex;align-items:center;gap:14px;width:100%;min-height:38px;padding:9px 12px;border:none;border-radius:999px;background:transparent;color:var(--shell-chrome-muted);font-family:inherit;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease}.nav-group__trigger:hover,.nav-group--active>.nav-group__trigger{background:var(--shell-chrome-surface-hover);color:var(--shell-chrome-text)}.nav-group__trigger:hover .nav-icon,.nav-group--active>.nav-group__trigger .nav-icon{opacity:1}.nav-group__chevron{display:grid;place-items:center;margin-left:auto;width:18px;height:18px;opacity:.72;transition:transform .14s ease}.nav-group__chevron i{font-size:.68rem;line-height:1}.nav-group--open .nav-group__chevron{transform:rotate(180deg)}.nav-group__menu{display:flex;flex-direction:column;gap:2px;padding-left:10px}.nav-group__menu a{padding-left:16px;font-size:.84rem}.sidebar-footer{margin-top:auto}.sidebar-footer__identity{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.sidebar-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;font-size:.72rem;background:var(--shell-chrome-surface);color:var(--shell-chrome-text)}.sidebar-user{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.sidebar-user__name{line-height:1.25}.sidebar-user__plan{font-size:.75rem;font-weight:600;line-height:1.2;color:var(--shell-chrome-muted)}.main-panel{--chat-panel-width: var(--dashboard-chat-panel-width);position:relative;z-index:1;min-width:0;min-height:100vh;padding:18px clamp(18px,2.4vw,30px) 28px}.app-shell--chat-route .main-panel{padding-right:calc(var(--chat-panel-width) + clamp(18px,2.4vw,30px));padding-top:12px;padding-bottom:12px}html:has(app-chat-expanded),body:has(app-chat-expanded){overflow:hidden;height:100%}.main-panel:has(app-chat-expanded){box-sizing:border-box;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--app-bg);color:var(--text)}.main-panel:has(app-chat-expanded) .shell-outlet{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.main-panel:has(app-chat-expanded) app-chat-expanded{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}@media(max-width:1180px){.main-panel:has(app-chat-expanded){height:calc(100dvh - var(--shell-topbar-height, 56px));max-height:calc(100dvh - var(--shell-topbar-height, 56px))}}.welcome-card,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title h2,.auth-card h2{margin:0}.eyebrow{margin:0;color:var(--purple);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.main-content-horizontal,.content-page{box-sizing:border-box;width:min(1180px,100% - 32px);margin-inline:auto}@media(max-width:640px){.main-content-horizontal,.content-page{width:min(100% - 20px,1180px)}}.content-page,.dashboard-layout{display:grid;gap:18px}.content-page{padding:clamp(28px,5vw,56px) 0}@media(max-width:640px){.content-page{padding-block:22px}}.narrow-page{max-width:920px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.dashboard-main{display:grid;gap:18px}.metric-grid,.goal-grid,.result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card,.goal-card,.chart-card,.assistant-panel,.result-panel,.two-column>.glass-panel{padding:20px}.metric-card{display:grid;gap:8px}.metric-card span,.metric-card small,.goal-card p,.projection-row span,.list-row small{color:var(--muted)}.metric-card strong{font-size:1.8rem}.success{color:var(--green)}.danger{color:var(--red)}.accent{color:var(--purple)}.chart-surface{margin-top:18px;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#ffffff0a,#ffffff03)}.chart-surface svg{display:block;width:100%}.grid-line{stroke:#ffffff14;stroke-width:1}.income-area{fill:url(#incomeFill)}.expense-area{fill:url(#expenseFill)}.income-line,.expense-line{fill:none;stroke-width:4;stroke-linecap:round}.income-line{stroke:var(--purple)}.expense-line{stroke:var(--pink)}.dot{display:inline-block;width:8px;height:8px;margin-left:10px;border-radius:50%}.dot.income{background:var(--purple)}.dot.expense{background:var(--pink)}.goal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.goal-card span{color:var(--purple);font-weight:900}.progress-track{height:6px;overflow:hidden;border-radius:999px;background:#ffffff1a}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#c8b8ff)}.assistant-panel{position:fixed;inset:0 0 0 auto;z-index:10;width:360px;min-height:100vh;overflow-y:auto;border:0;border-radius:0;background:var(--assistant-bg);box-shadow:none;padding:20px}.chat-thread{display:grid;gap:12px;margin-top:22px}.message{border-radius:18px;padding:14px;color:#e8ecfb;background:#ffffff0f}.message.user{margin-left:26px;background:#ffffff1a}.message.bot{margin-right:26px}.message.highlight{border:1px solid rgba(141,114,255,.34)}.chat-markdown{overflow-wrap:anywhere}.chat-markdown:has(table){overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.chat-markdown:has(table)::-webkit-scrollbar{display:none}.chat-markdown p,.chat-markdown ul,.chat-markdown ol,.chat-markdown pre,.chat-markdown blockquote,.chat-markdown table{margin:0 0 .75rem}.chat-markdown p:last-child,.chat-markdown ul:last-child,.chat-markdown ol:last-child,.chat-markdown pre:last-child,.chat-markdown blockquote:last-child,.chat-markdown table:last-child{margin-bottom:0}.chat-markdown ul,.chat-markdown ol{padding-left:1.5rem}.chat-markdown ul{list-style-type:disc}.chat-markdown ol{list-style-type:decimal}.chat-markdown strong{font-weight:600;color:var(--blue)}.chat-markdown em{font-style:italic}.chat-markdown code{border-radius:4px;background:#0206176b;padding:.08rem .28rem;font-size:.92em}.chat-markdown pre{overflow-x:auto;border-radius:6px;background:#02061794;padding:10px 12px;scrollbar-width:none;-ms-overflow-style:none}.chat-markdown pre::-webkit-scrollbar{display:none}.chat-markdown pre code{background:transparent;padding:0}.chat-markdown a{color:var(--blue);font-weight:700}.chat-markdown blockquote{border-left:3px solid rgba(108,184,255,.5);color:var(--muted);padding-left:.75rem}.chat-markdown table{border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%;max-width:100%;font-size:.9rem;line-height:1.45;table-layout:auto;background:color-mix(in srgb,var(--bg-soft) 48%,transparent);border:1px solid var(--border);border-radius:8px;overflow:hidden}.chat-markdown thead{position:sticky;top:0;z-index:1}.chat-markdown th,.chat-markdown td{border:1px solid var(--border);padding:.55rem .75rem;text-align:left;vertical-align:top}.chat-markdown th{background:color-mix(in srgb,var(--bg-soft) 72%,var(--text) 10%);font-weight:600;color:var(--text);white-space:normal;word-break:break-word}.chat-markdown td{word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.chat-markdown tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--text) 5%,transparent)}.chat-markdown tbody tr:hover td{background:color-mix(in srgb,var(--blue) 14%,transparent)}.chat-markdown caption{caption-side:top;padding:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--muted);text-align:left}.assistant-status{display:grid;gap:10px;margin-top:24px}.two-column,.simulation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lists{align-items:start}.table-list,.explanation-list,.projection-list{display:grid;gap:10px;margin-top:16px}.list-row,.projection-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;border-top:1px solid var(--border);padding-top:10px}.projection-row{grid-template-columns:1fr auto}.risk-badge{display:inline-flex;width:fit-content;margin-bottom:16px;border-radius:999px;padding:8px 12px;font-weight:800}.risk-badge.low{background:#66e0a329;color:var(--green)}.risk-badge.medium{background:#ffc75f29;color:#ffc75f}.risk-badge.high{background:#ff718529;color:var(--red)}.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.result-metrics span{display:grid;gap:6px;border:1px solid var(--border);border-radius:16px;padding:14px}.result-metrics small{color:var(--muted)}.empty-state{display:grid;min-height:360px;place-items:center;text-align:center}.empty-state span{display:grid;place-items:center;width:64px;height:64px;border-radius:24px;background:#8d72ff29;color:var(--purple);font-weight:900}@media(max-width:1180px){.app-shell--chat-route .main-panel{padding-right:clamp(18px,2.4vw,30px);padding-top:12px;padding-bottom:12px}}@media(max-width:1180px){.dashboard-layout,.simulation-grid,.two-column{grid-template-columns:1fr}.assistant-panel{position:static;width:auto;min-height:auto}}@media(max-width:820px){.auth-page,.auth-content{grid-template-columns:1fr;align-items:start;align-content:start;gap:clamp(28px,7vh,52px);padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-top:calc(max(env(safe-area-inset-top),14px) + min(13vh,92px));padding-bottom:max(min(9vh,72px),env(safe-area-inset-bottom),18px);min-height:100svh;box-sizing:border-box}.login-context__copy{display:none!important}.login-context{display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;margin:0}.login-context__brand{margin-bottom:0}.auth-outlet{justify-self:stretch;width:100%;max-width:none}.auth-card.auth-card--clean.auth-card--otp{width:100%;max-width:100%;min-height:auto;border-radius:min(18px,6vw);box-sizing:border-box}.auth-card--clean .auth-clean-header{padding:clamp(18px,4vw,24px) clamp(14px,4.5vw,20px) 12px}.auth-channel-tabs{padding:0 clamp(14px,4.5vw,20px) 12px}.auth-card--clean .auth-form{padding:clamp(14px,4vw,20px) clamp(14px,4.5vw,20px);gap:16px}.auth-field-hint-error{margin:-6px clamp(14px,4.5vw,20px) 10px}.auth-divider{padding:0 clamp(14px,4.5vw,20px)}.auth-google{padding:14px clamp(14px,4.5vw,20px) 20px}.auth-footer{padding:16px clamp(14px,4.5vw,20px) 20px}.metric-grid,.goal-grid,.form-grid{grid-template-columns:1fr}.welcome-card,.section-title,.form-actions{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.auth-header:before,.auth-input{animation:none;transition:none}.auth-input:focus{transform:none}}
