: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:#3b82f6;--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:#5b8cff;--brand-primary:#3b82f6;--brand-primary-hover:#2563eb;--brand-primary-active:#1d4ed8;--brand-secondary:#8b5cf6;--success:#22c55e;--success-muted:#22c55e26;--warning:#f59e0b;--warning-muted:#f59e0b26;--error:#ef4444;--error-muted:#ef444426;--info:#3b82f6;--info-muted:#3b82f626;--danger:#ef4444;--accent:#22c55e;--gain:#00c805;--gain-bg:#00c8051a;--loss:#ff5000;--loss-bg:#ff50001a;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-mono:"JetBrains Mono","SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--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;--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 #3b82f64d;--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-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--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:#3b82f6;--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:#3b82f6;--brand-primary:#3b82f6;--brand-primary-hover:#2563eb;--brand-primary-active:#1d4ed8;--accent:#16a34a;--success:#16a34a;--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)}}*{box-sizing:border-box}#root,body,html{height:100%;width:100%}html{scroll-behavior:smooth}body,html{overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:15px;inset:0;line-height:1.5;margin:0;position:fixed}: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 #5b8cff33;outline:3px solid var(--brand);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #5b8cff26;outline:2px solid var(--brand);outline-offset:0}a:focus-visible{border-radius:2px;box-shadow:0 0 0 4px #5b8cff26;outline:2px solid var(--brand);outline-offset:2px}:root{--app-height:100vh;--header-h:0px;--footer-h:0px}@supports (height:100svh){:root{--app-height:100svh}}@supports (height:100dvh){:root{--app-height:100dvh}}#root{display:flex;flex-direction:column}#root,.app{height:100vh;height:var(--app-height);overflow:hidden;width:100%}.app{display:grid;grid-template-rows:0 1fr;grid-template-rows:var(--header-h) 1fr;min-width:0}.app__header{height:0;height:var(--header-h)}.app__main{grid-gap:0;display:grid;gap:0;grid-template-columns:280px minmax(0,1fr);min-width:0}.app__main,.sidebar{height:100%;min-height:0}.sidebar{-webkit-overflow-scrolling:touch;background:var(--surface-2);border-radius:0;border-right:1px solid var(--border-1);box-shadow:none;overflow-y:auto;overscroll-behavior:contain;padding:0;position:relative;top:0}.content{background:var(--bg);display:grid;grid-template-rows:1fr auto;height:100%;min-width:0}.content,.content__body{min-height:0;overflow:hidden}.content__scroll{-webkit-overflow-scrolling:touch;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 0;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{align-items:center;background:var(--surface-1);border:2px solid var(--border-1);border-radius:10px;box-shadow:0 2px 8px #0000001a;color:var(--text-1);cursor:pointer;display:none;font-size:24px;height:44px;justify-content:center;left:12px;padding:0;position:fixed;top:12px;transition:all var(--anim-fast) ease;width:44px;z-index:1001}.mobile-history-toggle:hover{background:var(--surface-2);border-color:var(--brand);box-shadow:0 4px 12px #5b8cff33;transform:translateY(-2px)}.mobile-history-toggle:active{box-shadow:0 2px 6px #0000001a;transform:translateY(0)}@media (max-width:900px){.app__main{grid-template-columns:1fr}.content{height:100vh;height:calc(var(--app-height) - var(--header-h))}.content__scroll{padding:12px 12px 0}.content__composer{padding-bottom:env(safe-area-inset-bottom,0)}.mobile-history-toggle{display:inline-flex}.sidebar{-ms-overflow-style:none;background:var(--surface-2);border-right:none;bottom:0;box-shadow:4px 0 24px #00000026;height:100vh;height:var(--app-height);left:0;max-width:360px;opacity:0;overflow-x:hidden;overflow-y:auto;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:100%;z-index:1000}.sidebar::-webkit-scrollbar{display:none}.app[data-history-open=true] .sidebar{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}}.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{background:var(--surface-2);border:1px solid var(--border-default);color:var(--text-primary);font-weight:var(--font-medium);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:active{transform:scale(.98)}.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);border:1px solid var(--border-default);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{border:1px solid #0000;color:var(--text-secondary)}.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}::selection{background:#3b82f640;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 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}.sidepanel{background:var(--surface-2);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-1);height:100%;overflow:hidden;padding:var(--space-4);padding-bottom: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{flex:1 1;gap:var(--space-1);min-height:0;overflow-x:hidden;overflow-y:auto}.sidepanel-body,.sidepanel-top{display:flex;flex-direction:column}.sidepanel-top{background:var(--surface-2);gap:var(--space-2);margin:0 calc(var(--space-4)*-1);padding:var(--space-4) var(--space-4) var(--space-2);padding-right:48px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.sidepanel-header{font-weight:700;letter-spacing:.2px;margin:0;margin-top:calc(var(--space-3) - var(--space-1))}.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(--space-1);padding:0 var(--space-1)}.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(--space-2) 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-1);color:var(--text-1);cursor:pointer;padding:8px var(--space-3);text-align:left;transition:all var(--anim-fast) ease}.thread-item:hover{transform:translateX(2px)}.thread-item.active,.thread-item:hover{background:var(--surface-3);border-color:var(--brand)}.thread-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.thread-title{color:var(--text-1);font-size:var(--text-md);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(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-1);color:var(--text-1);cursor:pointer;display:flex;gap:var(--space-2);justify-content:flex-start;padding:8px 10px;text-align:left;transition:all var(--anim-fast) ease;width:100%}.new-chat .icon{color:var(--text-2);display:inline-flex;transition:color var(--anim-fast) ease}.new-chat .label{color:var(--text-1);font-size:var(--text-md);font-weight:500}.new-chat:hover{background:var(--surface-3);border-color:var(--brand)}.new-chat:hover .icon{color:var(--brand)}.search-row{align-items:center;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-1);cursor:pointer;display:flex;gap:var(--space-2);padding:8px 10px;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-md);padding:0;width:100%}.search-row .search:focus{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);margin-left:calc(var(--space-4)*-1);margin-right:calc(var(--space-4)*-1);margin-top:auto;padding:var(--space-3) var(--space-4) 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-1);color:var(--text-1);cursor:pointer;display:flex;gap:var(--space-2);justify-content:flex-start;padding:10px 12px;position:relative;transition:all var(--anim-fast) ease;width:100%;z-index:2}.user-trigger:hover{background:var(--surface-3);border-color:var(--brand);transform:translateY(-1px)}.user-trigger .avatar{align-items:center;background:var(--surface-3);border-radius:50%;display:inline-flex;font-size:12px;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}.user-popover{animation:slideUp .15s ease-out;background:var(--surface-1);border:1px solid var(--border-1);border-radius:var(--radius-1);bottom:calc(100% + 8px);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:8px;left:0;min-width:auto;padding:10px;position:absolute;right:0;z-index:9999}.user-popover-header{align-items:center;border-bottom:1px solid var(--border-1);display:flex;gap:10px;padding:6px 4px 8px}.user-popover-header .avatar{background:var(--surface-2)}.user-fullname{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-popover-actions{display:flex;flex-direction:column;gap:8px}.user-popover .user-menu-item{display:block;width:100%}.user-popover-actions .btn{justify-content:flex-start;text-align:left;width:100%}.user-popover-actions .btn+.btn{margin-top:8px}.user-popover-actions .btn.btn-secondary{background:var(--surface-1);border-color:var(--border-1);color:var(--text-1)}.user-popover-actions .btn.btn-secondary:hover{background:var(--surface-2)}.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:none;font-size:20px;height:36px;justify-content:center;line-height:32px;position:absolute;right:12px;top:12px;transition:all var(--anim-fast) ease;width:36px;z-index:100}.sidebar-close:hover{background:var(--surface-3);border-color:var(--brand);transform:scale(1.05)}.sidebar-close:active{box-shadow:0 1px 2px #0000001a;transform:scale(.95)}@media (max-width:900px){.user-popover{bottom:calc(100% + 8px);left:0;min-width:0;min-width:auto;right:0}.sidebar-close{display:inline-flex;font-size:24px;height:44px;width:44px}}.empty-state{color:var(--color-text-muted);padding:40px 16px;text-align:center}.empty-state .title{font-weight:600;margin-bottom:6px}.empty-state .desc{font-size:var(--text-sm)}.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:linear-gradient(135deg,#667eea,#764ba2);color:var(--text-1);display:grid;min-height:var(--app-height);overflow:hidden;padding:var(--space-6);place-items:center;position:relative}@media (max-width:900px){.authscreens{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;justify-content:center;overflow-x:hidden;overflow-y:auto;padding:var(--space-4)}}.authscreens:before{animation:backgroundMove 20s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes backgroundMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.auth-card{animation:cardEntrance .8s cubic-bezier(.34,1.56,.64,1);background:#fff;border:none;border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;max-width:480px;padding:var(--space-8) var(--space-6);position:relative;width:100%;z-index:1}@media (max-width:900px){.auth-card{margin:var(--space-4) 0;max-height:none;overflow:visible}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-toggle{display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-6)}.auth-toggle .tab{background:var(--surface-1);border:2px solid var(--border-1);border-radius:12px;color:var(--text-2);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--font-medium);max-width:200px;padding:var(--space-3) var(--space-4);transition:all var(--anim-fast) ease}.auth-toggle .tab:hover{background:var(--surface-2);border-color:var(--brand);box-shadow:0 4px 12px #5b8cff33;color:var(--text-1);transform:translateY(-2px)}.auth-toggle .tab.active{background:var(--brand);border-color:var(--brand);box-shadow:0 4px 12px #5b8cff4d;color:#fff}.login-form{grid-gap:var(--space-5);animation:fadeInUp .6s ease-out;display:grid;gap:var(--space-5);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:#ef44441a;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)}.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:modalEntrance .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:none;border-radius:16px;box-shadow:0 20px 60px #0000004d;color:#111827;max-width:420px;padding:var(--space-6);width:100%}.fp-modal h3{color:#111827;font-size:24px;font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.fp-modal p{color:#6b7280;font-size:var(--text-base);line-height:1.6;margin:0 0 var(--space-5) 0}.fp-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.fp-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#111827;font-size:15px;font-weight:400;line-height:1.5;margin-bottom:var(--space-5);min-height:52px;padding:14px 16px;transition:all var(--anim-fast) ease;width:100%}.fp-input:hover{border-color:#d1d5db;box-shadow:0 1px 3px #00000014}.fp-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #5b8cff1f,0 1px 3px #00000014;outline:none}.fp-success{background:#10b9811a;border:2px solid #10b981;border-left-width:4px;border-radius:var(--radius-md);color:#065f46;font-size:var(--text-base);line-height:1.6;margin-bottom:var(--space-5);padding:var(--space-4)}@media (max-width:900px){.fp-modal{max-width:calc(100vw - var(--space-6));padding:var(--space-5)}.fp-modal h3{font-size:20px}.fp-input{font-size:16px}.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-5);animation:fadeInUp .6s ease-out;display:grid;gap:var(--space-5);max-width:420px;width:100%}.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 1fr}.signup-form .error{animation:shake .4s ease;background:#ef44441a;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;margin-bottom:var(--space-6);text-align:center}.form-header .logo{animation:scaleIn .5s ease-out;display:inline-block;height:auto;margin-bottom:var(--space-4);max-width:240px}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.form-header h2{color:var(--text-1);font-size:28px;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-base);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:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#111827;font-size:15px;font-weight:400;line-height:1.5;min-height:52px;padding:14px 16px;transition:all var(--anim-fast) ease;width:100%}.input:hover{border-color:#d1d5db;box-shadow:0 1px 3px #00000014}.input:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px #5b8cff1f,0 1px 3px #00000014;outline:none}.input.valid,.input.valid:focus{border-color:#10b981}.input.valid:focus{box-shadow:0 0 0 4px #10b9811f,0 1px 3px #00000014}.input.invalid,.input.invalid:focus{border-color:var(--error)}.input.invalid:focus{box-shadow:0 0 0 4px #ef44441f,0 1px 3px #00000014}.input-group{display:grid;position:relative}.input-group.has-icon .icon{color:var(--text-3);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--anim-fast) ease}.input-group.has-icon .input{padding-left:44px}.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:#10b981}.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;font-size:var(--text-sm);transition:all var(--anim-fast) ease}.pw-req-icon{align-items:center;display:flex;flex-shrink:0;font-size:14px;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:#10b981}.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:12px;min-height:52px;overflow:hidden;padding:14px 24px;position:relative;width:100%}.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);box-shadow:0 8px 16px #5b8cff4d;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 #5b8cff33;transform:translateY(0)}.btn-primary:disabled{box-shadow: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:modalEntrance .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:none;border-radius:16px;box-shadow:0 20px 60px #0000004d;color:#111827;max-width:420px;padding:var(--space-6);width:100%}@keyframes modalEntrance{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h3{color:#111827;font-size:24px;font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.modal p{color:#6b7280;font-size:var(--text-base);line-height:1.6;margin:0 0 var(--space-6) 0}.modal .actions{display:flex;gap:var(--space-3);justify-content:flex-end}.btn-secondary{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:12px 24px;transition:all var(--anim-fast) ease}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.btn-primary{border:2px solid #0000;border-radius:10px;box-shadow:0 2px 8px #5b8cff33;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:12px 24px;transition:all var(--anim-fast) ease}.btn-primary:hover{box-shadow:0 4px 12px #5b8cff4d;transform:translateY(-1px)}.conversation{height:100%;padding:0}.conversation,.messages{display:flex;flex-direction:column}.messages{gap:var(--space-4);margin:0 auto;max-width:900px;padding:var(--space-6) var(--space-4);width:100%}.messages>div{padding:0}.messages.quick-actions-only{align-items:center;display:flex;flex-direction:column;gap:var(--space-6);justify-content:center;min-height:70vh;padding:var(--space-8)}.messages.quick-actions-only>:not(.quick-actions):not(.quick-actions-hero){display:none}.quick-actions-hero{animation:fadeIn .4s ease-out;color:var(--text-1);margin-bottom:var(--space-4);text-align:center}.quick-actions-hero h2{color:var(--text-1);font-size:32px;font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-2)}.quick-actions-hero p{color:var(--text-2);font-size:18px;font-weight:var(--font-normal);margin:0}@media (max-width:900px){.messages{gap:var(--space-3);padding:var(--space-4) var(--space-3)}.messages.quick-actions-only{min-height:60vh;padding:var(--space-6) var(--space-4)}.quick-actions-hero h2{font-size:28px}.quick-actions-hero p{font-size:16px}}.bubble{align-items:stretch;display:flex;transition:opacity var(--anim-fast) ease}.bubble.user{justify-content:flex-end}.bubble.assistant{justify-content:flex-start}.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:var(--brand);border-color:#0000;box-shadow:0 2px 8px #5b8cff33;color:#fff}.bubble.user .bubble-inner:hover{box-shadow:0 4px 12px #5b8cff4d;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:11px;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:15px;height:auto;line-height:1.6;overflow:visible;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.user .text{color:#fff}.bubble.assistant .text{color:var(--text-1)}.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:#fff;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:#fff;font-family:inherit;font-size:15px;line-height:1.5;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:#fff}.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}.chart-card{border:1px solid var(--border-1);border-radius:var(--radius);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:6px;height:auto;min-height:320px;min-height:var(--chart-plot-height,320px);overflow:visible;padding:8px 8px 0}.chart-card,.chart-plot{background:#fff;width:100%}.chart-plot{border-radius:8px;height:320px;height:var(--chart-plot-height,320px);position:relative}.chart-plot>div{height:100%!important;width:100%!important}.chart-title{color:var(--text-1);font-size:14px;font-weight:600;padding:6px 8px 0}.chart-tooltip{grid-gap:2px;display:grid;gap:2px}.chart-tooltip-label{color:var(--text-2);font-size:12px}.chart-tooltip-value{color:var(--text-1);font-size:13px;font-weight:600}.chart-card svg,.chart-card>div{height:100%;width:100%}.chart-card svg{overflow:visible}.chart-pie-row{align-items:center;display:flex;width:100%}.chart-legend.column{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center;padding:0 24px}.chart-legend-item{align-items:center;color:var(--text-1);display:flex;font-size:13px;gap:8px}.chart-legend-swatch{border-radius:50%;height:10px;width:10px}.chart-legend.row{align-items:center;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center;padding:12px 0 8px}.embed-stack{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);width:100%}.embed-block{box-sizing:border-box;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(--space-3);padding:var(--space-4);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(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,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(--space-4);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:#fff}.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 #5b8cff33;transform:translateY(-1px)}.embed-action-btn.secondary:hover{background:var(--surface-3);box-shadow:0 2px 8px #00000014}.embed-action-icon{font-size:16px}.embed-table-wrap{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:320px;width:100%}.embed-table td,.embed-table th{border-bottom:1px solid var(--border-1);padding:var(--space-3) var(--space-4);text-align:left}.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)}.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:#2563eb;text-decoration:underline}.markdown-content a:hover{color:#1d4ed8}.quick-actions{grid-gap:var(--space-3);align-items:stretch;animation:fadeInUp .4s ease-out;display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(180px,1fr));justify-items:stretch;width:min(720px,90vw)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quick-action-card{background:var(--surface-1);border:1px solid var(--border-1);border-radius:12px;box-shadow:0 2px 8px #00000014;color:var(--text-1);cursor:pointer;overflow:hidden;padding:16px;position:relative;text-align:left;transition:all var(--anim-fast) ease}.quick-action-card:before{background:var(--brand);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--anim-fast) ease}.quick-action-card:hover{border-color:var(--brand);box-shadow:0 8px 24px #5b8cff26;transform:translateY(-2px)}.quick-action-card:hover:before{transform:scaleX(1)}.quick-action-card:active{transform:translateY(-1px)}.quick-action-label{color:var(--text-1);font-size:var(--text-base);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-sm);line-height:1.5;opacity:.9}@media (max-width:540px){.quick-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(140px,1fr));width:100%}.quick-action-card{padding:12px}.quick-action-label{font-size:var(--text-sm)}.quick-action-text{font-size:var(--text-xs)}}.inputbar{background:var(--surface-2);border-top:1px solid var(--border-1);display:flex;flex-direction:column;gap:var(--space-2);height:100%;justify-content:center;padding:var(--space-4);position:static}.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:13px;padding:6px 8px;transition:background var(--anim-std) ease}.chip:hover{background:var(--surface-2)}.input-row{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:48px 1fr 100px}.input-row,.mic{align-items:center}.mic{background:var(--surface-1);border:2px solid var(--border-1);border-radius:var(--radius-round);color:var(--text-1);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all var(--anim-fast) ease;width:48px}.mic:hover{background:var(--surface-3);border-color:var(--brand);transform:scale(1.05)}.mic.on{animation:pulse 1.5s ease-in-out infinite;background:#ef44441a;border-color:var(--danger)}@keyframes pulse{0%,to{border-color:var(--danger);box-shadow:0 0 0 0 #ef444466}50%{border-color:var(--danger);box-shadow:0 0 0 6px #ef444400}}.inputbar .text{background:var(--surface-1);border:2px solid var(--border-1);border-radius:12px;color:var(--text-1);flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;max-height:120px;min-height:48px;min-width:0;overflow-y:auto;padding:12px 16px;resize:none;transition:all var(--anim-fast) ease}.inputbar .text:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5b8cff1a;outline:none}.inputbar .text::placeholder{color:var(--text-3)}.send{border:2px solid #0000;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:var(--font-semibold);height:48px;transition:all var(--anim-fast) ease}.send,.send:hover{background:var(--brand)}.send:hover{box-shadow:0 4px 12px #5b8cff4d;filter:brightness(1.1);transform:translateY(-1px)}.send:active{transform:translateY(0)}.send:disabled{background:var(--surface-3);box-shadow:none;color:var(--text-3);cursor:not-allowed;transform:none}.mt-legal{color:var(--text-3);font-size:11px;margin-top:var(--space-1);opacity:.7;text-align:center}@media (max-width:900px){.inputbar{gap:var(--space-3);padding:var(--space-4) var(--space-3);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0))}.quick-intents{display:none}.input-row{gap:var(--space-3);grid-template-columns:48px 1fr 90px}.mic{-webkit-tap-highlight-color:transparent;height:48px;width:48px}.mic:active{transform:scale(.95)}.inputbar .text{word-wrap:break-word;font-size:16px;line-height:1.5;max-height:150px;min-height:48px;overflow-wrap:break-word;padding:12px var(--space-4);white-space:pre-wrap}.inputbar .text,.send{-webkit-tap-highlight-color:transparent}.send{font-size:15px;font-weight:var(--font-bold);height:48px}.send:active:not(:disabled){transform:scale(.95)}.mt-legal{font-size:10px;margin-top:var(--space-2)}}.modal-card{max-width:960px;width:min(960px,92vw)}@media (max-width:900px){.modal-card{animation:slideUpMobile .3s ease-out;border-radius:0;max-height:100vh;max-width:100%;min-width:100%;width:100%}.modal-header.intake-header{gap:var(--space-3);padding:var(--space-4) var(--space-4)}.modal-header h2{font-size:20px}.icon-close{-webkit-tap-highlight-color:transparent;height:40px;width:40px}.icon-close:active{transform:scale(.95)}.modal-body,.modal-footer{padding:var(--space-4) var(--space-4)}.modal-footer{gap:var(--space-3)}.btn{-webkit-tap-highlight-color:transparent;min-height:48px;padding:12px var(--space-4)}.btn:active{transform:scale(.98)}}.modal-header.intake-header{background:var(--surface-1);border-bottom:1px solid var(--border-1);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:2}.progress{align-items:center;display:flex;gap:var(--space-3);width:100%}.progress-steps{display:flex;flex:1 1;gap:var(--space-2)}.progress-step{background:var(--surface-3);border-radius:2px;flex:1 1;height:4px;overflow:hidden;position:relative}.progress-step.active,.progress-step.completed{background:var(--brand)}.progress-text{color:var(--text-3);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.modal-footer{justify-content:space-between}.btn{height:44px;padding:0 var(--space-5)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary:disabled:hover{box-shadow:none;filter:none}.grid{align-items:start}.grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.field-input input,.field-input select{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#111827;font-size:15px;font-weight:400;line-height:1.5;min-height:48px;padding:14px 16px;transition:all var(--anim-fast) ease;width:100%}.field-input input:hover,.field-input select:hover{border-color:#d1d5db;box-shadow:0 1px 3px #00000014}.field-input input:focus,.field-input select:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px #5b8cff1f,0 1px 3px #00000014;outline:none}.radio-row{color:var(--text-1);display:flex;flex-wrap:wrap;gap:var(--space-3)}.radio-row label{align-items:center;background:var(--surface-2);border:2px solid var(--border-1);border-radius:var(--radius-round);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--anim-fast) ease}.radio-row label:hover{background:var(--surface-3);border-color:var(--brand)}.radio-row input[type=radio]:checked+label,.radio-row label:has(input[type=radio]:checked){background:#5b8cff1a;border-color:var(--brand);color:var(--brand);font-weight:var(--font-semibold)}.radio-row input[type=radio]{accent-color:var(--brand)}.tooltip{align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:50%;color:var(--text-2);cursor:help;display:inline-flex;font-size:12px;font-weight:var(--font-bold);height:20px;justify-content:center;position:relative;transition:all var(--anim-fast) ease;width:20px}.tooltip:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.1)}.tooltip-content{background:var(--text-1);border-radius:var(--radius-md);bottom:calc(100% + 8px);box-shadow:0 4px 12px #00000026;color:#fff;font-size:var(--text-xs);font-weight:var(--font-normal);line-height:1.4;padding:var(--space-2) var(--space-3);pointer-events:none;text-align:left;white-space:normal;width:200px;z-index:10000}.tooltip-content,.tooltip-content:after{left:50%;position:absolute;transform:translateX(-50%)}.tooltip-content:after{border:6px solid #0000;border-top:6px solid var(--text-1);content:"";top:100%}.error{background:#ef44441a;border-left:3px solid var(--error);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-3) var(--space-4)}.error ul{margin:var(--space-2) 0 0 var(--space-5)}.error li{margin:var(--space-1) 0}.field-error .field-input input,.field-error .field-input select{background:#ef44440d;border-color:var(--error)}.field-error-msg{color:var(--error);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{animation:slideUp .3s ease-out;background:var(--surface-1);border:1px solid var(--border-1);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1080px;min-width:360px;overflow:hidden;position:relative;width:min(1080px,96vw)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-card.large{max-width:1180px}@media (max-width:900px){.modal-card{animation:slideUpMobile .3s ease-out;border-radius:0;max-height:100vh;max-width:100%;min-width:100%;width:100%}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--space-4) var(--space-4)}.modal-header h2{font-size:20px;margin-left:60px}.icon-close{-webkit-tap-highlight-color:transparent;height:40px;width:40px}.icon-close:active{transform:scale(.95)}}.modal-header{background:var(--surface-1);border-bottom:1px solid var(--border-1);padding:var(--space-5) var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:2}.modal-header.profile-header{align-items:center;display:flex;gap:var(--space-3)}.modal-header h2{color:var(--text-1);font-size:24px;font-weight:var(--font-bold);letter-spacing:-.02em;margin:0}@media (max-width:900px){.modal-header h2{margin-left:60px!important}}.icon-close{align-items:center;background:var(--surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:auto;transition:all var(--anim-fast) ease;width:36px}.icon-close:hover{background:var(--surface-3);border-color:var(--brand);color:var(--brand);transform:scale(1.05)}.modal-body{flex:1 1;min-height:0;overflow:auto;padding:var(--space-6)}.modal-body,.modal-footer{background:var(--surface-1)}.modal-footer{border-top:1px solid var(--border-1);bottom:0;display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-6);position:-webkit-sticky;position:sticky;z-index:2}.btn{border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);height:40px;padding:0 var(--space-4);transition:all var(--anim-fast) ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand);box-shadow:0 4px 12px #5b8cff66;filter:brightness(1.1)}.btn-secondary{background:var(--surface-2);border-color:var(--border-1);color:var(--text-1)}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{background:#0000;border-color:var(--border-1);color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text-1)}.tabs{background:var(--surface-1);border-bottom:1px solid var(--border-1);display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-6);position:-webkit-sticky;position:sticky;top:0;z-index:1}.tab{background:#0000;border:2px solid #0000;border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);transition:all var(--anim-fast) ease}.tab:hover{background:var(--surface-2);color:var(--text-1)}.tab.active{background:var(--brand);border-color:#0000;color:#fff;font-weight:var(--font-semibold)}.toolbar{align-items:center;display:flex;gap:8px;margin:8px 0 12px}.data-table{background:var(--surface-1);border:1px solid var(--border-1);border-collapse:initial;border-radius:12px;border-spacing:0;overflow:hidden;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border-1);padding:var(--space-3) var(--space-4);text-align:left}.data-table thead 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}.data-table tbody tr{transition:background var(--anim-fast) ease}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:none}.row-actions{display:flex;gap:var(--space-2)}.danger{color:var(--error)}.grid{grid-gap:var(--space-5) var(--space-6);display:grid;gap:var(--space-5) var(--space-6);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-1);font-size:var(--text-sm);font-weight:var(--font-semibold)}.field-input input,.field-input select,textarea{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#111827;font-size:15px;font-weight:400;line-height:1.5;min-height:48px;padding:14px 16px;transition:all var(--anim-fast) ease;width:100%}.field-input select{appearance:none;-webkit-appearance:none;-moz-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 16px center;background-repeat:no-repeat;background-size:12px;cursor:pointer;height:auto!important;line-height:1.5!important;min-height:48px!important;padding:12px 40px 12px 16px!important;vertical-align:middle}.field-input select option{background:#fff;border-radius:8px;color:#111827;font-size:15px;padding:12px 16px}.field-input select option:hover{background:var(--surface-2)}.field-input select option:checked{background:var(--brand);color:#fff;font-weight:var(--font-semibold)}.field-input input:hover,.field-input select:hover,textarea:hover{border-color:#d1d5db;box-shadow:0 1px 3px #00000014}.field-input input:focus,.field-input select:focus,textarea:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px #5b8cff1f,0 1px 3px #00000014;outline:none}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;min-height:120px;resize:vertical}.error{color:var(--error);font-weight:var(--font-medium);margin:var(--space-2) 0}.empty,.error{font-size:var(--text-sm)}.empty{color:var(--text-3);padding:var(--space-4);text-align:center}@media (max-width:920px){.grid{grid-template-columns:1fr}}.plaid-tab{display:flex;flex-direction:column;gap:var(--space-4)}.plaid-tab-add{display:flex;justify-content:flex-end;margin-top:var(--space-1)}.plaid-link-container{align-items:flex-start;display:flex;flex-direction:column;gap:8px;padding:0 0 16px}.plaid-link-button{align-items:center;background:#4f46e5;background:var(--brand,#4f46e5);border:none;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:8px 16px;transition:all .2s ease}.plaid-link-actions{position:relative}.plaid-link-dropdown{background:#fff;background:var(--surface-1,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-1,#e0e0e0);border-radius:10px;box-shadow:0 8px 20px #0f172a1f;margin-top:8px;padding:4px;position:absolute;right:0;top:100%;width:260px;z-index:10}.plaid-link-option{align-items:flex-start;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-size:13px;gap:2px;padding:8px 10px;text-align:left;width:100%}.plaid-link-option:hover{background-color:#f3f4f6;background-color:var(--surface-2,#f3f4f6)}.plaid-link-option-label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:500}.plaid-link-option-hint{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px}.plaid-link-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;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:20px}.plaid-link-description{color:#666;color:var(--text-secondary,#666);font-size:14px;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{border:4px solid #667eea33;border-top-color:#667eea}.spinner-small{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.error-message{margin:0}.plaid-accounts-list{display:flex;flex-direction:column;gap:var(--space-4);padding:0}.accounts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.accounts-header h3{color:#111827;font-size:20px;font-weight:600;margin: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(--space-4);transition:all var(--anim-fast) ease}.sync-all-button:hover:not(:disabled){background-color:var(--brand);box-shadow:0 4px 12px #5b8cff33;color:#fff;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:16px;box-shadow:0 2px 8px #00000014;color:#111827;padding:var(--space-5) var(--space-5);transition:all var(--anim-fast) ease}.item-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.item-main{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.item-left{display:flex;flex:1 1;flex-direction:column;gap:12px}.institution-row{align-items:center;display:flex;gap:12px}.item-actions-row{align-items:center;display:flex;gap:8px;margin-top:0}.institution-logo{align-items:center;background:#3b82f61a;border-radius:12px;color:#3b82f6;display:flex;font-size:22px;height:40px;justify-content:center;width:40px}.institution-logo svg{color:#3b82f6}.institution-text{display:flex;flex-direction:column;gap:2px}.institution-name{color:#111827;font-size:16px;font-weight:600;margin:0}.institution-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:13px}.institution-balance{color:var(--brand);font-size:22px;font-weight:var(--font-bold);letter-spacing:-.02em}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:var(--font-semibold);gap:6px;letter-spacing:.08em;padding:6px 14px;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:8px}.item-right{align-items: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-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:#6b7280;cursor:pointer;display:flex;font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-2) var(--space-3);transition:all var(--anim-fast) ease}.item-more svg,.item-refresh svg{color:#6b7280;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:14px}.item-more .more-icon{font-size:16px;line-height:1}.item-more:disabled,.item-refresh:disabled{cursor:not-allowed;opacity:.55}.item-meta{border-top:1px solid var(--border-1);color:#6b7280;display:flex;font-size:var(--text-xs);gap:var(--space-4);margin-bottom:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-3)}.meta-item{align-items:center;display:flex;gap:4px}.item-accounts{gap:8px;margin-top:8px}.item-account,.item-accounts{display:flex;flex-direction:column}.item-account{color:#111827;color:var(--text-primary,#111827);font-size:12px;gap:2px}.item-account-name{color:#111827;font-size:15px;font-weight:500}.item-account-mask{color:#6b7280;font-weight:400}.item-account-last-synced{color:#6b7280;color:var(--text-secondary,#6b7280)}.item-account-value{color:#2563eb;font-size:18px;font-weight:600}.accounts-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:8px}.account-card{background-color:initial;border:none;border-radius:0;display:flex;gap:10px;padding:8px 0;transition:background-color .15s ease}.account-card:hover{background-color:#f8f9fa;background-color:var(--bg-secondary,#f8f9fa);box-shadow:none}.account-icon{font-size:22px;line-height:1}.account-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.account-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px;font-weight:600}.account-mask{font-weight:400}.account-mask,.account-type{color:#666;color:var(--text-secondary,#666)}.account-type{font-size:12px;text-transform:capitalize}.account-balance{color:#667eea;font-size:16px;font-weight:700;margin-top:4px}.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-2);border-radius:16px;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}.spinner{animation:spin .8s linear infinite;border:4px solid #5b8cff33;border-radius:50%;border-top:4px solid var(--brand);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-icon{align-items:center;background:#5b8cff1a;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:20px;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-base);line-height:1.6;margin:0 0 var(--space-6) 0;max-width:480px}.error-message{color:#e74c3c;color:var(--error-color,#e74c3c);font-size:14px;margin:0 0 16px}.retry-button{background-color:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s ease}.retry-button:hover{background-color:#5568d3}
/*# sourceMappingURL=main.ecda92a2.css.map*/