:root{--bg-primary:#0a0a0b;--bg-secondary:#111113;--bg-tertiary:#18181b;--bg-elevated:#1f1f23;--bg-overlay:#000c;--surface-1:#18181b;--surface-2:#1f1f23;--surface-3:#27272a;--surface-hover:#2e2e33;--surface-active:#3f3f46;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff26;--border-focus:var(--brand);--border-1:#2a2f36;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-disabled:#52525b;--text-inverse:#09090b;--text-1:#eaecef;--text-2:#aeb6c2;--text-3:#7a8494;--brand:#7c3aed;--brand-primary:#7c3aed;--brand-primary-hover:#6d28d9;--brand-primary-active:#5b21b6;--brand-secondary:#6d28d9;--brand-rgb:124,58,237;--brand-gradient:linear-gradient(135deg,#7c3aed,#6d28d9);--brand-gradient-warm:linear-gradient(135deg,#a78bfa,#7c3aed);--brand-muted:#7c3aed1f;--brand-muted-border:#7c3aed40;--focus-ring:0 0 0 3px #7c3aed14;--text-accent:#ddd6fe;--success:#22c55e;--success-muted:#22c55e26;--warning:#f59e0b;--warning-muted:#f59e0b26;--error:#ef4444;--error-rgb:239,68,68;--error-muted:#ef444426;--text-on-brand:#fff;--info:#3b82f6;--info-muted:#3b82f626;--danger:#ef4444;--accent:#22c55e;--gain:#22c55e;--gain-bg:#22c55e1a;--loss:#f87171;--loss-bg:#f871711a;--font-sans:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--text-2xs:0.625rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-display:clamp(1.75rem,2.6vw,2.5rem);--text-title:clamp(1.25rem,2.2vw,1.75rem);--text-body:var(--text-base);--text-caption:var(--text-sm);--text-display-compact:1.5rem;--text-title-compact:1.25rem;--text-body-compact:0.9375rem;--text-control:var(--text-sm);--page-pad-x:var(--space-3);--page-pad-y:var(--space-4);--card-pad:var(--space-3);--card-gap:var(--space-2);--control-height:2.75rem;--control-pad-x:var(--space-3);--control-gap:var(--space-2);--control-action-width:4.5rem;--sidebar-width:300px;--icon-control:var(--text-xl);--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--radius:14px;--radius-1:8px;--radius-2:12px;--radius-round:9999px;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 8px 16px #0006;--shadow-xl:0 16px 32px #00000080;--shadow-glow:0 0 20px rgba(var(--brand-rgb),0.3);--shadow-inner:inset 0 2px 4px #0000004d;--shadow-1:0 2px 12px #00000059;--shadow-2:0 12px 32px #00000073,0 1px 0 #ffffff08 inset;--duration-instant:50ms;--duration-fast:100ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:500ms;--anim-fast:100ms;--anim-std:200ms;--anim-slow:300ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--z-max:9999;--z-topbar:50;--z-floating:60;--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--chart-height:240px;--bg:var(--bg-primary);--color-bg:var(--bg-primary);--color-panel:var(--surface-2);--color-elevated:var(--surface-3);--color-border:var(--border-1);--color-text:var(--text-1);--color-text-muted:var(--text-2);--color-accent:var(--brand);--color-gold:#f5c044;--color-gold-2:#d4a017;--color-accent-2:var(--color-gold-2);--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--danger)}@media (prefers-color-scheme:light){:root{--bg-primary:#f7f8fa;--bg-secondary:#fff;--bg-tertiary:#f2f4f7;--bg-elevated:#fff;--bg-overlay:#00000080;--surface-1:#fff;--surface-2:#f2f4f7;--surface-3:#e9edf3;--surface-hover:#e5e7eb;--surface-active:#d1d5db;--border-subtle:#0000000f;--border-default:#0000001a;--border-strong:#00000026;--border-focus:var(--brand);--border-1:#d5d9e2;--text-primary:#0b0c0e;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-disabled:#d1d5db;--text-inverse:#fff;--text-1:#0b0c0e;--text-2:#263042;--text-3:#5a6576;--brand:#7c3aed;--brand-primary:#7c3aed;--brand-primary-hover:#6d28d9;--brand-primary-active:#5b21b6;--brand-rgb:124,58,237;--brand-gradient:linear-gradient(135deg,#7c3aed,#6d28d9);--brand-gradient-warm:linear-gradient(135deg,#a78bfa,#7c3aed);--brand-muted:#7c3aed14;--brand-muted-border:#7c3aed33;--focus-ring:0 0 0 3px #7c3aed0f;--text-accent:#7c3aed;--accent:#22c55e;--success:#16a34a;--gain:#16a34a;--gain-bg:#16a34a1a;--loss:#dc2626;--loss-bg:#dc26261a;--danger:#dc2626;--error:#dc2626;--shadow-1:0 2px 12px #00000014;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--bg:var(--bg-primary);--color-bg:var(--bg-primary);--color-panel:var(--surface-2);--color-elevated:var(--surface-3);--color-border:var(--border-1);--color-text:var(--text-1);--color-text-muted:var(--text-2);--color-accent:var(--brand)}}@media (min-width:360px){:root{--text-display-compact:var(--text-display);--text-title-compact:var(--text-title);--text-body-compact:var(--text-body);--text-control:var(--text-body);--page-pad-x:var(--space-4);--page-pad-y:var(--space-5);--card-pad:var(--space-4);--card-gap:var(--space-3);--control-height:3rem;--control-pad-x:var(--space-4);--control-gap:var(--space-3);--control-action-width:5.75rem;--sidebar-width:360px;--icon-control:var(--text-2xl)}}@media (min-width:480px){:root{--chart-height:280px}}@media (min-width:640px){:root{--chart-height:300px}}@media (min-width:768px){:root{--page-pad-x:var(--space-6);--page-pad-y:var(--space-6);--card-pad:var(--space-5);--card-gap:var(--space-4);--control-action-width:6.25rem;--chart-height:320px}}*{box-sizing:border-box}#root,body,html{height:100%;width:100%}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);margin:0;min-height:100%;overflow-x:hidden}:focus{outline:none}:focus-visible{border-radius:4px;outline:2px solid var(--brand);outline-offset:2px}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn:focus-visible,button:focus-visible{box-shadow:0 0 0 4px rgba(var(--brand-rgb),.2);outline:3px solid var(--brand);outline-offset:2px}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:active,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-1)!important;box-shadow:0 0 0 1000px var(--surface-1) inset!important;caret-color:var(--text-1)}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);outline:2px solid var(--brand);outline-offset:0}a:focus-visible{border-radius:2px;box-shadow:0 0 0 4px rgba(var(--brand-rgb),.15);outline:2px solid var(--brand);outline-offset:2px}:root{--app-height:100vh;--header-h:44px;--footer-h:0px}@supports (height:100svh){:root{--app-height:100svh}}@supports (height:100dvh){:root{--app-height:100dvh}}#root,.app{display:flex;flex-direction:column;min-height:100vh;min-height:var(--app-height);overflow:hidden;width:100%}.app{min-width:0}.app__header{height:44px;height:var(--header-h)}.app__main{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;min-width:0}.sidebar{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;background:var(--surface-2);border-radius:0;border-right:none;bottom:0;box-shadow:none;height:100vh;height:var(--app-height);left:0;max-width:100vw;min-height:0;opacity:0;overflow-y:auto;overscroll-behavior:contain;padding:0;pointer-events:none;position:fixed;scrollbar-width:none;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;width:100vw;z-index:1000}.sidebar::-webkit-scrollbar{display:none!important;height:0!important;width:0!important}.content{background:var(--bg);min-width:0}.content,.content__body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.content__scroll{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--page-pad-y) var(--page-pad-x) 0;scroll-behavior:auto;touch-action:pan-y}.content__composer{align-items:stretch;background:var(--bg);display:flex;margin:0;padding:0 0 env(safe-area-inset-bottom,0)}.content__composer>.inputbar{border-radius:0;width:100%}.mobile-history-toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--surface-1);border:2px solid var(--border-1);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-1);cursor:pointer;display:inline-flex;font-size:var(--text-lg);height:36px;justify-content:center;left:12px;padding:0;position:fixed;top:12px;transition:all var(--anim-fast) ease;width:36px;z-index:1001}.mobile-history-toggle:hover{background:var(--surface-2);border-color:var(--brand);box-shadow:0 4px 12px rgba(var(--brand-rgb),.2);transform:translateY(-2px)}.mobile-history-toggle:active{box-shadow:0 2px 6px #0000001a;transform:translateY(0)}.app[data-history-open=true] .sidebar{animation:slideInLeft .3s ease;opacity:1;pointer-events:auto;transform:translateX(0)}.app[data-history-open=true] .mobile-history-toggle{opacity:0;pointer-events:none}.app[data-history-open=true] .content{filter:blur(2px);pointer-events:none}.app-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s ease;z-index:999}.app[data-history-open=true] .app-backdrop{opacity:1;pointer-events:auto}@media (min-width:480px){.content__scroll{padding:var(--page-pad-y) var(--page-pad-x) 0}}@media (min-width:768px){.content__scroll{padding:var(--page-pad-y) var(--page-pad-x) 0}}@media (min-width:1024px){.app__main{flex-direction:row}.sidebar{border-right:1px solid var(--border-1);box-shadow:none;height:auto;max-width:280px;opacity:1;pointer-events:auto;position:relative;transform:none;width:280px}.app-backdrop,.mobile-history-toggle{display:none}.app[data-history-open=true] .content{filter:none;pointer-events:auto}}.border,.panel{border:1px solid var(--border-default)}.panel{-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);background:var(--surface-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.elevated{background:var(--surface-3);box-shadow:var(--shadow-md)}.muted{color:var(--text-secondary)}.row{align-items:center}.col,.row{display:flex;gap:var(--space-3)}.col{flex-direction:column}.btn{align-items:center;background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn:active,button:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled,.btn-secondary:disabled,.btn:disabled,button:disabled{cursor:not-allowed;opacity:.6}.btn.primary{background:var(--brand-primary);border-color:#0000;color:#fff;font-weight:var(--font-semibold)}.btn.primary:hover{background:var(--brand-primary-hover)}.btn-secondary{background:var(--surface-1);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{border:1px solid #0000}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-ghost.danger{color:var(--error)}.btn-ghost.danger:hover{background:var(--error-muted)}:where(button,[role=button],a,input,summary):focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--brand-primary);outline-offset:2px}.toasts{bottom:88px;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;position:fixed;right:var(--space-4);z-index:var(--z-toast)}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.text-display{font-size:var(--text-display);font-weight:var(--font-bold);letter-spacing:-.02em;line-height:var(--leading-tight)}.text-title{font-size:var(--text-title);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.text-body{font-size:var(--text-body)}.text-body,.text-caption{line-height:var(--leading-normal)}.text-caption{color:var(--text-secondary);font-size:var(--text-caption)}::selection{background:rgba(var(--brand-rgb),.25);color:var(--text-primary)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--surface-2);border:2px solid var(--bg-primary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutLeft{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slideOutRight{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes typingDot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes recordingPulse{0%{box-shadow:0 0 0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.skeleton-shimmer{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-1) 0,var(--surface-2) 50%,var(--surface-1) 100%);background-size:200% 100%}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.top-spacer{height:0}.app__header{align-items:center;display:flex;justify-content:center;padding:0 var(--space-4);pointer-events:none}.app__thread-title{color:var(--text-3);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:-.01em;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidepanel{background:var(--surface-2);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-2);height:100%;overflow:hidden;padding:var(--page-pad-x);padding-bottom:0;padding-top:0;position:relative}.thread-item-skeleton{box-shadow:none;cursor:default}.thread-item-skeleton:hover{background:var(--surface-1);border-color:var(--border-1);transform:none}.thread-item-skeleton .thread-row{margin-bottom:4px}.thread-item-skeleton .thread-meta-skeleton,.thread-item-skeleton .thread-preview-skeleton,.thread-item-skeleton .thread-title-skeleton{margin:0}.sidepanel-body{-ms-overflow-style:none;display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.sidepanel-body::-webkit-scrollbar{display:none!important;height:0!important;width:0!important}.sidepanel-top{background:var(--surface-2);border-bottom:1px solid var(--border-1);display:flex;flex-direction:column;gap:var(--space-2);margin:0 calc(var(--page-pad-x)*-1);padding:0 var(--page-pad-x) var(--space-3);padding-right:55px;position:sticky;top:0;z-index:2}.sidepanel-header{color:var(--text-3);font-size:var(--text-sm);font-weight:700;letter-spacing:.2px;margin:0;margin-top:calc(var(--space-3) - var(--space-1));text-transform:uppercase}.sidepanel-actions{display:flex}.sidepanel-actions .new-chat,.sidepanel-controls{margin:0}.search{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-1);color:var(--text-1);padding:var(--space-3) var(--space-3);width:100%}.filters{display:flex;gap:var(--space-2);margin:var(--space-3) 0}.filters.segmented{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-1);gap:4px;padding:4px}.filter{background:#0000;border:1px solid #0000;border-radius:var(--radius-1);color:var(--text-2);cursor:pointer;padding:6px 10px;transition:background var(--anim-std) ease,color var(--anim-std) ease}.filter.active,.filter:hover{color:var(--text-1)}.filter.active{background:var(--surface-2);border-color:var(--border-1)}.thread-list{display:flex;flex-direction:column;gap:var(--card-gap);padding:var(--space-2) 0 0}.thread-list [role=listitem]{display:contents}.thread-list .empty-state{padding:var(--space-5) var(--page-pad-x)}.thread-group-header{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-top:var(--space-2);padding:var(--space-3) var(--page-pad-x) var(--space-1);text-transform:uppercase}.thread-group-header:first-child{margin-top:0}.thread-item{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);color:var(--text-1);cursor:pointer;padding:var(--space-3) var(--page-pad-x);text-align:left;transition:all var(--anim-fast) ease}.thread-item.active,.thread-item:hover{background:var(--surface-3);border-color:var(--brand)}.thread-row{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.thread-title{color:var(--text-1);font-size:var(--text-body-compact);font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:color var(--anim-fast) ease;white-space:nowrap}.thread-item:hover .thread-title{color:var(--brand)}.thread-meta{color:var(--text-3);font-size:var(--text-xs);margin-top:-8px}.thread-preview{color:var(--text-3);font-size:var(--text-sm);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-chat{align-items:center;background:var(--brand-gradient);border:none;border-radius:var(--radius-md);color:var(--text-on-brand);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:filter var(--anim-fast) ease,box-shadow var(--anim-fast) ease;width:100%}.new-chat:hover{box-shadow:0 4px 12px rgba(var(--brand-rgb),.35);filter:brightness(1.08)}.search-row{align-items:center;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);cursor:text;display:flex;gap:var(--space-2);padding:var(--space-3) var(--page-pad-x);transition:all var(--anim-fast) ease}.search-row .icon{color:var(--text-2);display:inline-flex;transition:color var(--anim-fast) ease}.search-row .search{background:#0000;border:none;color:var(--text-1);font-size:var(--text-body-compact);padding:0;width:100%}.search-row .search:focus,.search-row .search:focus-visible{box-shadow:none;outline:none}.search-row:hover{background:var(--surface-3);border-color:var(--brand)}.search-row:hover .icon{color:var(--brand)}.search-row:focus-within{border-color:var(--border-2)}.search-row .search::placeholder{color:var(--text-1);opacity:1}.search-row .search::-webkit-input-placeholder{color:var(--text-1);opacity:1}.search-row .search::-moz-placeholder{color:var(--text-1);opacity:1}.search-row .search:-ms-input-placeholder{color:var(--text-1);opacity:1}.search-row .search:-moz-placeholder{color:var(--text-1);opacity:1}.user-drawer{background:var(--surface-2);border-top:1px solid var(--border-1);margin-left:calc(var(--page-pad-x)*-1);margin-right:calc(var(--page-pad-x)*-1);margin-top:auto;padding:var(--space-3) var(--page-pad-x) calc(var(--space-5) + env(safe-area-inset-bottom, 0));position:relative}.user-trigger{align-items:center;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);color:var(--text-1);cursor:pointer;display:flex;gap:var(--space-2);justify-content:flex-start;padding:var(--space-3) var(--page-pad-x);position:relative;transition:all var(--anim-fast) ease;width:100%;z-index:2}.user-trigger:hover{background:var(--surface-3);border-color:var(--brand)}.user-trigger .avatar{align-items:center;background:var(--surface-3);border-radius:50%;display:inline-flex;font-size:var(--text-xs);font-weight:700;height:24px;justify-content:center;width:24px}.user-trigger .user-label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-close{align-items:center;background:var(--surface-1);border:2px solid var(--border-1);border-radius:8px;box-shadow:0 2px 8px #00000026;color:var(--text-1);cursor:pointer;display:inline-flex;font-size:var(--text-lg);height:36px;justify-content:center;line-height:1;position:absolute;right:12px;top:12px;transition:all var(--anim-fast) ease;width:36px;z-index:3}.sidebar-close:hover{background:var(--surface-3);border-color:var(--brand)}.sidebar-close:active{box-shadow:0 1px 2px #0000001a}@media (min-width:1024px){.sidebar-close{display:none}}.sidebar-brand{gap:var(--space-3);height:var(--header-h);padding:0 var(--space-4)}.sidebar-brand,.sidebar-logo-mark{align-items:center;display:flex;flex-shrink:0}.sidebar-logo-mark{background:var(--brand-gradient);border-radius:var(--radius-md);color:var(--text-on-brand);font-size:var(--text-sm);font-weight:var(--font-bold);height:26px;justify-content:center;letter-spacing:-.02em;width:26px}.sidebar-wordmark{color:var(--text-1);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:-.03em}.user-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0;text-align:left}.user-sublabel{color:var(--text-3);font-size:var(--text-2xs);font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{align-items:center;color:var(--text-3);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center}.empty-state .title{color:var(--text-1);font-size:var(--text-body);font-weight:var(--font-semibold);margin:0}.empty-state .desc{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:220px}.skeleton{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40%,#f0f0f0);background-size:200% 100%;border-radius:var(--radius-sm);display:inline-block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:4px;margin-bottom:8px}.skeleton-rectangular{border-radius:var(--radius-md)}.skeleton-circular{border-radius:50%}@media (prefers-color-scheme:dark){.skeleton{background:linear-gradient(90deg,#2a2a2a,#3a3a3a 20%,#2a2a2a 40%,#2a2a2a)}}.authscreens{background:var(--bg-primary);display:flex;min-height:100svh;min-height:100dvh}.auth-brand-panel{align-items:center;background:linear-gradient(160deg,#1a0a2e 0,var(--bg-secondary) 60%);display:flex;justify-content:center;min-width:420px;overflow:hidden;padding:48px 40px;position:relative;width:420px}.auth-glow{border-radius:50%;pointer-events:none;position:absolute}.auth-glow-tl{background:radial-gradient(circle,rgba(var(--brand-rgb),.22) 0,#0000 70%);height:360px;left:-80px;top:-120px;width:360px}.auth-glow-br{background:radial-gradient(circle,rgba(var(--brand-rgb),.14) 0,#0000 70%);bottom:-80px;height:280px;right:-60px;width:280px}.auth-brand-content{max-width:320px;position:relative;width:100%;z-index:1}.auth-logo-row{align-items:center;display:flex;gap:10px;margin-bottom:40px}.auth-logo-mark{background:var(--brand-gradient);border-radius:7px;flex-shrink:0;height:26px;width:26px}.auth-wordmark{font-size:var(--text-base);letter-spacing:-.01em}.auth-headline,.auth-wordmark{color:var(--text-primary);font-weight:var(--font-bold)}.auth-headline{font-size:clamp(2rem,3vw,2.75rem);letter-spacing:-.03em;line-height:1.1;margin:0 0 16px}.auth-headline-accent{-webkit-text-fill-color:#0000;background:var(--brand-gradient-warm);-webkit-background-clip:text;background-clip:text}.auth-brand-sub{color:var(--text-tertiary);font-size:var(--text-sm);line-height:1.6;margin:0 0 28px}.auth-trust-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.auth-trust-list li{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-xs);gap:8px}.auth-trust-dot{background:var(--brand);border-radius:50%;flex-shrink:0;height:5px;width:5px}.auth-form-panel{align-items:center;background:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow-y:auto;padding:48px 40px}.auth-form-panel>form,.auth-mode-toggle{max-width:420px;width:100%}.auth-mode-toggle{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;margin-bottom:28px;padding:3px}.auth-mode-btn{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;flex:1 1;font-family:inherit;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:8px 16px;transition:background var(--anim-fast) ease,color var(--anim-fast) ease}.auth-mode-btn.active{background:var(--brand-muted);color:var(--text-accent)}@media (max-width:767px){.auth-brand-panel{display:none}.auth-form-panel{padding:32px 20px}}.login-form{grid-gap:var(--space-4);animation:fadeInUp .6s ease-out;display:grid;gap:var(--space-4);max-width:420px;width:100%}.login-form label{grid-gap:var(--space-2);display:grid;gap:var(--space-2)}.login-form .error{animation:shake .4s ease;background:rgba(var(--error-rgb),.1);border-left:3px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3) var(--space-4)}.btn-eye:active{animation:eyePulse .14s ease-out;transform:translateY(-50%)}@keyframes eyePulse{0%{box-shadow:0 0 0 0 rgba(var(--brand-rgb),.35)}to{box-shadow:0 0 0 8px rgba(var(--brand-rgb),0)}}.form-actions{display:flex;justify-content:flex-end;margin-top:calc(var(--space-2)*-1)}.form-actions.left{justify-content:flex-start}.input-group.has-icon .icon{left:10px}.input-group.has-icon .input{padding-left:36px}.btn-eye{right:8px}.input{transition:border-color .16s ease,box-shadow .16s ease}.status{opacity:0;right:34px;transform:translateY(-50%) scale(.9);transition:transform .16s ease,opacity .16s ease}.status.show{opacity:1;transform:translateY(-50%) scale(1)}.status.ok{color:#22c55e;color:var(--success,#22c55e)}.status.no{color:var(--danger)}.status.with-eye{right:34px}.fp-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:grid;inset:0;place-items:center;position:fixed;z-index:10000}.fp-modal{animation:scaleIn var(--anim-std) ease-out;background:var(--surface-1);border:1px solid var(--border-1);border-radius:0;box-shadow:0 20px 60px #0000004d;color:var(--text-1);max-width:100%;padding:var(--space-5);width:100%}.fp-modal h3{color:var(--text-1);font-size:var(--text-title-compact);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.fp-modal p{color:var(--text-2);font-size:var(--text-body-compact);line-height:var(--leading-relaxed);margin:0 0 var(--space-5) 0}.fp-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.fp-input{background:var(--surface-1);border:2px solid var(--border-1);border-radius:12px;box-shadow:0 1px 2px #0000000d;color:var(--text-1);font-size:var(--text-control);font-weight:400;line-height:var(--leading-normal);margin-bottom:var(--space-5);min-height:var(--control-height);padding:var(--space-2) var(--control-pad-x);transition:all var(--anim-fast) ease;width:100%}.fp-input:hover{border-color:var(--border-strong);box-shadow:0 1px 3px #00000014}.fp-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.12),0 1px 3px #00000014;outline:none}.btn-secondary{font-size:var(--text-control);min-height:var(--control-height);padding:var(--space-2) var(--control-pad-x)}.fp-success{background:var(--success-muted);border-left:2px solid var(--success);border:2px solid var(--success);border-left-width:4px;border-radius:var(--radius-md);font-size:var(--text-body);margin-bottom:var(--space-5);padding:var(--space-4)}.fp-error,.fp-success{color:var(--text-1);line-height:var(--leading-relaxed)}.fp-error{background:#fee;background:var(--error-muted,#fee);border:2px solid #f44;border-left:4px solid #f44;border:2px solid var(--error,#f44);border-left-width:4px;border-radius:var(--radius-md);font-size:var(--text-body-compact);padding:var(--space-3)}.fp-error,.fp-hint{margin-bottom:var(--space-4)}.fp-hint{color:#888;color:var(--text-3,#888);font-size:.875rem;font-size:var(--text-caption,.875rem);line-height:var(--leading-normal);margin-top:calc(var(--space-2)*-1)}.fp-code-input{font-feature-settings:"tnum";font-size:2rem;font-variant-numeric:tabular-nums;font-weight:var(--font-bold);letter-spacing:.5em;text-align:center}.fp-password-field{margin-bottom:var(--space-4);position:relative}.fp-password-field .fp-input{margin-bottom:0;padding-right:calc(var(--control-pad-x) + 48px)}.fp-eye-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;color:var(--text-2);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:var(--space-2);position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);transition:color var(--anim-fast) ease}.fp-eye-btn:hover{color:var(--text-1)}.fp-eye-btn:focus{border-radius:4px;outline:2px solid var(--brand);outline-offset:2px}.fp-pw-requirements{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.fp-pw-req{align-items:flex-start;gap:var(--space-2);transition:all var(--anim-fast) ease}.fp-pw-req,.fp-pw-req-icon{display:flex;font-size:.875rem;font-size:var(--text-sm,.875rem)}.fp-pw-req-icon{align-items:center;flex-shrink:0;font-weight:700;height:18px;justify-content:center;margin-top:2px;width:18px}.fp-pw-req-text{line-height:1.5}.fp-pw-req.met .fp-pw-req-icon{color:#22c55e;color:var(--success,#22c55e)}.fp-pw-req.met .fp-pw-req-text{color:#666;color:var(--text-2,#666)}.fp-pw-req.unmet .fp-pw-req-icon,.fp-pw-req.unmet .fp-pw-req-text{color:#999;color:var(--text-3,#999)}@media (min-width:480px){.fp-modal{border-radius:16px;max-width:420px;padding:var(--space-6)}}.btn-primary,.btn-secondary{-webkit-tap-highlight-color:transparent;min-height:48px}.btn-primary:active:not(:disabled),.btn-secondary:active{transform:scale(.98)}.signup-form{grid-gap:var(--space-4);animation:fadeInUp .6s ease-out;display:grid;gap:var(--space-4);max-width:420px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-form label{grid-gap:var(--space-2);display:grid;gap:var(--space-2)}.name-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr}.signup-form .error{animation:shake .4s ease;background:rgba(var(--error-rgb),.1);border-left:3px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3) var(--space-4)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.form-header{animation:fadeIn .8s ease-out;display:none;margin-bottom:var(--space-4);text-align:center}.form-header .logo{animation:scaleIn .5s ease-out;display:inline-block;height:auto;margin-bottom:var(--space-4);max-width:200px}.form-header h2{color:var(--text-1);font-size:var(--text-title-compact);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-2) 0}.form-header .subtitle{color:var(--text-2);font-size:var(--text-body-compact);line-height:1.5;margin:0}.or{color:var(--text-3);font-size:var(--text-sm);font-weight:var(--font-medium);margin:var(--space-4) 0;position:relative;text-align:center}.or:after,.or:before{background:var(--border-1);content:"";height:1px;position:absolute;top:50%;width:40%}.or:before{left:0}.or:after{right:0}.input{background:var(--surface-1);border:2px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;color:var(--text-1);font-size:var(--text-control);font-weight:var(--font-normal);line-height:var(--leading-normal);min-height:var(--control-height);padding:var(--space-2) var(--control-pad-x);transition:all var(--anim-fast) ease;width:100%}.input:hover{border-color:var(--border-strong);box-shadow:0 1px 3px #00000014}.input:focus{background:var(--surface-1);border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.12),0 1px 3px #00000014;outline:none}.input.valid,.input.valid:focus{border-color:var(--success)}.input.valid:focus{box-shadow:0 0 0 4px var(--success-muted),0 1px 3px #00000014}.input.invalid,.input.invalid:focus{border-color:var(--error)}.input.invalid:focus{box-shadow:0 0 0 4px rgba(var(--error-rgb),.12),0 1px 3px #00000014}.input-group{display:grid;position:relative}.input-group.has-icon .icon{color:var(--text-3);left:var(--control-pad-x);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--anim-fast) ease}.input-group.has-icon .input{padding-left:calc(var(--control-pad-x) + var(--space-5))}.input-group.has-icon .input:focus~.icon{color:var(--brand)}.btn-eye{background:#0000;border:0;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;padding:var(--space-2);position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all var(--anim-fast) ease}.btn-eye:hover{background:var(--surface-2);color:var(--text-1)}.status{align-items:center;animation:fadeIn .3s ease;color:var(--text-3);display:inline-flex;position:absolute;right:48px;top:50%;transform:translateY(-50%)}.status.ok{color:var(--success)}.status.no{color:var(--error)}.status.with-eye{right:48px}.pw-requirements{animation:fadeIn .3s ease;flex-direction:column;margin-top:calc(var(--space-2)*-1)}.pw-req,.pw-requirements{display:flex;gap:var(--space-2)}.pw-req{align-items:flex-start;transition:all var(--anim-fast) ease}.pw-req,.pw-req-icon{font-size:var(--text-sm)}.pw-req-icon{align-items:center;display:flex;flex-shrink:0;font-weight:700;height:18px;justify-content:center;margin-top:2px;width:18px}.pw-req-text{line-height:1.5}.pw-req.met .pw-req-icon{color:var(--success)}.pw-req.met .pw-req-text{color:var(--text-2)}.pw-req.unmet .pw-req-icon,.pw-req.unmet .pw-req-text{color:var(--text-3)}.btn-primary{border-radius:var(--radius-lg);font-size:var(--text-control);min-height:var(--control-height);overflow:hidden;padding:var(--space-2) var(--control-pad-x);position:relative;width:100%}@media (min-width:480px){.name-row{grid-template-columns:1fr 1fr}}.btn-primary:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.btn-primary:hover:not(:disabled){background:var(--brand-gradient);box-shadow:0 8px 16px rgba(var(--brand-rgb),.3);filter:brightness(1.1);transform:translateY(-2px)}.btn-primary:hover:not(:disabled):before{height:300px;width:300px}.btn-primary:active:not(:disabled){box-shadow:0 2px 8px rgba(var(--brand-rgb),.2);transform:translateY(0)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.form-footer{border-top:1px solid var(--border-1);color:var(--text-2);font-size:var(--text-sm);margin-top:var(--space-4);padding-top:var(--space-4);text-align:center}.form-footer .muted{color:var(--brand);cursor:default}.link{background:none;border:none;color:var(--brand);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:0;position:relative;transition:all var(--anim-fast) ease}.link:after{background:var(--brand);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width var(--anim-fast) ease;width:0}.link:hover:after{width:100%}.link:hover{color:var(--brand);filter:brightness(1.1)}.modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:grid;inset:0;place-items:center;position:fixed;z-index:10000}.modal{animation:scaleIn var(--anim-std) ease-out;background:var(--surface-1);border:1px solid var(--border-1);border-radius:0;box-shadow:0 20px 60px #0000004d;color:var(--text-1);max-width:100%;padding:var(--space-5);width:100%}@media (min-width:480px){.modal{border-radius:16px;max-width:420px;padding:var(--space-6)}}.modal h3{color:var(--text-1);font-size:var(--text-title);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.modal p{color:var(--text-2);font-size:var(--text-body);line-height:var(--leading-relaxed);margin:0 0 var(--space-6) 0}.modal .actions{display:flex;gap:var(--space-3);justify-content:flex-end}.btn-secondary{border:2px solid var(--border-1);border-radius:10px;cursor:pointer;font-size:var(--text-body);font-weight:var(--font-semibold);min-height:48px;padding:12px 24px;transition:all var(--anim-fast) ease}.btn-secondary:hover{background:var(--surface-3);border-color:var(--border-strong);box-shadow:0 2px 8px #0000001a}.btn-primary{background:var(--brand);border:2px solid #0000;border-radius:10px;box-shadow:0 2px 8px rgba(var(--brand-rgb),.2);color:#fff;cursor:pointer;font-size:var(--text-body);font-weight:var(--font-semibold);min-height:48px;padding:12px 24px;transition:all var(--anim-fast) ease}.btn-primary:hover{background:var(--brand);box-shadow:0 4px 12px rgba(var(--brand-rgb),.3);filter:brightness(1.1)}.conversation{height:100%;padding:0}.conversation,.messages{display:flex;flex-direction:column}.messages{gap:var(--card-gap);margin:0 auto;max-width:100%;padding:var(--page-pad-y) var(--page-pad-x);width:100%}.messages>div{padding:0}.message-block{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.message-block.user{align-items:flex-end}.message-block.assistant{align-items:flex-start}.messages.quick-actions-only{align-items:center;display:flex;flex-direction:column;gap:var(--space-5);height:100%;justify-content:center;padding:0}.messages.quick-actions-only>:not(.quick-actions):not(.quick-actions-hero){display:none}.quick-actions-hero{animation:fadeInUp .4s ease-out;color:var(--text-1);margin-bottom:var(--space-3);position:relative;text-align:center}.quick-actions-hero h2{color:var(--text-1);font-size:var(--text-display-compact);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-2)}.quick-actions-hero p{color:var(--text-2);font-size:var(--text-body-compact);font-weight:var(--font-normal);margin:0}@media (min-width:768px){.messages{gap:var(--space-4);padding:var(--page-pad-y) var(--page-pad-x)}.messages.quick-actions-only{height:100%;padding:0}}@media (min-width:1024px){.messages{max-width:900px}}.greeting-name{-webkit-text-fill-color:#0000;background:var(--brand-gradient-warm);-webkit-background-clip:text;background-clip:text}.ambient-glow{background:radial-gradient(ellipse at center,rgba(var(--brand-rgb),.18) 0,#0000 70%);height:300px;left:50%;pointer-events:none;position:absolute;top:-80px;transform:translateX(-50%);width:480px;z-index:0}.bubble{align-items:stretch;animation:fadeInUp var(--anim-std) ease-out;display:flex;transition:opacity var(--anim-fast) ease}.bubble.user{justify-content:flex-end}.bubble.assistant{align-items:stretch;flex-direction:column;gap:var(--space-3);justify-content:flex-start;width:100%}.assistant-message{background:#0000;border:0;box-shadow:none;max-width:100%;padding:0;width:100%}.bubble-inner{background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:var(--shadow-1);display:flow-root;height:auto;overflow:visible;padding:16px 18px;transition:all var(--anim-fast) ease;width:min(720px,100%)}.bubble-inner:hover{box-shadow:0 4px 12px #0000001f}.bubble.user .bubble-inner{background:rgba(var(--brand-rgb),.18);border:1px solid rgba(var(--brand-rgb),.35);border-radius:16px 16px 4px 16px;color:var(--text-1)}@media (prefers-color-scheme:light){.bubble.user .bubble-inner{background:var(--brand-gradient);border-color:#0000;color:var(--text-inverse)}}.bubble.user .bubble-inner:hover{box-shadow:0 4px 12px rgba(var(--brand-rgb),.3);transform:translateY(-1px)}.bubble.assistant .bubble-inner{background:var(--surface-1);border-color:var(--border-1);color:var(--text-1)}.meta{align-items:center;display:flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:8px;letter-spacing:.05em;margin-bottom:10px;opacity:.7;text-transform:uppercase}.bubble.user .meta{color:#ffffffe6}.bubble.assistant .meta{color:var(--text-3)}.text{display:block;font-size:var(--text-control);height:auto;line-height:var(--leading-relaxed);overflow:visible;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.user .text{color:var(--text-1)}@media (prefers-color-scheme:light){.bubble.user .text{color:var(--text-inverse)}}.bubble.assistant .text{color:var(--text-1)}.thinking-indicator{align-items:center;display:inline-flex;gap:6px;padding:0}.thinking-dot{animation:thinkingPulse 1.4s ease-in-out infinite;background:linear-gradient(140deg,var(--brand),var(--text-accent));border-radius:50%;height:8px;transform-origin:center;width:8px}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}.thinking-dot:nth-child(4){animation-delay:.6s}@keyframes thinkingPulse{0%,to{opacity:.45;transform:translateY(0) scale(.95)}50%{opacity:1;transform:translateY(-4px) scale(1.1)}}.bubble.assistant .embed-stack{margin-top:0}.bubble .text{background:#0000;border:0;padding:0}.text :where(p){margin:0 0 8px}.text :where(ul){list-style:disc;margin:8px 0 0 20px}.bubble-actions{display:block;margin-top:12px;opacity:0;overflow:visible;text-align:right;transition:opacity var(--anim-fast) ease}.bubble:hover .bubble-actions{opacity:1}.bubble-actions .btn{background:#ffffff26;border:1px solid #ffffff4d;color:var(--text-on-brand);font-size:var(--text-sm);padding:6px 12px}.bubble-actions .btn:hover{background:#ffffff40;border-color:#ffffff80}.edit-area{margin-top:8px}.edit-area textarea{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:var(--radius-1);color:var(--text-inverse);font-family:inherit;font-size:var(--text-control);line-height:var(--leading-normal);min-height:80px;padding:10px 12px;resize:vertical;width:100%}.edit-area textarea:focus{background:#ffffff26;border-color:#ffffff80;outline:none}.edit-area .row{gap:8px;margin-top:8px}.edit-area .btn{background:#ffffff26;border:1px solid #ffffff4d;color:var(--text-on-brand)}.edit-area .btn:hover{background:#ffffff40}.edit-area .btn.primary{background:#fffffff2;border-color:#0000;color:var(--brand);font-weight:var(--font-semibold)}.edit-area .btn.primary:hover{background:#fff}.assistant-extras{margin-top:8px}.math{background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-1);padding:8px;white-space:pre-wrap}.streaming-cursor{animation:streamingPulse 1.5s ease-in-out infinite;color:var(--brand);display:inline-block;font-weight:400;margin-left:2px;opacity:.9;vertical-align:initial}@keyframes streamingPulse{0%,to{opacity:.3}50%{opacity:1}}.ai-label-row{align-items:center;display:flex;gap:5px;margin-bottom:6px}.ai-label-dot{background:var(--brand);border-radius:50%;flex-shrink:0;height:5px;width:5px}.ai-label-text{color:var(--brand);font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.09em;text-transform:uppercase}.chart-card{border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-2);height:auto;min-height:var(--chart-height);padding:var(--card-pad) var(--card-pad) var(--space-2)}.chart-card,.chart-plot{background:var(--surface-1);overflow:visible;width:100%}.chart-plot{border-radius:var(--radius-1);height:var(--chart-height);position:relative}.chart-plot>div{height:100%!important;width:100%!important}.chart-title{color:var(--text-1);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:0 0 var(--space-1)}.chart-tooltip{grid-gap:2px;display:grid;gap:2px}.chart-tooltip-label{color:var(--text-2);font-size:var(--text-xs)}.chart-tooltip-value{color:var(--text-1);font-size:var(--text-sm);font-weight:var(--font-semibold)}.chart-card svg,.chart-card>div{height:100%;width:100%}.chart-card svg{overflow:visible}.chart-pie-row{align-items:center;gap:var(--space-3)}.chart-legend.column,.chart-pie-row{display:flex;flex-direction:column;width:100%}.chart-legend.column{align-items:flex-start;gap:var(--space-2);justify-content:center;padding:0}.chart-legend-item{align-items:center;color:var(--text-1);display:flex;font-size:var(--text-sm);gap:var(--space-2)}.chart-legend-swatch{border-radius:50%;height:10px;width:10px}.chart-legend.row{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);justify-content:center;padding:var(--space-2) 0;width:100%}@media (min-width:768px){.chart-pie-row{flex-direction:row}.chart-legend.column{gap:var(--space-3);padding:0 var(--space-6)}.chart-legend.row{gap:var(--space-4);padding:var(--space-3) 0 var(--space-2)}}.embed-stack{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);width:100%}.embed-fallback{background:var(--surface-2);border:2px dashed var(--border-1);border-radius:var(--radius-md);color:var(--text-2);font-size:var(--text-sm);padding:var(--space-3)}.embed-card{background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:var(--card-gap);padding:var(--card-pad);transition:all var(--anim-fast) ease}.embed-card:hover{box-shadow:0 4px 12px #0000001f}.embed-card-header{display:flex;flex-direction:column;gap:var(--space-1)}.embed-card-title{color:var(--text-1);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1.3}.embed-card-subtitle{color:var(--text-2);font-size:var(--text-sm);line-height:1.4}.embed-card-stats{grid-gap:var(--card-gap);display:grid;gap:var(--card-gap);grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.embed-card-stat .stat-label{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-1);text-transform:uppercase}.embed-card-stat .stat-value{color:var(--text-1);font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1.2}.stat-delta{color:var(--text-2);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--error)}.embed-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.embed-stat-card{background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:var(--card-pad);transition:all var(--anim-fast) ease}.embed-stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.embed-stat-card .stat-label{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.embed-stat-card .stat-value{color:var(--text-1);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1.2}.embed-action-btn{align-items:center;border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--anim-fast) ease}.embed-action-btn,.embed-action-btn.primary{background:var(--brand);color:var(--text-on-brand)}.embed-action-btn.secondary{background:var(--surface-2);border-color:var(--border-1);color:var(--text-1)}.embed-action-btn:hover{box-shadow:0 4px 12px rgba(var(--brand-rgb),.2);transform:translateY(-1px)}.embed-action-btn.secondary:hover{background:var(--surface-3);box-shadow:0 2px 8px #00000014}.embed-action-icon{font-size:var(--text-base)}.embed-table-wrap{-webkit-overflow-scrolling:touch;background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;overflow-x:auto}.embed-table{border-collapse:collapse;min-width:100%;width:100%}.embed-table td,.embed-table th{border-bottom:1px solid var(--border-1);padding:var(--space-2) var(--space-3);text-align:left;white-space:nowrap}.embed-table th{background:var(--surface-2);color:var(--text-2);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.embed-table td{color:var(--text-1);font-size:var(--text-sm)}.embed-table tr:last-child td{border-bottom:none}.embed-table tr.clickable:hover{background:var(--surface-2);cursor:pointer}.embed-table tbody tr:hover{background:var(--surface-2)}.embed-card-header-label{color:var(--brand);font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.09em;text-transform:uppercase}.embed-stat-col+.embed-stat-col{border-left:1px solid var(--border-subtle)}@media (min-width:768px){.embed-card-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.embed-table td,.embed-table th{padding:var(--space-3) var(--space-4)}.embed-card-actions{gap:var(--space-3)}}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3{font-weight:600;margin:1em 0 .5em}.markdown-content h1{font-size:1.5em}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.1em}.markdown-content ul{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin:.25em 0}.markdown-content code.inline-code{background-color:#0000001a;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:.2em .4em}.markdown-content a{color:var(--brand);text-decoration:underline}.markdown-content a:hover{color:var(--brand-primary-hover)}.quick-actions{grid-gap:var(--card-gap);align-items:stretch;animation:fadeInUp .4s ease-out;display:grid;gap:var(--card-gap);grid-template-columns:1fr;justify-items:stretch;margin:0 auto;width:min(100%,520px)}.quick-action-card{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:var(--text-1);cursor:pointer;overflow:hidden;padding:var(--card-pad);position:relative;text-align:left;transition:all var(--anim-fast) ease}.quick-action-card:hover{background:var(--brand-muted);border-color:var(--brand-muted-border)}.quick-action-card:active{box-shadow:0 4px 16px rgba(var(--brand-rgb),.2)}.quick-action-label{color:var(--text-1);font-size:var(--text-body-compact);font-weight:var(--font-semibold);line-height:1.3;margin-bottom:var(--space-1);transition:color var(--anim-fast) ease}.quick-action-card:hover .quick-action-label{color:var(--brand)}.quick-action-text{color:var(--text-2);font-size:var(--text-caption);line-height:1.5;opacity:.9}@media (min-width:480px){.quick-actions{grid-template-columns:repeat(2,minmax(160px,1fr));width:min(720px,90vw)}}@media (min-width:768px){.quick-actions{gap:var(--space-4)}}.overage-banner{background:var(--warning-muted);border:1px solid var(--border-default);border-radius:var(--radius-md);margin:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:50}.overage-banner__content{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.overage-banner__text{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1)}.overage-banner__text p{color:var(--text-primary);font-size:var(--text-sm);line-height:1.45;margin:0}.overage-banner__headline{font-weight:var(--font-medium)}.overage-banner__detail,.overage-banner__upgrade-hint{color:var(--text-secondary)}.overage-banner__actions{align-items:flex-start;display:flex;flex-shrink:0}.overage-banner__dismiss{background:#0000;border:none;color:var(--text-tertiary);cursor:pointer;font-size:var(--text-xl);line-height:1;padding:0 var(--space-1)}.overage-banner__dismiss:hover{color:var(--text-primary)}.inputbar{background:var(--surface-2);border-top:1px solid var(--border-1);bottom:0;display:flex;flex-direction:column;gap:var(--control-gap);height:auto;justify-content:center;padding:var(--page-pad-y) var(--page-pad-x) calc(var(--space-4) + env(safe-area-inset-bottom, 0));position:sticky;z-index:var(--z-sticky)}.quick-intents{display:none}.chip{background:var(--surface-3);border:1px solid var(--border-1);border-radius:var(--radius-1);color:var(--text-1);cursor:pointer;font-size:var(--text-control);min-height:var(--control-height);padding:var(--space-1) var(--space-2);transition:background var(--anim-std) ease}.chip:hover{background:var(--surface-2)}.input-row{position:relative}.input-row,.mic{align-items:center;display:flex}.mic{background:#0000;border:none;border-radius:var(--radius-round);color:var(--text-2);cursor:pointer;font-size:18px;height:36px;justify-content:center;left:8px;margin-top:-18px;position:absolute;top:50%;transition:background var(--anim-fast) ease,color var(--anim-fast) ease,box-shadow var(--anim-fast) ease;width:36px;z-index:1}.mic:hover{background:var(--surface-2);color:var(--text-1)}.mic.on{background:#ef444426;box-shadow:0 0 0 2px #ef444433,0 0 10px #ef444440;color:var(--danger)}.inputbar .text{background:var(--surface-1);border:2px solid var(--border-1);border-radius:var(--radius);color:var(--text-1);font-family:inherit;font-size:var(--text-control);line-height:var(--leading-normal);max-height:120px;min-height:var(--control-height);overflow-x:hidden;overflow-y:hidden;padding:10px 96px 10px 62px;resize:none;transition:all var(--anim-fast) ease;width:100%}.inputbar .text:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.inputbar .text::placeholder{color:var(--text-3);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.send{align-items:center;background:var(--brand-gradient);border:none;border-radius:var(--radius-round);color:var(--text-on-brand);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all var(--anim-fast) ease;width:36px;z-index:1}.send:hover{box-shadow:0 2px 8px rgba(var(--brand-rgb),.3);filter:brightness(1.1);transform:translateY(-50%) scale(1.02)}.send:active{transform:translateY(-50%) scale(.98)}.send:disabled{background:var(--surface-3);box-shadow:none;color:var(--text-3);cursor:not-allowed;opacity:.6;transform:translateY(-50%)}.mt-legal{color:var(--text-3);font-size:var(--text-xs);margin-top:var(--space-1);opacity:.7;text-align:center}.inputbar .text,.mic,.send{-webkit-tap-highlight-color:transparent}.send:active:not(:disabled){transform:translateY(-50%) scale(.96)}@media (min-width:360px){.inputbar .text::placeholder{font-size:var(--text-sm)}}@media (min-width:768px){.inputbar{padding:var(--page-pad-y) var(--page-pad-x) calc(var(--space-4) + env(safe-area-inset-bottom, 0))}.inputbar .text{border-radius:var(--radius);padding:12px 100px 12px 64px}.inputbar .text::placeholder{font-size:var(--text-control)}.mic{font-size:20px;height:48px;left:10px;margin-top:-24px;width:48px}.send{border-radius:var(--radius-round);height:40px;padding:0;right:10px;width:40px}}@media (min-width:1024px){.inputbar{padding:var(--page-pad-y) var(--page-pad-x) calc(var(--space-3) + env(safe-area-inset-bottom, 0))}}.intake-page{animation:fadeIn .2s ease-out;background:var(--bg-primary);display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed;z-index:var(--z-modal)}.intake-top-nav{align-items:center;border-bottom:1px solid var(--border-1);display:flex;flex-shrink:0;height:56px;padding:0 var(--space-6)}.intake-nav-brand{align-items:center;display:flex;gap:var(--space-3)}.intake-logo-mark{align-items:center;background:var(--brand-gradient);border-radius:var(--radius-md);color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-bold);height:26px;justify-content:center;letter-spacing:-.02em;width:26px}.intake-wordmark{color:var(--text-1);font-size:var(--text-base);font-weight:var(--font-bold);letter-spacing:-.03em}.intake-progress-wrap{border-bottom:1px solid var(--border-1);flex-shrink:0;padding:var(--space-4) var(--space-6)}.intake-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.intake-progress-eyebrow{color:var(--brand);font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.09em;text-transform:uppercase}.intake-progress-step-label{color:var(--text-3);font-size:var(--text-xs);font-weight:var(--font-medium)}.intake-progress-bar{display:flex;gap:var(--space-2);height:3px}.intake-progress-segment{background:var(--surface-3);border-radius:2px;flex:1 1;height:3px}.intake-progress-segment.active,.intake-progress-segment.completed{background:var(--brand-gradient)}.intake-main{background:var(--surface-1);flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-6)}.intake-step-title{color:var(--text-1);font-size:var(--text-title);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-5)}.intake-footer{background:var(--surface-1);border-top:1px solid var(--border-1);flex-shrink:0;padding:var(--space-4) var(--space-6)}.intake-footer-inner{align-items:center;display:flex;justify-content:space-between;width:100%}.intake-footer-inner,.intake-main .grid{margin:0 auto;max-width:720px}@media (min-width:768px){.intake-progress-wrap,.intake-top-nav{padding-left:var(--space-8);padding-right:var(--space-8)}.intake-main{padding:var(--space-8)}.intake-footer{padding:var(--space-4) var(--space-8)}.intake-main .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.intake-page .btn{border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);min-height:44px;padding:var(--space-2) var(--space-5);transition:all var(--anim-fast) ease}.intake-page .btn:hover{transform:translateY(-1px)}.intake-page .btn:active{transform:translateY(0)}.intake-page .btn-primary{background:var(--brand-gradient);color:var(--text-on-brand)}.intake-page .btn-primary:hover{box-shadow:0 4px 12px rgba(var(--brand-rgb),.4);filter:brightness(1.1)}.intake-page .btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.intake-page .btn-primary:disabled:hover{box-shadow:none;filter:none}.intake-page .btn-secondary{background:var(--surface-2);border-color:var(--border-1);color:var(--text-1)}.intake-page .btn-secondary:hover{background:var(--surface-3)}.intake-page .grid{grid-gap:var(--space-5) var(--space-6);align-items:start;display:grid;gap:var(--space-5) var(--space-6);grid-template-columns:repeat(1,minmax(0,1fr))}.intake-page .field{display:flex;flex-direction:column;gap:var(--space-2)}.intake-page .field-label{align-items:center;color:var(--text-1);display:flex;font-size:var(--text-caption);font-weight:var(--font-semibold);gap:var(--space-2)}.intake-page .field-input input,.intake-page .field-input select{background:var(--surface-1);border:2px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-1);font-size:var(--text-control);font-weight:var(--font-normal);line-height:var(--leading-normal);min-height:var(--control-height);padding:var(--space-2) var(--control-pad-x);transition:all var(--anim-fast) ease;width:100%}.intake-page .field-input input:hover,.intake-page .field-input select:hover{border-color:var(--border-strong)}.intake-page .field-input input:focus,.intake-page .field-input select:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.intake-page .field-input select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right var(--control-pad-x) center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding:var(--space-2) calc(var(--control-pad-x) + var(--space-5)) var(--space-2) var(--control-pad-x)!important}.intake-page .field-error .field-input input,.intake-page .field-error .field-input select{background:rgba(var(--error-rgb),.05);border-color:var(--error)}.intake-page .field-error-msg{color:var(--error);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.intake-page .error{background:rgba(var(--error-rgb),.1);border-left:3px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-3);padding:var(--space-3) var(--space-4)}.intake-page .tooltip{align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-round);color:var(--text-2);cursor:help;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);height:20px;justify-content:center;position:relative;transition:all var(--anim-fast) ease;width:20px}.intake-page .tooltip:hover{background:var(--brand-gradient);border-color:var(--brand);color:var(--text-on-brand);transform:scale(1.1)}.intake-page .tooltip-content{background:var(--text-1);border-radius:var(--radius-md);bottom:calc(100% + 8px);box-shadow:0 4px 12px #00000026;color:var(--text-inverse);font-size:var(--text-xs);font-weight:var(--font-normal);left:50%;line-height:1.4;padding:var(--space-2) var(--space-3);pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);white-space:normal;width:200px;z-index:10000}.intake-page .tooltip-content:after{border:6px solid #0000;border-top:6px solid var(--text-1);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.modal-backdrop{align-items:center;animation:fadeIn .15s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-max)}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-card{animation:scaleIn .15s ease-out;background:var(--surface-1);border:1px solid var(--border-default);border-radius:18px;box-shadow:var(--shadow-xl);display:flex;flex-direction:row;height:min(580px,92vh);overflow:hidden;position:relative;width:min(820px,96vw)}.modal-nav{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;min-width:200px;padding:var(--space-6) 10px;width:200px}.modal-nav-title{color:var(--text-disabled);font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.1em;padding:4px 10px 12px;text-transform:uppercase}.modal-nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-xs);font-weight:var(--font-medium);gap:var(--space-2);margin-bottom:1px;padding:9px 10px;text-align:left;transition:background var(--anim-fast) ease,color var(--anim-fast) ease;width:100%}.modal-nav-item:hover{background:var(--surface-hover);color:var(--text-secondary)}.modal-nav-item.active{background:var(--brand-muted);color:var(--text-accent)}.modal-nav-item:disabled{cursor:not-allowed;opacity:.35}.modal-nav-item:disabled:hover{background:#0000;color:var(--text-tertiary)}.modal-nav-divider{background:var(--border-subtle);flex-shrink:0;height:1px;margin:10px}.modal-nav-signout:hover{background:var(--loss-bg)!important;color:var(--loss)!important}.modal-content-area{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.modal-content-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:28px var(--space-8) var(--space-4)}.modal-content-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0}.icon-close{align-items:center;background:var(--surface-hover);border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background var(--anim-fast) ease,color var(--anim-fast) ease;width:28px}.icon-close:hover{background:var(--surface-active);color:var(--text-primary)}.modal-body{-ms-overflow-style:none;flex:1 1;min-height:0;overflow-y:auto;padding:0 32px 28px;scrollbar-width:none}.modal-body::-webkit-scrollbar{display:none}.btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:var(--font-semibold);min-height:36px;padding:8px 18px;transition:opacity var(--anim-fast) ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--brand-gradient);color:var(--text-on-brand)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:var(--surface-2);color:var(--text-1)}.btn-ghost,.btn-secondary{border:1px solid var(--border-default)}.btn-ghost{background:#0000;color:var(--text-secondary)}.grid{grid-gap:var(--space-4) var(--space-5);display:grid;gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.field{flex-direction:column}.field,.field-label{display:flex;gap:var(--space-2)}.field-label{align-items:center;color:var(--text-2);font-size:var(--text-caption);font-weight:var(--font-semibold)}.field-input input,.field-input select{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-control);font-weight:var(--font-normal);min-height:var(--control-height);outline:none;padding:var(--space-2) var(--control-pad-x);transition:border-color var(--anim-fast) ease,box-shadow var(--anim-fast) ease;width:100%}.field-input select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:var(--space-8)}.field-input input:focus,.field-input select:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.field-error .field-input input,.field-error .field-input select{border-color:var(--error)}.field-error-msg{color:var(--error);font-size:var(--text-xs);margin-top:var(--space-1)}.toolbar{align-items:center;display:flex;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.error{color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);margin:var(--space-2) 0}.intake-pane{display:flex;flex-direction:column;gap:var(--space-4)}.intake-callout{background:rgba(var(--brand-rgb),.08);border:1px solid rgba(var(--brand-rgb),.2);border-radius:var(--radius-md);color:var(--text-accent);font-size:var(--text-sm);line-height:1.5;padding:var(--space-3) var(--space-4)}.intake-section-label{border-bottom:1px solid var(--border-1);color:var(--text-3);font-size:var(--text-2xs);font-weight:var(--font-bold);letter-spacing:.09em;padding-bottom:var(--space-1);text-transform:uppercase}.intake-save-btn{margin-top:var(--space-1);width:100%}.plaid-tab{display:flex;flex-direction:column;gap:var(--space-5)}@media (max-width:767px){.modal-backdrop{align-items:stretch;justify-content:stretch}.modal-card{border-radius:0;flex-direction:column;height:100%;max-height:100%;max-width:100%;width:100%}.modal-nav{border-bottom:1px solid var(--border-subtle);border-right:none;flex-direction:row;gap:4px;min-width:0;overflow-x:auto;padding:10px 12px;scrollbar-width:none;width:100%}.modal-nav-divider,.modal-nav-title{display:none}.modal-nav-signout{margin-left:auto}.modal-content-header{padding:16px 20px 8px}.modal-body{padding:0 20px 20px}.grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.plaid-link-container{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-2);padding:0 0 var(--space-4)}.plaid-link-button{align-items:center;background:var(--brand);border:none;border-radius:var(--radius-round);color:var(--text-inverse);cursor:pointer;display:flex;font-size:var(--text-control);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;min-width:0;padding:var(--space-2) var(--control-pad-x);transition:all .2s ease;white-space:nowrap}.plaid-link-actions{position:relative}.plaid-link-dropdown{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-top:var(--space-2);padding:var(--space-1);position:absolute;right:0;top:100%;width:260px;z-index:10}.plaid-link-option{align-items:flex-start;background:#0000;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-1);padding:var(--space-2) var(--space-3);text-align:left;width:100%}.plaid-link-option:hover{background-color:var(--surface-2)}.plaid-link-option-label{color:var(--text-1);font-weight:var(--font-medium)}.plaid-link-option-hint{color:var(--text-3);font-size:var(--text-xs)}.plaid-link-button:hover:not(:disabled){box-shadow:0 4px 12px rgba(var(--brand-rgb),.4);transform:translateY(-2px)}.plaid-link-button:active:not(:disabled){transform:translateY(0)}.plaid-link-button:disabled{cursor:not-allowed;opacity:.6}.plaid-link-button .icon{font-size:var(--text-xl)}.plaid-link-description{color:var(--text-2);font-size:var(--text-sm);margin:0;max-width:300px;text-align:center}.plaid-link-error,.plaid-link-loading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:24px}.spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top:2px solid var(--text-on-brand);display:inline-block;height:16px;width:16px}.error-message{margin:0}.plaid-link-modal-backdrop{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.plaid-link-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:480px;padding:48px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.plaid-link-modal-loading{text-align:center}.plaid-link-modal-spinner{animation:spin .8s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top:4px solid var(--brand);height:48px;margin:0 auto 24px;width:48px}.plaid-link-modal-loading p{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.plaid-link-modal-subtitle{color:#6b7280!important;font-size:14px!important;font-weight:400!important}.plaid-link-modal-error{text-align:center}.plaid-link-modal-error h3{color:#dc2626;font-size:20px;font-weight:600;margin:0 0 16px}.plaid-link-modal-error p{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 24px}.plaid-link-modal-close-btn{background-color:var(--brand);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s}.plaid-link-modal-close-btn:hover{background-color:var(--brand-primary-hover)}.plaid-link-modal-close-btn:active{transform:scale(.98)}.plaid-accounts-list{display:flex;flex-direction:column;gap:var(--space-3);padding:0 0 var(--space-3);position:relative}.add-account-card{background:rgba(var(--brand-rgb),.03);border:2px dashed rgba(var(--brand-rgb),.35);border-radius:var(--radius-lg);transition:background var(--anim-fast) ease,border-color var(--anim-fast) ease}.add-account-card:hover{background:rgba(var(--brand-rgb),.07);border-color:rgba(var(--brand-rgb),.6)}.add-account-card .plaid-link-container{align-items:stretch;padding:0;width:100%}.add-account-card .plaid-link-actions{width:100%}.add-account-card .plaid-link-button{background:#0000;border:none;box-shadow:none;color:var(--brand);font-size:var(--text-base);font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-5);width:100%}.add-account-card .plaid-link-button:hover:not(:disabled){background:#0000;box-shadow:none;filter:none;transform:none}.plaid-connect-callout{align-items:center;background:linear-gradient(135deg,rgba(var(--brand-rgb),.12),rgba(var(--brand-rgb),.04));border:1px solid rgba(var(--brand-rgb),.35);border-radius:var(--radius-lg);color:var(--text-1);display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4)}.plaid-connect-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-1) 0}.plaid-connect-text{color:var(--text-2);font-size:var(--text-xs);margin:0;max-width:420px}.plaid-connect-dismiss{background:rgba(var(--brand-rgb),.12);border:none;border-radius:var(--radius-round);color:var(--brand);cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:6px 14px;transition:all var(--anim-fast) ease}.plaid-connect-dismiss:hover{background:rgba(var(--brand-rgb),.2)}.plaid-connect-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border-radius:var(--radius-lg);display:flex;inset:0;justify-content:center;position:absolute;z-index:30}.plaid-connect-overlay-card{align-items:center;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.plaid-connect-spinner{animation:spin .8s linear infinite;border:3px solid rgba(var(--brand-rgb),.2);border-radius:50%;border-top-color:var(--brand);height:32px;width:32px}.plaid-connect-overlay-title{color:var(--text-1);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0}.plaid-connect-overlay-text{color:var(--text-3);font-size:var(--text-xs);margin:2px 0 0}.sync-all-button{background-color:initial;border:2px solid var(--brand);border-radius:var(--radius-md);color:var(--brand);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--control-pad-x);transition:all var(--anim-fast) ease}.sync-all-button:hover:not(:disabled){background-color:var(--brand);box-shadow:0 4px 12px rgba(var(--brand-rgb),.2);color:var(--text-inverse);transform:translateY(-1px)}.sync-all-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.error-banner{background-color:var(--error-muted);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3)}.item-card{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000014;color:var(--text-1);padding:var(--space-3);transition:all var(--anim-fast) ease}.item-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.item-main{align-items:flex-start;flex-direction:row;justify-content:space-between}.item-left,.item-main{display:flex;gap:var(--space-2)}.item-left{flex:1 1;flex-direction:column}.institution-row{align-items:center;display:flex;gap:var(--space-2)}.item-actions-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:0}.institution-logo{align-items:center;background:rgba(var(--brand-rgb),.1);border-radius:8px;color:var(--brand);display:flex;font-size:var(--text-base);height:32px;justify-content:center;width:32px}.institution-logo svg{color:var(--brand);height:16px;width:16px}.institution-text{display:flex;flex-direction:column;gap:2px}.institution-name{color:var(--text-1);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}.institution-subtitle{color:var(--text-3);font-size:var(--text-sm)}.institution-balance{color:var(--brand);font-size:var(--text-title-compact);font-weight:var(--font-bold);letter-spacing:-.02em}.status-badge{align-items:center;border-radius:var(--radius-round);display:inline-flex;font-size:9px;font-weight:var(--font-semibold);gap:4px;letter-spacing:.05em;line-height:1.2;padding:2px var(--space-2);text-transform:uppercase}.status-active{background-color:var(--success-muted);border:1px solid var(--success);color:var(--success)}.status-error{background-color:var(--error-muted);border:1px solid var(--error);color:var(--error)}.status-warning{background-color:var(--warning-muted);border:1px solid var(--warning);color:var(--warning)}.item-actions{display:flex;gap:var(--space-1)}.item-right{align-items:flex-start;align-self:flex-start;display:flex}.item-more-wrapper{position:relative}.item-more-menu{animation:slideDown .15s ease-out;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--space-2);min-width:160px;padding:var(--space-1);position:absolute;right:0;top:100%;z-index:20}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.item-more-menu-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-1);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-3);text-align:left;transition:all var(--anim-fast) ease;width:100%}.item-more-menu-item:hover{background:var(--surface-2)}.item-more-update{color:var(--brand);font-weight:500}.item-more-update:hover{background:var(--brand-muted);color:var(--brand-primary-hover)}.item-more-remove{color:var(--error)}.item-more-remove:hover{background:var(--error-muted);color:var(--error)}.item-more,.item-refresh{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-3);cursor:pointer;display:flex;font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-1) var(--space-2);transition:all var(--anim-fast) ease}.more-label,.refresh-label{display:none}@media (min-width:426px){.more-label,.refresh-label{display:inline}.item-more,.item-refresh{padding:var(--space-2) var(--space-3)}}.item-more svg,.item-refresh svg{color:var(--text-3);transition:color var(--anim-fast) ease}.item-more:hover:not(:disabled),.item-refresh:hover:not(:disabled){background-color:var(--surface-2);border-color:var(--border-1)}.item-more:hover:not(:disabled) svg,.item-refresh:hover:not(:disabled) svg{color:var(--brand)}.item-refresh .refresh-icon{font-size:var(--text-sm)}.item-more .more-icon{font-size:var(--text-base);line-height:1}.item-more:disabled,.item-refresh:disabled{cursor:not-allowed;opacity:.55}.item-meta{border-top:1px solid var(--border-1);color:var(--text-3);display:flex;font-size:var(--text-xs);gap:var(--space-4);margin-bottom:var(--space-1);margin-top:var(--card-gap);padding-top:var(--space-2)}.meta-item{align-items:center;display:flex;gap:4px}.item-accounts{gap:var(--space-1);margin-top:var(--space-1)}.item-account,.item-accounts{display:flex;flex-direction:column}.item-account{color:var(--text-1);font-size:var(--text-xs);gap:2px}.item-account-name{color:var(--text-1);font-size:var(--text-sm);font-weight:500}.item-account-mask{font-size:var(--text-xs);font-weight:400}.item-account-last-synced,.item-account-mask{color:var(--text-3)}.item-account-value{color:var(--brand);font-size:var(--text-base);font-weight:600}.accounts-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:var(--space-2)}.account-card{background-color:initial;border:none;border-radius:0;display:flex;gap:var(--space-2);padding:var(--space-2) 0;transition:background-color .15s ease}.account-card:hover{background-color:var(--surface-2);box-shadow:none}.account-icon{font-size:var(--text-2xl);line-height:1}.account-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.account-name{color:var(--text-1);font-size:var(--text-sm);font-weight:600}.account-mask{color:var(--text-3);font-weight:400}.account-type{color:var(--text-3);font-size:var(--text-xs);text-transform:capitalize}.account-balance{color:var(--brand);font-size:var(--text-base);font-weight:700;margin-top:var(--space-1)}.accounts-skeleton,.plaid-accounts-loading{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.account-card-skeleton{background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.skeleton-header{align-items:center;display:flex;gap:var(--space-3)}.skeleton-info{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2)}.skeleton-balance{display:flex;justify-content:flex-end}.plaid-accounts-empty{align-items:center;background:var(--surface-1);border:2px dashed var(--border-1);border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;margin:var(--space-4);min-height:400px;padding:var(--space-10) var(--space-6);text-align:center}@media (max-width:425px){.institution-logo{border-radius:6px;font-size:var(--text-sm);height:28px;width:28px}.institution-logo svg{height:14px;width:14px}.institution-name{font-size:var(--text-xs)}.status-badge{font-size:8px;gap:2px;padding:2px 6px}.item-account-name{font-size:var(--text-xs)}.item-account-value{font-size:var(--text-sm)}.item-meta{font-size:10px}}@media (max-width:360px){.plaid-connect-overlay-card{justify-content:flex-start;margin:0 var(--space-2);width:calc(100% - var(--space-4))}.plaid-connect-callout{padding:var(--space-3)}}@media (min-width:360px){.plaid-accounts-list{gap:var(--space-4);padding:0 0 var(--space-4)}.item-card{padding:var(--card-pad)}.institution-logo{border-radius:12px;font-size:var(--text-title-compact);height:40px;width:40px}.institution-logo svg{height:20px;width:20px}.institution-name{font-size:var(--text-body-compact)}.status-badge{font-size:var(--text-xs);gap:6px;letter-spacing:.08em;padding:var(--space-1) var(--space-3)}.institution-row,.item-left,.item-main{gap:var(--card-gap)}.item-right{align-self:auto}.item-account-name{font-size:var(--text-body)}.item-account-value{font-size:var(--text-lg)}}.spinner{animation:spin .8s linear infinite;border:4px solid rgba(var(--brand-rgb),.2);border-radius:50%;border-top-color:var(--brand);height:40px;width:40px}.empty-icon{align-items:center;background:rgba(var(--brand-rgb),.1);border-radius:50%;color:var(--brand);display:flex;height:80px;justify-content:center;margin:0 0 var(--space-5) 0;width:80px}.empty-icon svg{height:40px;width:40px}.empty-message{color:var(--text-1);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.empty-description{color:var(--text-2);font-size:var(--text-body);line-height:var(--leading-relaxed);margin:0 0 var(--space-6) 0;max-width:480px}.error-message{color:var(--error);font-size:var(--text-sm);margin:0 0 var(--space-4) 0}.retry-button{background-color:var(--brand);border:none;border-radius:var(--radius-sm);color:var(--text-inverse);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:background-color .2s ease}.retry-button:hover{background-color:var(--brand-primary-hover)}.usage-indicator{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-2)}.usage-bar-track{background:var(--surface-3);border-radius:var(--radius-full);height:6px;overflow:hidden;width:100%}.usage-bar-fill{border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal) var(--ease-out)}.usage-indicator.normal .usage-bar-fill{background:var(--success)}.usage-indicator.warning .usage-bar-fill{background:var(--warning)}.usage-indicator.overage .usage-bar-fill{background:var(--loss)}.usage-indicator.payg .usage-text{color:var(--text-secondary)}.usage-details{display:flex;flex-direction:column;gap:2px}.usage-count{color:var(--text-primary);font-weight:var(--font-medium)}.usage-overage-line{color:var(--loss);font-size:var(--text-xs)}.usage-warning-line{color:var(--warning);font-size:var(--text-xs)}.usage-remaining-line{color:var(--text-tertiary);font-size:var(--text-xs)}.payment-form{width:100%}.payment-label{color:var(--text-secondary);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);text-transform:uppercase}.card-element-wrapper{align-items:center;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;min-height:52px;padding:var(--space-4) var(--space-4);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card-element-wrapper>*{width:100%}.card-element-wrapper:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.15)}.payment-error{align-items:center;color:var(--error);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin-top:var(--space-2)}.payment-submit-btn{background:var(--brand-gradient);border:none;border-radius:var(--radius-lg);box-shadow:0 2px 8px rgba(var(--brand-rgb),.35);color:#fff;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:.01em;margin-top:var(--space-5);padding:var(--space-4);transition:opacity var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out);width:100%}.payment-submit-btn:hover:not(:disabled){box-shadow:0 4px 14px rgba(var(--brand-rgb),.45);opacity:.9}.payment-submit-btn:active:not(:disabled){transform:scale(.99)}.payment-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.billing-dashboard{padding:var(--space-3);width:100%}.billing-section{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-3);padding:var(--space-3)}.billing-section h3{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0}.billing-plan-info{display:flex;flex-direction:column;gap:var(--space-1)}.plan-tier-label{color:var(--brand-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.plan-price{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.plan-overage-note,.plan-period{color:var(--text-tertiary);font-size:var(--text-xs)}.plan-canceling{color:var(--warning)}.plan-canceling,.plan-pending{font-size:var(--text-xs);font-weight:var(--font-medium)}.plan-pending{color:var(--brand-primary)}.no-pm,.no-subscription{color:var(--text-tertiary);font-size:var(--text-sm)}.billing-plans-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-top:var(--space-2)}.billing-plan-card{border:1px solid var(--border-1);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);transition:border-color var(--anim-fast) ease}.billing-plan-card.current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.billing-plan-card-name{color:var(--text-1);font-size:var(--text-sm);font-weight:var(--font-semibold)}.billing-plan-card-price{color:var(--text-1);font-size:var(--text-xl);font-weight:var(--font-bold);line-height:1.2}.billing-plan-card-quota{color:var(--text-3);font-size:var(--text-xs);margin-bottom:var(--space-1)}.billing-plan-card .billing-btn{margin-top:auto}.billing-btn.keep{background:var(--surface-2);border-color:var(--border-1);color:var(--text-3);cursor:default}.billing-btn.keep:disabled{opacity:.7}.payment-method-display{align-items:center;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-3)}.pm-brand{font-weight:var(--font-medium);text-transform:capitalize}.pm-expiry{color:var(--text-tertiary)}.pm-update-btn{margin-top:var(--space-2)}.pm-update-form{border-top:1px solid var(--border-default);margin-top:var(--space-3);padding-top:var(--space-3)}.pm-update-error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-2)}.billing-btn.cancel-link{background:#0000;border:none;color:var(--text-tertiary);font-weight:var(--font-medium);margin-top:var(--space-2);padding:var(--space-1) 0}.billing-btn.cancel-link:hover{color:var(--text-primary)}.billing-action-error{color:var(--error);font-size:var(--text-sm);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3)}.billing-cancel-zone{display:flex;justify-content:flex-start;padding-top:var(--space-3)}.billing-btn{border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap}.billing-btn.upgrade{background:var(--brand-gradient);border:none;color:var(--text-on-brand)}.billing-btn.upgrade:hover{background:var(--brand-primary-hover)}.billing-btn.downgrade{background:var(--surface-3);border:1px solid var(--border-default);color:var(--text-primary)}.billing-btn.downgrade:hover{background:var(--surface-2)}.billing-btn.cancel{background:#0000;border:1px solid var(--error);color:var(--error)}.billing-btn.cancel:hover{background:var(--error-muted)}.billing-btn:disabled{cursor:not-allowed;opacity:.5}.invoices-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.invoices-table{border-collapse:collapse;font-size:var(--text-sm);min-width:320px;width:100%}.invoices-table th{border-bottom:1px solid var(--border-default);color:var(--text-tertiary);font-weight:var(--font-medium);text-align:left}.invoices-table td,.invoices-table th{padding:var(--space-2);white-space:nowrap}.invoices-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.invoice-status{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px 8px}.invoice-status.paid{background:var(--success-muted);color:var(--success)}.invoice-status.open{background:var(--warning-muted);color:var(--warning)}.invoice-status.uncollectible,.invoice-status.void{background:var(--error-muted);color:var(--error)}.invoices-table a{color:var(--brand-primary);text-decoration:none}.invoices-table a:hover{text-decoration:underline}.billing-dash-error,.billing-dash-loading{color:var(--text-secondary);padding:var(--space-8);text-align:center}@media (max-width:479px){.billing-dashboard,.billing-section{padding:var(--space-2)}.billing-section{margin-bottom:var(--space-2)}.billing-plans-grid{grid-template-columns:1fr}.invoices-table{font-size:var(--text-xs)}.invoices-table td,.invoices-table th{padding:var(--space-1) var(--space-2)}}@media (min-width:480px) and (max-width:767px){.billing-dashboard{padding:var(--space-3)}}@media (min-width:768px){.billing-dashboard{margin:0 auto;max-width:640px;padding:var(--space-4)}.billing-section{margin-bottom:var(--space-4);padding:var(--space-4)}.billing-section h3{font-size:var(--text-base)}.plan-tier-label{font-size:var(--text-lg)}}.pricing-page{display:flex;flex-direction:column;margin:0 auto;max-width:980px;padding:var(--space-6) var(--space-4) var(--space-8)}.pricing-header{margin-bottom:var(--space-5);text-align:center}.pricing-header h2{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.pricing-header p{color:var(--text-secondary);font-size:var(--text-base)}.pricing-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}@media (min-width:960px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);display:flex;flex-direction:column;padding:var(--space-5);position:relative;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.pricing-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.pricing-card.popular{background:linear-gradient(180deg,rgba(var(--brand-rgb),.07) 0,var(--surface-1) 60%);border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary),var(--shadow-glow)}@media (min-width:960px){.pricing-card.popular{margin-top:-10px;padding-top:calc(var(--space-5) + 10px)}}.pricing-card.selected{border-color:var(--success);box-shadow:0 0 0 2px var(--success)}.popular-badge{background:var(--brand-gradient);border-radius:var(--radius-full);color:#fff;font-size:var(--text-2xs);font-weight:var(--font-bold);left:50%;letter-spacing:.08em;padding:3px 14px;position:absolute;text-transform:uppercase;top:-13px;transform:translateX(-50%);white-space:nowrap}.plan-header{margin-bottom:var(--space-4)}.plan-name{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-3);text-transform:uppercase}.plan-price-row{margin-bottom:var(--space-1)}.plan-price-main{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1}.plan-price-cents{font-size:var(--text-xl)}.plan-price-unit{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-normal);margin-left:2px}.plan-quota{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1)}.plan-divider{background:var(--border-subtle);height:1px;margin-bottom:var(--space-4)}.plan-features{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);list-style:none;margin:0 0 var(--space-5) 0;padding:0}.plan-features li{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:var(--leading-snug)}.feature-check{color:var(--success);flex-shrink:0;font-weight:var(--font-bold);margin-top:1px}.feature-info{flex-shrink:0;margin-top:1px}.feature-info,.plan-features .overage-note{color:var(--text-tertiary);font-size:var(--text-xs)}.plan-features .overage-note{margin-top:var(--space-1)}.plan-select-btn{background:#0000;border:1px solid var(--brand-primary);border-radius:var(--radius-md);color:var(--brand-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:auto;padding:var(--space-3);transition:all var(--duration-normal) var(--ease-out);width:100%}.plan-select-btn:hover:not(:disabled){background:rgba(var(--brand-rgb),.08);border-color:var(--brand-primary)}.plan-select-btn.popular{background:var(--brand-gradient);border-color:#0000;box-shadow:0 2px 8px rgba(var(--brand-rgb),.35);color:#fff}.plan-select-btn.popular:hover:not(:disabled){background:var(--brand-primary-hover);box-shadow:0 4px 12px rgba(var(--brand-rgb),.45)}.plan-select-btn.selected{background:var(--success);border-color:var(--success);color:#fff;cursor:default}.pricing-trust{align-items:center;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-tertiary);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-3);justify-content:center;margin-top:var(--space-5);padding:var(--space-3) var(--space-4)}.trust-divider{background:var(--border-default);height:14px;width:1px}.pricing-loading{color:var(--text-secondary);padding:var(--space-16);text-align:center}@media (max-width:640px){.pricing-grid{grid-template-columns:1fr}.pricing-card.popular{transform:none}.pricing-trust{gap:var(--space-2)}.trust-divider{display:none}}.billing-setup-overlay{background:var(--bg-primary);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:var(--space-6) var(--space-4);position:fixed;z-index:var(--z-modal)}@media (min-width:1024px){.billing-setup-overlay{left:280px}}.billing-setup-modal{margin:auto 0;max-width:1040px;width:100%}.setup-stepper{gap:0;justify-content:center;margin-bottom:var(--space-8)}.setup-stepper,.stepper-step{align-items:center;display:flex}.stepper-step{gap:var(--space-2)}.stepper-circle{align-items:center;background:var(--surface-1);border:2px solid var(--border-default);border-radius:50%;display:flex;flex-shrink:0;font-weight:var(--font-semibold);height:32px;justify-content:center;transition:all var(--duration-normal) var(--ease-out);width:32px}.stepper-circle,.stepper-label{color:var(--text-tertiary);font-size:var(--text-sm)}.stepper-label{font-weight:var(--font-medium);transition:color var(--duration-normal) var(--ease-out)}.stepper-step.active .stepper-circle{background:rgba(var(--brand-rgb),.1);border-color:var(--brand-primary);color:var(--brand-primary)}.stepper-step.active .stepper-label{color:var(--brand-primary)}.stepper-step.done .stepper-circle{background:var(--success);border-color:var(--success);color:#fff}.stepper-step.done .stepper-label{color:var(--text-secondary)}.stepper-check{font-size:var(--text-xs)}.stepper-connector{background:var(--border-default);flex-shrink:0;height:2px;margin:0 var(--space-2);transition:background var(--duration-normal) var(--ease-out);width:48px}.stepper-connector.active{background:var(--brand-primary)}.setup-payment-layout{display:flex;flex-direction:column;gap:var(--space-6);margin:0 auto;max-width:860px}@media (min-width:768px){.setup-payment-layout{align-items:flex-start;flex-direction:row;gap:var(--space-8)}}.setup-plan-summary{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:768px){.setup-plan-summary{flex-shrink:0;width:280px}}.back-to-plans{align-items:center;background:none;border:none;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1);padding:0;transition:opacity var(--duration-fast) var(--ease-out)}.back-to-plans:hover{opacity:.75}.summary-card{background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-5)}.summary-plan-name{color:var(--brand-primary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);text-transform:uppercase}.summary-price{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1.1;margin-bottom:var(--space-1)}.summary-quota{color:var(--text-tertiary);font-size:var(--text-xs);margin-bottom:var(--space-1)}.summary-divider{background:var(--border-subtle);height:1px;margin:var(--space-4) 0}.summary-features{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0 0 var(--space-4) 0;padding:0}.summary-features li{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:var(--leading-snug)}.summary-check{color:var(--success);flex-shrink:0;font-weight:var(--font-bold);margin-top:1px}.summary-billing-note{color:var(--text-tertiary);font-size:var(--text-xs);line-height:var(--leading-normal)}.setup-payment-form{flex:1 1;min-width:0}.payment-step-heading{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.payment-step-sub{margin-bottom:var(--space-5)}.payment-step-sub,.setup-creating{color:var(--text-secondary);font-size:var(--text-sm)}.setup-creating{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-10) var(--space-4)}.setup-creating-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.setup-error{background:var(--error-muted);border:1px solid rgba(var(--error-rgb),.2);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-3) var(--space-4)}.payment-security-note{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--text-xs);gap:var(--space-2);line-height:var(--leading-snug);margin-top:var(--space-4)}.security-icon{flex-shrink:0;font-size:var(--text-sm)}.payment-failed-overlay{background:var(--bg-primary);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:var(--space-6) var(--space-4);position:fixed;z-index:var(--z-modal)}@media (min-width:1024px){.payment-failed-overlay{left:280px}}.payment-failed-modal{margin:auto 0;max-width:480px;text-align:center;width:100%}.payment-failed-icon{align-items:center;background:var(--error-muted);border-radius:var(--radius-full);color:var(--error);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);height:48px;justify-content:center;margin:0 auto var(--space-4);width:48px}.payment-failed-modal h2{color:var(--text-primary);font-size:var(--text-lg);margin:0 0 var(--space-2) 0}.payment-failed-modal p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-6) 0}.payment-failed-updating{color:var(--text-secondary);padding:var(--space-8);text-align:center}.payment-failed-error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-3);text-align:center}
/*# sourceMappingURL=main.424736f1.css.map*/