:root{--bg: #0a0b0f;--bg-elevated: #12141a;--bg-hover: #1a1d26;--bg-active: #232733;--border: #1f2229;--border-strong: #2a2e38;--text: #e8ebf0;--text-dim: #a4a9b4;--text-faint: #6b707b;--accent: #7c8cff;--accent-soft: rgba(124, 140, 255, .12);--user-bg: #1d2a4d;--user-border: #2a3a6a;--success: #6ee7b7;--error: #f87171;--warning: #fbbf24;--code-bg: #06070a;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.04) inset;--radius: 10px;--radius-sm: 6px;--sidebar-w: 280px}:root{--panel: #161d33;--chart-bg: #0f1830;--chart-border: #243056;--scroll-thumb: #2a2e38;--scroll-thumb-hover: #3a3f4d}html[data-theme=light]{--bg: #ffffff;--bg-elevated: #f6f7f9;--bg-hover: #eef0f4;--bg-active: #e5e7eb;--border: #e6e8ec;--border-strong: #d0d5dd;--text: #1f2937;--text-dim: #4b5563;--text-faint: #9097a3;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .1);--user-bg: #dbeafe;--user-border: #bfdbfe;--success: #059669;--error: #dc2626;--warning: #b45309;--code-bg: #f3f4f6;--shadow: 0 1px 3px rgba(16,24,40,.1), 0 1px 0 rgba(255,255,255,.6) inset;--panel: #ffffff;--chart-bg: #ffffff;--chart-border: #d0d5dd;--scroll-thumb: #cbd2dc;--scroll-thumb-hover: #aeb6c2}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-track{background:transparent}button{font:inherit;cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}svg.icon{flex-shrink:0;display:inline-block;vertical-align:middle;max-width:16px;max-height:16px}svg.icon.chev{max-width:12px;max-height:12px}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden;transition:grid-template-columns .24s cubic-bezier(.4,0,.2,1)}.app.sidebar-collapsed{grid-template-columns:0 1fr}.sidebar{display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border);min-width:0;min-height:0;height:100vh;overflow:hidden}.sidebar-head{padding:14px 14px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.msg-actions{display:flex;gap:6px;margin-top:8px;opacity:0;transition:opacity .15s}.msg.agent:hover .msg-actions,.msg.user:hover .msg-actions,.msg-actions:focus-within{opacity:1}.msg.user .msg-actions.user-actions{justify-content:flex-end}.msg-action{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;background:transparent;border:1px solid var(--border);border-radius:7px;color:var(--text-dim);transition:color .15s,background .15s,border-color .15s}.msg-action:hover{color:var(--text);background:#7c8cff1a;border-color:#7c8cff59}.copied-tick{color:var(--success, #4fa947);font-weight:700}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;background:transparent;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-dim);transition:color .15s,background .15s,border-color .15s}.topbar-btn:hover{color:var(--text);background:var(--bg-hover);border-color:var(--accent)}.editing-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 12px;border-radius:10px;font-size:12.5px;color:#cdd3ff;background:#7c8cff1f;border:1px solid rgba(124,140,255,.32)}.editing-banner span{display:inline-flex;align-items:center;gap:7px}.editing-cancel{flex:none;background:transparent;border:1px solid rgba(124,140,255,.4);color:#cdd3ff;border-radius:7px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600}.editing-cancel:hover{background:#7c8cff2e;color:#fff}.usage-meter{margin:0 0 10px;padding:9px 10px;border-radius:9px;background:var(--bg);border:1px solid var(--border)}.usage-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.usage-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);font-weight:700}.usage-pct{font-size:12.5px;font-weight:800;transition:color .4s ease}.usage-track{height:6px;border-radius:4px;background:#ffffff12;overflow:hidden}.usage-fill{height:100%;border-radius:4px;transition:width .4s ease,background .4s ease}.usage-sub{margin-top:5px;font-size:10.5px;color:var(--text-faint)}.limit-banner{margin:0 0 8px;padding:9px 12px;border-radius:10px;font-size:12.5px;font-weight:600;color:#d99a9a;background:#aa41411f;border:1px solid rgba(170,65,65,.38)}.usage-pct.usage-unlimited{color:#4fa947;font-weight:800;letter-spacing:.2px}.docs-box{margin:8px 0 4px}.docs-box-head{font-size:11px;font-weight:700;color:#8fbf88;letter-spacing:.2px;margin-bottom:6px}.docs-item{display:flex;align-items:stretch;width:100%;margin-bottom:5px;border-radius:8px;overflow:hidden;background:#4fa9471a;border:1px solid rgba(79,169,71,.32);color:#d7e6d3;transition:background .15s ease,border-color .15s ease}.docs-item:hover{background:#4fa9472e;border-color:#4fa9478c}.docs-item-open{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:7px 9px;background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.docs-del{flex:0 0 auto;background:none;border:none;border-left:1px solid rgba(79,169,71,.22);color:#8fbf88;font-size:12px;line-height:1;padding:0 10px;cursor:pointer;transition:color .15s ease,background .15s ease}.docs-del:hover{color:#d98a7f;background:#aa41411f}.docs-del:disabled{opacity:.55;cursor:default}.docs-del-confirm{display:flex;align-items:center;gap:5px;padding:0 7px;flex:0 0 auto}.docs-del-yes{background:#a8453d;color:#fff;border:none;border-radius:6px;font-size:10.5px;font-weight:700;padding:4px 9px;cursor:pointer}.docs-del-yes:hover{filter:brightness(1.12)}.docs-del-no{background:transparent;color:#aab6cf;border:1px solid rgba(170,182,207,.35);border-radius:6px;font-size:10.5px;padding:3px 9px;cursor:pointer}.docs-del-no:hover{color:#e7ebf4;border-color:#aab6cf99}.docs-item-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-item-meta{margin-left:auto;font-size:10.5px;color:#8fbf88;white-space:nowrap}.audit-notice{position:fixed;right:20px;bottom:20px;z-index:900;max-width:380px;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.45;color:#eef1f8;background:var(--panel, #161d33);border:1px solid rgba(79,169,71,.5);box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff08 inset;animation:limitFade .2s ease}.audit-notice.err{border-color:#aa41418c}.audit-notice-body{display:flex;flex-direction:column;gap:9px}.audit-notice-dl{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:#4fa947;color:#fff;text-decoration:none;font-weight:700;font-size:12.5px;padding:7px 14px;border-radius:8px;transition:filter .15s ease}.audit-notice-dl:hover{filter:brightness(1.1)}.audit-notice-x{margin-left:auto;align-self:flex-start;background:none;border:none;color:var(--text-faint, #8b93a7);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.audit-notice-x:hover{color:#eef1f8}.limit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0a0e1c9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:limitFade .18s ease}@keyframes limitFade{0%{opacity:0}to{opacity:1}}.limit-modal{width:min(440px,calc(100vw - 40px));text-align:center;padding:28px 26px 24px;background:var(--panel, #161d33);border:1px solid var(--border, rgba(255,255,255,.08));border-radius:16px;box-shadow:0 24px 70px #0000008c,0 0 0 1px #ffffff08 inset}.limit-modal-icon{font-size:34px;line-height:1;margin-bottom:10px}.limit-modal h2{margin:0 0 10px;font-size:18px;font-weight:800;color:var(--text, #eef1f8)}.limit-modal p{margin:0 0 8px;font-size:13.5px;line-height:1.55;color:var(--text-soft, #c3cad9)}.limit-modal .limit-modal-sub{font-size:12px;color:var(--text-faint, #8b93a7);margin-bottom:18px}.limit-modal-btn{margin-top:4px;padding:9px 22px;border-radius:10px;border:none;cursor:pointer;font-size:13.5px;font-weight:700;color:#fff;background:#17254a;box-shadow:0 6px 16px #17254a80;transition:filter .15s ease}.limit-modal-btn:hover{filter:brightness(1.18)}@media (prefers-reduced-motion: reduce){.limit-modal-overlay{animation:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.sidebar-collapse{margin-left:auto;flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;cursor:pointer;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);transition:color .15s,background .15s,border-color .15s}.sidebar-collapse:hover{color:var(--text);background:#7c8cff1f;border-color:#7c8cff66}.sidebar-open{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:10px;padding:0;cursor:pointer;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);transition:color .15s,background .15s,border-color .15s}.sidebar-open:hover{color:var(--text);background:#7c8cff1f;border-color:#7c8cff66}.brand{display:flex;align-items:center;gap:8px}.brand-mark{width:28px;height:28px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(124,140,255,.18))}.brand-name{font-weight:600;font-size:14px;letter-spacing:-.01em;display:flex;align-items:baseline;gap:6px}.brand-version{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(124,140,255,.25);padding:1px 6px;border-radius:999px;position:relative;top:-1px}.new-chat{margin:10px 12px;background:var(--bg-active);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;display:flex;align-items:center;gap:8px;font-weight:500;transition:background .15s,border-color .15s}.new-chat:hover{background:var(--bg-hover);border-color:#3a3f4d}.new-chat svg{width:14px;height:14px}.upload-policy{margin:0 12px 8px;width:calc(100% - 24px);background:transparent;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:12.5px;transition:background .15s,border-color .15s,color .15s}.upload-policy:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text)}.upload-status{margin:0 12px 8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:11.5px;line-height:1.4;word-break:break-word}.upload-status.working{background:var(--accent-soft);color:var(--accent)}.upload-status.ok{background:#6ee7b71f;color:var(--success)}.upload-status.err{background:#f871711f;color:var(--error)}.search-box{margin:0 12px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;padding:6px 10px;transition:border-color .15s}.search-box:focus-within{border-color:var(--border-strong)}.search-box svg{width:14px;height:14px;color:var(--text-faint);flex-shrink:0}.search-box input{flex:1;background:none;border:none;outline:none;color:var(--text);font:inherit;font-size:13px;min-width:0}.search-box input::placeholder{color:var(--text-faint)}.search-clear{background:none;border:none;color:var(--text-faint);font-size:18px;line-height:1;padding:0 4px;border-radius:3px}.search-clear:hover{color:var(--text);background:var(--bg-hover)}.sessions-empty{padding:14px;color:var(--text-faint);font-size:12px}.session-rename{flex:1;background:var(--bg);border:1px solid var(--accent);border-radius:4px;padding:3px 6px;color:var(--text);font:inherit;font-size:13px;outline:none;min-width:0}.sessions{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px;min-height:0}.session{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;position:relative;transition:background .12s}.session:hover{background:var(--bg-hover);color:var(--text)}.session.active{background:var(--bg-active);color:var(--text)}.session-title{flex:1;overflow:hidden;text-overflow:ellipsis}.session-del{background:none;border:none;color:var(--text-faint);padding:4px 6px;border-radius:4px;display:grid;place-items:center;opacity:.55;transition:opacity .12s,color .12s,background .12s;flex-shrink:0}.session:hover .session-del{opacity:1}.session-del:hover{color:var(--error)!important;background:#f8717126}.session-del svg{width:14px;height:14px;display:block}.sidebar-foot{padding:10px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint);display:flex;flex-direction:column;gap:4px}.sidebar-foot .row{display:flex;justify-content:space-between;gap:8px}.sidebar-foot .label{color:var(--text-faint)}.sidebar-foot .val{color:var(--text-dim);font-variant-numeric:tabular-nums}.attribution{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;justify-content:center;opacity:.7;transition:opacity .15s}.attribution:hover{opacity:1}.attribution .by{color:var(--text-faint);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.attribution .wordmark{height:16px;width:auto;object-fit:contain}.foot-bar{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.foot-bar .attribution{margin:0;padding:0;border:0;justify-content:flex-start}.foot-actions{display:flex;align-items:center;gap:4px}.foot-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.foot-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.foot-btn.danger:hover{color:#e5484d;border-color:#e5484d8c;background:#e5484d14}.main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;overflow:hidden}.topbar{padding:12px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;background:var(--bg)}.topbar h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.topbar .badge{font-size:11px;color:var(--text-dim);background:var(--bg-elevated);border:1px solid var(--border);padding:3px 8px;border-radius:999px;white-space:nowrap}.tenant-chip{display:flex;align-items:center;gap:6px;flex:none;font-size:11.5px;color:var(--text-dim);background:var(--accent-soft);border:1px solid var(--border-strong);padding:4px 11px;border-radius:999px;white-space:nowrap}.tenant-chip b{color:var(--text);font-weight:600}.tenant-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);flex:none}.tenant-chip .tenant-chip-sub{font-family:Consolas,ui-monospace,monospace;font-size:10px;color:var(--text-faint);padding-left:6px;margin-left:2px;border-left:1px solid var(--border-strong)}.scroll-area{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;position:relative;min-height:0}.thread{max-width:820px;width:100%;margin:0 auto;padding:28px 24px 140px;display:flex;flex-direction:column;gap:18px;min-width:0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px 40px;max-width:720px;margin:0 auto}.empty .mark{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 30px rgba(124,140,255,.35));margin-bottom:18px}.empty h1{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.02em}.empty p{margin:0 0 28px;color:var(--text-dim);font-size:14px}.examples{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:640px}.example-card{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius);padding:12px 14px;text-align:left;font-size:13px;line-height:1.4;transition:border-color .15s,background .15s,transform .12s}.example-card:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text)}.example-card .tag{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.msg{display:flex;flex-direction:column;gap:8px}.msg.user .bubble{align-self:flex-end;max-width:78%;background:var(--user-bg);border:1px solid var(--user-border);padding:10px 14px;border-radius:14px 14px 4px;font-size:14px;white-space:pre-wrap;word-break:break-word}.msg.agent .bubble{align-self:stretch;padding:0;min-width:0;max-width:100%;overflow:hidden}.md{font-size:14.5px;line-height:1.65;min-width:0;overflow-wrap:anywhere;word-break:break-word}.md>*{max-width:100%}.md .table-wrap{overflow-x:auto;max-width:100%}.md p{margin:0 0 12px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3{margin:16px 0 8px;font-weight:600;letter-spacing:-.01em}.md h1{font-size:20px}.md h2{font-size:17px}.md h3{font-size:15px}.md a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s}.md a:hover{border-bottom-color:var(--accent)}.md code{background:var(--code-bg);padding:1px 5px;border-radius:4px;font:12.5px/1.5 ui-monospace,SF Mono,Menlo,Consolas,monospace;border:1px solid var(--border)}.md pre{background:var(--code-bg);padding:12px 14px;border-radius:8px;overflow-x:auto;border:1px solid var(--border);margin:10px 0}.md pre code{background:none;padding:0;border:none;font-size:12.5px}.md ul,.md ol{padding-left:22px;margin:6px 0 12px}.md li{margin:3px 0}.md blockquote{border-left:3px solid var(--border-strong);padding:0 14px;color:var(--text-dim);margin:10px 0}.md table{border-collapse:collapse;margin:12px 0;font-size:13px;display:block;overflow-x:auto;max-width:100%}.md th,.md td{border:1px solid var(--border-strong);padding:6px 10px;text-align:left;vertical-align:top;white-space:normal;word-break:break-word}.md th{background:var(--bg-elevated);font-weight:600}.md hr{border:none;border-top:1px solid var(--border);margin:16px 0}.trace{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.trace-head{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text-dim);transition:background .12s}.trace-head:hover{background:var(--bg-hover)}.trace-head .chev{width:12px;height:12px;transition:transform .15s}.trace.open .trace-head .chev{transform:rotate(90deg)}.trace-head .lbl{font-weight:500;color:var(--text)}.trace-head .pill{font-size:10px;padding:2px 7px;border-radius:999px;font-weight:500;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(124,140,255,.25)}.trace-head .spacer{flex:1}.trace-head .summary{color:var(--text-faint);font-size:11.5px}.trace-body{padding:0 12px 10px;display:none}.trace.open .trace-body{display:block}.trace-step{display:flex;gap:10px;padding:6px 0;align-items:flex-start;font:12px ui-monospace,SF Mono,Consolas,monospace}.trace-step+.trace-step{border-top:1px dashed var(--border)}.trace-step .tool{background:var(--accent-soft);color:var(--accent);padding:1px 7px;border-radius:4px;font-weight:500;white-space:nowrap}.trace-step .args{color:var(--text-dim);word-break:break-all;flex:1;min-width:0}.trace-step .result-ok{color:var(--success);white-space:nowrap}.trace-step .result-err{color:var(--error);white-space:nowrap}.activity{display:flex;align-items:center;gap:10px;padding:6px 2px;color:var(--text-dim);font-size:14px}.activity-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite;flex-shrink:0}.activity-label{background:linear-gradient(90deg,var(--text-faint) 25%,var(--text) 50%,var(--text-faint) 75%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.6s linear infinite;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}.steps{margin-bottom:8px}.steps-head{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text-faint);padding:3px 0;transition:color .12s}.steps-head:hover{color:var(--text-dim)}.steps-head .chev{width:11px;height:11px;transition:transform .15s}.steps.open .steps-head .chev{transform:rotate(90deg)}.steps-lbl{letter-spacing:.01em}.steps-body{display:none;padding:6px 0 2px 4px}.steps.open .steps-body{display:block}.step-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);padding:2px 0}.step-dot{color:var(--success);font-size:11px}.msg-meta{display:flex;gap:14px;margin-top:10px;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums;border-top:1px solid var(--border);padding-top:8px}.msg-meta .cache-hit{color:var(--success)}.thinking{display:inline-flex;gap:4px;padding:4px 2px}.thinking span{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:bounce 1.2s infinite ease-in-out}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.composer-wrap{position:sticky;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,var(--bg) 20%);padding:18px 24px 22px;pointer-events:none}.composer{max-width:820px;margin:0 auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:14px;padding:10px 12px 10px 14px;display:flex;align-items:flex-end;gap:10px;pointer-events:auto;box-shadow:var(--shadow);transition:border-color .15s}.composer:focus-within{border-color:var(--accent)}.composer .attach{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:transparent;color:var(--text-dim);border:1px solid var(--border-strong);display:grid;place-items:center;transition:background .12s,color .12s,border-color .12s;align-self:flex-end}.composer .attach:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--accent)}.composer .attach:disabled{opacity:.4;cursor:not-allowed}.composer textarea{flex:1;background:transparent;color:var(--text);border:none;font:inherit;resize:none;outline:none;min-height:24px;max-height:200px;padding:4px 0;line-height:1.5}.composer .send.stop{background:var(--error)}.composer .send.stop:hover{background:#ef5350}.composer-upload{max-width:820px;margin:8px auto 0}.composer textarea::placeholder{color:var(--text-faint)}.composer .send{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;border:none;display:grid;place-items:center;transition:background .12s,transform .08s;flex-shrink:0}.composer .send:hover:not(:disabled){background:#8d9bff}.composer .send:active{transform:scale(.94)}.composer .send:disabled{background:var(--bg-active);color:var(--text-faint);cursor:not-allowed}.composer .send svg{width:15px;height:15px}.composer-hint{max-width:820px;margin:6px auto 0;padding:0 4px;font-size:11px;color:var(--text-faint);display:flex;gap:14px;pointer-events:auto}.composer-hint kbd{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:10.5px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;padding:1px 5px;color:var(--text-dim)}.scroll-to-bottom{position:absolute;left:50%;bottom:110px;transform:translate(-50%);width:36px;height:36px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-strong);display:grid;place-items:center;color:var(--text-dim);box-shadow:0 6px 20px #0006;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.scroll-to-bottom.visible{opacity:1;pointer-events:auto}.scroll-to-bottom:hover{color:var(--text);border-color:#3a3f4d;transform:translate(-50%) translateY(-2px)}.scroll-to-bottom svg{width:16px;height:16px}@media (max-width: 720px){.app{grid-template-columns:0 1fr}.sidebar{display:none}}.attachment-chip.download{text-decoration:none}.attachment-chip.download.preparing{opacity:.8;border-style:dashed}.attachment-chip.download.preparing .att-icon{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.send.queue-add{background:#47c5e9}.send.queue-add:hover{background:#6fd3f0}.bubble.queued{display:inline-flex;align-items:center;gap:9px;background:transparent!important;border:1px solid rgba(159,176,214,.22)!important;color:#8b94a8!important;font-style:italic;font-weight:400;box-shadow:none!important}.queued-badge{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#8b94a8;background:#8b94a824;border-radius:5px;padding:2px 7px}.queued-text{color:#9aa3b5;font-style:italic}.queued-x{background:transparent;border:none;color:#6e7791;cursor:pointer;font-size:11px;padding:0 2px;font-style:normal}.queued-x:hover{color:#c9d2e6}.storage-warn{pointer-events:auto;max-width:820px;margin:0 auto 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffd23f1a;border:1px solid #ffd23f;color:#ffe7a3;border-radius:10px;padding:8px 12px;font-size:13px}.storage-warn-x{background:transparent;border:none;color:#ffd23f;cursor:pointer;font-size:12px}.storage-warn-x:hover{color:#fff}.dash-builder{pointer-events:auto;max-width:820px;margin:0 auto 10px;background:#0f1830;border:1px solid #2a3a5c;border-radius:14px;padding:14px 16px;box-shadow:0 6px 24px #00000047}.dash-builder-head{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;font-size:14px;margin-bottom:6px}.dash-builder-title{display:inline-flex;align-items:center;gap:8px}.dash-builder-title .icon{color:#47c5e9}.dash-x{background:transparent;border:none;color:#9fb0d6;cursor:pointer;font-size:14px}.dash-x:hover{color:#fff}.dash-section-label{color:#9fb0d6;font-size:11px;text-transform:uppercase;letter-spacing:.4px;margin:10px 0 6px}.dash-chips{display:flex;flex-wrap:wrap;gap:8px}.dash-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #2a3a5c;background:#17254a;color:#c9d2e6;border-radius:999px;padding:6px 13px 6px 11px;font-size:12.5px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;user-select:none}.dash-chip:hover{border-color:#47c5e9;background:#1d2c54}.dash-chip .dash-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:10px;font-weight:800;background:#2a3a5c;color:#9fb0d6}.dash-chip.on{background:#4fa947;border-color:#4fa947;color:#fff;font-weight:600}.dash-chip.on .dash-mark{background:#ffffff40;color:#fff}.dash-toggle.active{background:#4fa947;border-color:#4fa947;color:#fff}.dash-builder-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.dash-count{color:#9fb0d6;font-size:12px}.dash-generate{background:#4fa947;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;font-size:13px;cursor:pointer}.dash-generate:hover{background:#44963d}.dash-generate:disabled{opacity:.5;cursor:not-allowed}.dash-toggle{font-size:16px}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:8px;padding:8px 12px;font-size:13px;background:var(--bg-elevated);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.theme-toggle:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.saved-dash{padding:8px 12px 4px;border-top:1px solid var(--border)}.saved-dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.saved-dash-head span{font-size:9.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);font-weight:700}.saved-dash-refresh{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer}.saved-dash-refresh:hover{background:var(--bg-hover);color:var(--accent)}.saved-dash-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:13px}.saved-dash-item:hover{background:var(--bg-hover);color:var(--text)}.saved-dash-item>.icon{flex:none;color:var(--text-faint)}.saved-dash-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-dash-del{background:transparent;border:none;color:var(--text-faint);cursor:pointer;font-size:11px;opacity:0;padding:0 2px}.saved-dash-item:hover .saved-dash-del{opacity:1}.saved-dash-del:hover{color:var(--error)}.chart-save{position:absolute;top:8px;right:46px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#0f1830c7;color:#ffd23f;border:1px solid var(--chart-border);font-size:15px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .15s,border-color .15s,transform .04s}.chart-save:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.chart-save:active{transform:translateY(1px)}.charts{margin-top:12px;display:flex;flex-direction:column;gap:10px}.chart-card{position:relative;display:block;max-width:640px;width:100%;border:1px solid var(--chart-border);border-radius:12px;overflow:hidden;background:var(--chart-bg);box-shadow:0 2px 10px #0000002e;line-height:0}.chart-card:hover{border-color:#47c5e9}.chart-img{display:block;width:100%;height:auto}.chart-download{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#0f1830c7;color:#e6ecff;text-decoration:none;font-size:16px;line-height:1;border:1px solid #2a3a5c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .15s,border-color .15s}.chart-download:hover{background:#4fa947;border-color:#4fa947;color:#fff}.md img{max-width:100%;height:auto;border-radius:8px}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.attachment-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f4f6fb;border:1px solid #d8def0;border-radius:10px;font:inherit;font-size:13px;color:#1e2761;cursor:pointer;transition:background .12s,border-color .12s,transform .04s}.attachment-chip:hover{background:#eaeefa;border-color:#b8c2e6}.attachment-chip:active{transform:translateY(1px)}.attachment-chip .att-icon{font-size:14px;color:#2563eb}.attachment-chip .att-name{font-weight:600}.attachment-chip .att-size{color:#6e7791;font-weight:400;font-size:12px}.tenant-picker{padding:10px 12px;margin:0 12px 6px;background:var(--bg-active);border:1px solid var(--border-strong);border-radius:var(--radius)}.tenant-picker label{display:flex;align-items:center;gap:6px;font-size:9.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);font-weight:700;margin-bottom:6px}.tenant-picker label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);flex:none}.tenant-picker select{width:100%;padding:7px 28px 7px 9px;font:inherit;font-size:12.5px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--bg-elevated);color:var(--text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a4a9b4' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 9px center}.tenant-picker select:hover{border-color:var(--accent)}.tenant-picker select option{background:var(--bg-elevated);color:var(--text)}.tenant-picker .tenant-cid{font-family:Consolas,ui-monospace,monospace;font-size:9.5px;color:var(--text-faint);margin-top:6px}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(1200px 720px at 50% -12%,#1b2c54 0%,transparent 60%),linear-gradient(180deg,#0c1430,#0a1024 55%,#070b1a);overflow:hidden;padding:24px}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.bg-glow{position:absolute;border-radius:50%;filter:blur(95px);opacity:.34;will-change:transform}.glow-1{width:640px;height:640px;top:-220px;left:-170px;background:radial-gradient(circle,#2b3f78 0%,transparent 70%);animation:glow-drift-1 48s ease-in-out infinite}.glow-2{width:560px;height:560px;bottom:-240px;right:-170px;background:radial-gradient(circle,#1f6a5e 0%,transparent 72%);animation:glow-drift-2 58s ease-in-out infinite}@keyframes glow-drift-1{0%,to{transform:translateZ(0)}50%{transform:translate3d(60px,40px,0)}}@keyframes glow-drift-2{0%,to{transform:translateZ(0)}50%{transform:translate3d(-50px,-30px,0)}}.bg-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 78% 70% at 50% 46%,transparent 42%,rgba(5,8,18,.7) 100%)}.tx-cols{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:0 2.5vw;pointer-events:none;mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 85%,transparent 100%)}.tx-col{width:22%;overflow:hidden}.tx-track{display:flex;flex-direction:column;gap:13px;animation:tx-rise linear infinite;will-change:transform}.tx-col-0 .tx-track{animation-duration:74s}.tx-col-1 .tx-track{animation-duration:96s;animation-delay:-22s}.tx-col-2 .tx-track{animation-duration:84s;animation-delay:-48s}.tx-col-3 .tx-track{animation-duration:108s;animation-delay:-12s}.tx-line{margin:0;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:11px;line-height:1.5;letter-spacing:.2px;color:#8f99fb21}.tx-col-1 .tx-line,.tx-col-3 .tx-line{color:#47c5e91c}@keyframes tx-rise{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (max-width: 900px){.tx-col-2,.tx-col-3{display:none}.tx-col{width:46%}}.scan-sweep{position:absolute;left:0;right:0;height:240px;top:-240px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(79,169,71,.05) 46%,rgba(143,153,251,.1) 50%,rgba(79,169,71,.05) 54%,transparent);animation:scan 12s cubic-bezier(.45,0,.2,1) infinite}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(130vh)}}.glyphs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.glyph{position:absolute;width:30px;height:30px;color:#8f99fb29;filter:drop-shadow(0 0 10px rgba(143,153,251,.1));will-change:transform}.glyph.g0{top:17%;left:21%;animation:g-float 27s ease-in-out infinite}.glyph.g1{top:71%;left:15%;width:26px;color:#47c5e929;animation:g-float 33s ease-in-out infinite -6s}.glyph.g2{top:25%;right:19%;width:28px;animation:g-float 30s ease-in-out infinite -12s}.glyph.g3{top:76%;right:17%;width:32px;color:#4fa9472e;animation:g-float 29s ease-in-out infinite -3s}.glyph.g4{top:47%;left:8%;width:26px;animation:g-float 35s ease-in-out infinite -18s}@keyframes g-float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}@media (max-width: 1100px){.glyphs{display:none}}.bg-globe{position:absolute;width:200px;height:200px;top:50%;left:50%;opacity:.3;pointer-events:none;will-change:transform;filter:drop-shadow(0 0 34px rgba(143,153,251,.4));animation:ghost-spin 90s linear infinite}@keyframes ghost-spin{0%{transform:translate(-50%,-50%) rotate(0) scale(1)}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.04)}to{transform:translate(-50%,-50%) rotate(360deg) scale(1)}}.waveform{position:absolute;left:0;right:0;bottom:0;height:92px;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:0 6vw 22px;opacity:.5;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.waveform span{flex:1;max-width:4px;border-radius:2px;transform-origin:bottom;background:linear-gradient(180deg,#8f99fb8c,#4fa94780);height:100%;transform:scaleY(.18);animation:wave 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * -.11s);will-change:transform}@keyframes wave{0%,to{transform:scaleY(.16)}50%{transform:scaleY(1)}}@media (max-width: 820px){.waveform{height:60px}}.ticker{position:absolute;top:26px;left:0;right:0;z-index:1;overflow:hidden;display:flex;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.ticker-track{display:flex;gap:11px;white-space:nowrap;padding:0 12px;animation:ticker-slide 64s linear infinite;will-change:transform}.tk-chip{--c: #8f99fb;display:inline-flex;align-items:center;gap:8px;flex:none;padding:7px 14px;font-size:10.5px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:#b9c0e0;background:linear-gradient(160deg,#1a284eeb,#0e152ce0);border:1px solid color-mix(in srgb,var(--c) 28%,transparent);border-radius:999px;box-shadow:0 6px 16px #00000047}.tk-dot{width:6px;height:6px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 7px var(--c)}.tk-chip.c-blue{--c: #8f99fb}.tk-chip.c-teal{--c: #47c5e9}.tk-chip.c-violet{--c: #a78bff}.tk-chip.c-green{--c: #4fa947}@keyframes ticker-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width: 900px){.ticker{display:none}}.shooting-star{position:absolute;top:9%;left:0;width:150px;height:1.5px;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(143,153,251,.85));border-radius:2px;opacity:0;filter:drop-shadow(0 0 6px rgba(143,153,251,.7));animation:shoot 17s ease-in infinite}.shooting-star:after{content:"";position:absolute;right:0;top:-1px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 9px 2px #8f99fbe6}@keyframes shoot{0%{transform:translate(-160px) rotate(14deg);opacity:0}2%{opacity:.9}11%{transform:translate(112vw,26vh) rotate(14deg);opacity:0}to{transform:translate(112vw,26vh) rotate(14deg);opacity:0}}.login-card{position:relative;z-index:1;width:100%;max-width:384px;display:flex;flex-direction:column;gap:15px;padding:34px 32px 26px;background:linear-gradient(165deg,#161a24d1,#0d0f16db);border:1px solid rgba(124,140,255,.18);border-radius:20px;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 30px 80px #0009,0 0 0 1px #ffffff08 inset,0 1px #ffffff14 inset;animation:card-in .7s cubic-bezier(.2,.8,.2,1) both}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.login-brand{display:flex;align-items:center;gap:14px}.login-globe{width:46px;height:46px;flex:none;filter:drop-shadow(0 0 14px rgba(124,140,255,.55));animation:globe-pulse 4s ease-in-out infinite}@keyframes globe-pulse{0%,to{filter:drop-shadow(0 0 10px rgba(124,140,255,.4))}50%{filter:drop-shadow(0 0 20px rgba(124,140,255,.75))}}.login-brand-text{display:flex;flex-direction:column;gap:2px}.login-title{font-size:24px;font-weight:800;letter-spacing:-.5px;color:#fff;line-height:1}.login-ver{background:linear-gradient(90deg,var(--accent),#45e0c0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.login-sub{font-size:11.5px;color:var(--text-dim);letter-spacing:.3px}.login-divider{display:flex;align-items:center;gap:10px;margin:2px 0 4px;font-size:9.5px;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-faint);font-weight:700}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(124,140,255,.25),transparent)}.login-field{display:flex;flex-direction:column;gap:6px}.login-field span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);font-weight:700}.login-field input{width:100%;padding:12px 14px;font:inherit;font-size:14px;color:var(--text);background:#08090eb3;border:1px solid rgba(124,140,255,.16);border-radius:11px;transition:border-color .18s,box-shadow .18s,background .18s}.login-field input::placeholder{color:var(--text-faint)}.login-field input:focus{outline:none;background:#08090ef2;border-color:var(--accent);box-shadow:0 0 0 3px #7c8cff29}.pw-wrap{position:relative;display:flex;align-items:center}.pw-wrap input{width:100%;padding-right:42px}.pw-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:none;border:none;padding:5px;cursor:pointer;color:var(--text-faint);border-radius:7px;transition:color .15s,background .15s}.pw-toggle:hover{color:#b9c2ff;background:#7c8cff1f}.login-error{font-size:12.5px;color:#fca5a5;background:#f871711a;border:1px solid rgba(248,113,113,.28);border-radius:10px;padding:9px 11px;animation:shake .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-info{font-size:12.5px;color:#a7f3d0;background:#10b9811a;border:1px solid rgba(16,185,129,.28);border-radius:10px;padding:9px 11px}.login-hint{font-size:11.5px;color:var(--text-dim);margin-top:-2px;line-height:1.45}.login-alt{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-dim);margin-top:2px}.login-alt-sep{color:var(--text-faint)}.login-link{background:none;border:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:#8f9bff;cursor:pointer;text-decoration:none;transition:color .15s}.login-link:hover:not(:disabled){color:#b9c2ff;text-decoration:underline}.login-link:disabled{opacity:.6;cursor:default}.login-btn{position:relative;margin-top:4px;padding:13px;font:inherit;font-weight:700;font-size:14.5px;color:#fff;border:none;border-radius:11px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(100deg,#2f3f86,#4a5bc4 50%,#3a9b86);background-size:200% 100%;background-position:0% 50%;box-shadow:0 10px 26px #14205480,inset 0 1px #ffffff14;transition:background-position .5s,box-shadow .2s,transform .1s}.login-btn:hover:not(:disabled){background-position:100% 50%;box-shadow:0 12px 32px #3a9b8666}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.8;cursor:default}.login-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin360 .7s linear infinite}@keyframes spin360{to{transform:rotate(360deg)}}.login-trust{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:var(--text-dim);text-align:center;margin-top:2px}.trust-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);animation:trust-blink 2.4s ease-in-out infinite}@keyframes trust-blink{0%,to{opacity:1}50%{opacity:.35}}.login-foot{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.login-foot span{font-size:9.5px;text-transform:uppercase;letter-spacing:1.4px;color:var(--text-faint)}.login-foot img{height:18px;opacity:.85}@media (prefers-reduced-motion: reduce){.bg-orb,.bg-globe,.bg-particles span,.login-card,.login-globe,.trust-dot,.nn-edges line,.nn-nodes circle,.sonar span,.ai-widget,.aw-bars i,.aw-spark polyline,.chip-dot,.cap-lines line,.cap-node,.cap-dot{animation:none!important}}.tenant-locked{width:100%;padding:7px 9px;font-size:13px;font-weight:600;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.admin-toggle{display:flex;align-items:center;gap:7px;margin-top:9px;cursor:pointer;font-size:11px;color:var(--text-dim);text-transform:none;letter-spacing:0}.admin-toggle:before{content:none}.admin-toggle input{accent-color:#f5a623;width:13px;height:13px}.tenant-chip.admin{border-color:#f5a62373}.tenant-chip.admin .dot{background:#f5a623;box-shadow:0 0 6px #f5a623}.logout-btn{width:100%;margin:4px 0 10px;padding:7px;font:inherit;font-size:12px;color:var(--text-dim);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer}.logout-btn:hover{color:var(--text);border-color:var(--accent);background:var(--bg-hover)}
