:root{color:#0f172a;background:#f6f8fb;--personal-color: #2563eb;--personal-color-strong: #1d4ed8;--personal-color-soft: #dbeafe;--app-vh: 100dvh;--sidebar-width: 252px;--sidebar-collapsed-width: 74px;--workspace-padding-x: 28px;--workspace-padding-top: 18px;--composer-bottom: max(20px, env(safe-area-inset-bottom));--composer-height: 72px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-width:320px;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;min-height:100vh;height:var(--app-vh);min-height:var(--app-vh);background:#f6f8fb;overflow:hidden;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.mobile-sidebar-toggle,.mobile-sidebar-backdrop{display:none}.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;min-height:100vh;height:var(--app-vh);min-height:var(--app-vh);border-right:1px solid #e2e8f0;background:#fff;padding:18px 8px;overflow:hidden;transition:padding .18s ease,transform .22s ease,background-color .18s ease,border-color .18s ease}.sidebar.collapsed{gap:14px;padding:16px 10px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;min-width:0;color:#0f172a;font-size:.92rem;font-weight:900}.brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#2563eb;color:#fff;font-size:.82rem}.sidebar-toggle{flex:0 0 auto;transition:background-color .16s ease,color .16s ease,transform .18s ease}.sidebar-toggle:hover{transform:translateY(-1px)}.sidebar-toggle svg{transition:transform .22s ease}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .sidebar-top,.sidebar.collapsed .conversation-section-header{justify-content:center}.sidebar.collapsed .brand{display:none}.sidebar.collapsed .sidebar-toggle{width:40px;height:40px;border-color:transparent;background:transparent}.nav-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto}.nav-item{display:flex;align-items:center;gap:10px;width:100%;border-radius:8px;color:#475569;padding:12px}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 0}.nav-item.active{background:#eff6ff;color:#2563eb;font-weight:800}.sidebar-main{display:grid;grid-template-rows:minmax(150px,1fr) minmax(0,2fr);gap:18px;min-height:0}.app-launcher,.conversation-section,.conversation-list{display:grid;min-height:0}.app-launcher{align-content:start;gap:8px}.app-tile,.conversation-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;padding:10px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,padding .16s ease}.app-tile.active,.conversation-row.selected .conversation-item{border-color:#bfdbfe;background:#eff6ff;color:#2563eb;font-weight:900}.conversation-section{grid-template-rows:auto minmax(0,1fr);gap:10px;border-top:1px solid #e2e8f0;padding-top:12px}.conversation-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.conversation-section-header span{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:.78rem;font-weight:900}.conversation-list{align-content:start;gap:8px;overflow:auto}.conversation-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:0;align-items:center;position:relative;width:100%;border:1px solid transparent;border-radius:8px;padding:2px}.conversation-row:hover,.conversation-row.selected{background:#f1f5f9}.conversation-row.selected{border-color:#bfdbfe;background:#eff6ff}.conversation-row.selected .conversation-item{border-color:transparent;background:transparent}.conversation-row.selected .conversation-actions summary{color:#2563eb}.conversation-item span{display:grid;min-width:0}.conversation-avatar{display:block;flex:0 0 24px;width:24px;height:24px;overflow:hidden;border-radius:999px;background:#e2e8f0}.conversation-avatar img{display:block;width:100%;height:100%;object-fit:cover}.conversation-row .conversation-item{min-height:38px;border:0;background:transparent;padding:8px 6px}.conversation-item strong,.conversation-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item strong{color:#0f172a;font-size:.82rem}.conversation-item small{color:#64748b;font-size:.74rem}.conversation-actions{position:relative}.conversation-actions summary{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;opacity:0;list-style:none}.conversation-actions summary::-webkit-details-marker{display:none}.conversation-row:hover .conversation-actions summary,.conversation-row.selected .conversation-actions summary,.conversation-actions[open] summary,.conversation-actions summary:focus-visible{opacity:1}.conversation-actions summary:hover,.conversation-actions[open] summary{background:#e2e8f0;color:#0f172a}.conversation-actions-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:118px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 14px 40px #0f172a29;padding:6px}.conversation-actions-menu button{width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;color:#dc2626;cursor:pointer;font-weight:800;text-align:left;padding:0 9px}.conversation-actions-menu button:hover{background:#fee2e2;color:#dc2626}.sidebar.collapsed .app-tile,.sidebar.collapsed .conversation-item{justify-content:center;width:42px;height:42px;border-color:transparent;border-radius:10px;background:transparent;padding:0}.sidebar.collapsed .app-tile.active,.sidebar.collapsed .conversation-row.selected .conversation-item,.sidebar.collapsed .app-tile:hover,.sidebar.collapsed .conversation-item:hover,.sidebar.collapsed .sidebar-toggle:hover,.sidebar.collapsed .user-menu summary:hover{background:#f1f5f9;color:#0f172a}.sidebar.collapsed .conversation-section{border-top:0;padding-top:0}.sidebar.collapsed .app-launcher,.sidebar.collapsed .conversation-list{justify-items:center}.sidebar.collapsed .conversation-row{display:block;padding:0}.sidebar.collapsed .conversation-section-header .icon-button{width:42px;height:42px;border-color:transparent;background:transparent}.sidebar-user,.user-menu{position:relative}.user-menu summary{display:flex;align-items:center;gap:10px;min-height:50px;border-radius:8px;cursor:pointer;list-style:none;padding:6px 4px}.sidebar.collapsed .user-menu summary{justify-content:center;min-height:42px;padding:0}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover{background:#f8fafc}.user-name{display:grid;min-width:0}.user-name strong,.user-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name small{color:#64748b;font-size:.78rem}.user-menu-popover{position:absolute;right:0;bottom:calc(100% + 8px);z-index:30;display:grid;gap:4px;width:190px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0f172a24;padding:6px}.sidebar.collapsed .user-menu-popover{right:auto;bottom:0;left:calc(100% + 10px)}.user-menu-popover a,.user-menu-popover button{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:8px;background:transparent;color:#0f172a;cursor:pointer;padding:10px;text-align:left}.account-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#02061775;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:24px}.account-modal{display:grid;grid-template-columns:190px minmax(0,1fr);width:min(760px,100%);height:min(720px,calc(100vh - 48px));max-height:min(720px,calc(100vh - 48px));overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 28px 90px #0f172a3d}.account-modal-nav{display:grid;align-content:start;gap:8px;border-right:1px solid #e2e8f0;background:#f8fafc;padding:18px 12px}.account-modal-nav h2{margin:0 0 8px;padding:0 8px;font-size:1rem}.account-modal-nav button{display:flex;align-items:center;gap:8px;min-height:38px;border:0;border-radius:8px;background:transparent;color:#475569;cursor:pointer;font-weight:800;padding:0 10px;text-align:left}.account-modal-nav button.active,.account-modal-nav button:hover{background:#e2e8f0;color:#0f172a}.account-modal-panel{display:grid;align-content:start;gap:16px;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:22px}.account-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-modal-header h3{margin:0;font-size:1.2rem}.account-profile-row{display:flex;align-items:center;gap:14px}.account-profile-row>div:last-child{display:grid;gap:3px}.account-profile-row strong{color:#0f172a}.account-profile-row span{color:#64748b;font-size:.86rem;font-weight:800}.passkey-list{display:grid;gap:10px}.passkey-item{display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.passkey-item span{display:grid;gap:2px;min-width:0}.passkey-item strong,.passkey-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.passkey-item small{color:#64748b;font-weight:800}.code-textarea{min-height:180px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem}.workspace{width:100%;min-width:0;max-width:100%;overflow:hidden;padding:18px 28px 0}.topbar,.page-title-row,.card-header,.topbar-actions,.button-row,.quick-actions{display:flex;align-items:center;gap:14px}.topbar,.page-title-row,.card-header{justify-content:space-between}.topbar{margin-bottom:24px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.eyebrow{margin:0 0 6px;color:#64748b;font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:2rem;line-height:1.1}h2{font-size:1.45rem}.endpoint{display:inline-flex;align-items:center;max-width:360px;gap:8px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:10px 12px;color:#334155;overflow-wrap:anywhere}.avatar,.profile-image{display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#dbeafe;color:#1d4ed8;font-weight:900}.avatar{width:40px;height:40px}.avatar img,.profile-image img,.image-result img{width:100%;height:100%;object-fit:cover}.page-stack,.form-stack{display:grid;gap:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.metric-card,.auth-panel{border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0f172a0f}.card{padding:20px}.metric-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:112px;padding:18px}.metric-card strong{display:block;overflow-wrap:anywhere;font-size:1.55rem;text-transform:capitalize}.metric-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#eff6ff;color:#2563eb}.editor-layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(360px,1.35fr) minmax(260px,.95fr);gap:16px;align-items:start}.chat-page{display:block;position:relative;height:calc(var(--app-vh) - var(--workspace-padding-top));min-height:0;width:100%;overflow:hidden;padding-bottom:0}.chat-toolbar,.chat-toolbar-actions,.context-panel-header,.chat-meta{display:flex;align-items:center;gap:12px}.chat-toolbar,.context-panel-header,.chat-meta{justify-content:space-between}.chat-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.chat-main{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.chat-current-title{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;border-bottom:1px solid #e2e8f0;background:#f6f8fb;padding:0 min(7vw,96px) 10px}.chat-current-heading{display:grid;min-width:0}.chat-current-title h2{overflow:hidden;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.chat-current-title span{flex:0 0 auto;color:#64748b;font-size:.82rem;font-weight:800}.context-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;min-height:0;border-right:1px solid #e2e8f0;padding-right:18px;overflow:hidden}.service-rail{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:1;background:#f6f8fb;padding-bottom:4px}.service-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569}.service-icon.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.context-panel h3,.chat-empty h3{margin:0}.context-panel-header span,.context-help,.context-limit,.chat-meta{color:#64748b;font-size:.84rem;font-weight:800}.context-list{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto}.context-item{display:grid;gap:4px;width:100%;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:10px;color:inherit;cursor:pointer;text-align:left}.context-item strong{color:#0f172a;font-size:.78rem}.context-item span{overflow:hidden;color:#64748b;font-size:.82rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.context-item.user{border-color:#bfdbfe}.context-item.assistant{background:#f8fafc}.context-item.active{border-color:#2563eb;background:#eff6ff}.context-limit{color:#dc2626}.chat-thread{display:grid;align-content:end;gap:14px;width:100%;height:100%;min-height:0;min-width:0;max-width:100%;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;padding:18px clamp(28px,6vw,110px) calc(var(--composer-height) + var(--composer-bottom) + 18px);scroll-padding-bottom:calc(var(--composer-height) + var(--composer-bottom) + 18px)}.chat-thread.empty{align-content:center}.chat-empty{width:min(620px,100%);margin:0 auto;text-align:center}.chat-empty h3{font-size:1.8rem}.chat-empty p{color:#64748b;line-height:1.7}.chat-message{display:grid;gap:6px;width:min(880px,100%);min-width:0}.chat-message.assistant{grid-template-columns:46px minmax(0,auto);align-items:start;column-gap:10px}.chat-message.assistant .chat-message-body,.chat-message.assistant .message-attachment-previews{grid-column:2}.chat-message.user{justify-self:end;width:min(680px,92%)}.chat-assistant-meta{display:grid;justify-items:center;gap:5px;min-width:46px}.chat-assistant-avatar{display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border:1px solid #1d4ed8;border-radius:999px;background:#2563eb;color:#fff;font-size:.76rem;font-weight:1000;box-shadow:0 8px 18px #2563eb24}.chat-assistant-avatar img{width:100%;height:100%;object-fit:cover}.chat-message-label{background:transparent;color:#64748b;font-size:.78rem;font-weight:900}.chat-message.user .chat-message-label{color:var(--personal-color-strong);text-align:right}.chat-message-body{position:relative;width:fit-content;min-width:0;max-width:100%;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffff61;-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);padding:12px 14px;line-height:1.7;box-shadow:inset 0 1px #ffffff70,0 12px 30px #0f172a14;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chat-message.assistant .chat-message-body{white-space:normal}.chat-message.assistant .chat-message-body>:first-child{margin-top:0}.chat-message.assistant .chat-message-body>:last-child{margin-bottom:0}.chat-message.assistant .chat-message-body p,.chat-message.assistant .chat-message-body ul,.chat-message.assistant .chat-message-body ol,.chat-message.assistant .chat-message-body pre,.chat-message.assistant .chat-message-body blockquote{margin:.65em 0}.chat-message.assistant .chat-message-body ul,.chat-message.assistant .chat-message-body ol{padding-left:1.35em}.chat-message.assistant .chat-message-body code{border-radius:6px;background:#0f172a14;padding:.12em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.chat-message.assistant .chat-message-body pre{max-width:100%;overflow:auto;border-radius:8px;background:#0f172ae6;color:#e5e7eb;padding:12px}.chat-message.assistant .chat-message-body pre code{background:transparent;color:inherit;padding:0}.chat-message.assistant .chat-message-body blockquote{border-left:3px solid rgba(37,99,235,.45);color:#475569;padding-left:.85em}.chat-message.user .chat-message-body{justify-self:end;border-color:#60a5fa73;background:color-mix(in srgb,var(--personal-color) 62%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.35);backdrop-filter:blur(14px) saturate(1.35);color:#fff}.message-attachment-previews{display:flex;flex-wrap:wrap;gap:8px;max-width:min(520px,100%)}.chat-message.user .message-attachment-previews{justify-self:end;justify-content:flex-end}.message-attachment-preview{display:block;width:min(180px,42vw);overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172a14;box-shadow:0 10px 24px #0f172a1a}.message-attachment-preview img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.chat-message.assistant .chat-message-body:before,.chat-message.user .chat-message-body:before{position:absolute;bottom:10px;width:10px;height:10px;content:"";transform:rotate(45deg)}.chat-message.assistant .chat-message-body:before{left:-6px;border-bottom:1px solid rgba(148,163,184,.28);border-left:1px solid rgba(148,163,184,.28);background:#ffffff61;-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25)}.chat-message.user .chat-message-body:before{right:-6px;border-top:1px solid rgba(96,165,250,.45);border-right:1px solid rgba(96,165,250,.45);background:color-mix(in srgb,var(--personal-color) 62%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.35);backdrop-filter:blur(14px) saturate(1.35)}.chat-message.latest,.chat-message.thinking{animation:rise-bubble .8s cubic-bezier(.16,1,.3,1)}.typing-dots{display:inline-flex;align-items:center;gap:5px;min-width:36px;min-height:1em}.chat-job-notice{display:inline-block;margin-right:10px;color:inherit;font-size:.92rem;font-weight:800}.typing-dots span{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.24;animation:typing-dot 1.15s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.14s}.typing-dots span:nth-child(3){animation-delay:.28s}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap}@keyframes rise-bubble{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typing-dot{0%,72%,to{opacity:.24;transform:translateY(0)}28%{opacity:1;transform:translateY(-2px)}}@keyframes mobile-sidebar-enter{0%{opacity:.72;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes mobile-backdrop-enter{0%{opacity:0}to{opacity:1}}.chat-composer{display:grid;align-items:end;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;position:absolute;right:var(--workspace-padding-x);bottom:var(--composer-bottom);left:var(--workspace-padding-x);z-index:20;width:min(960px,calc(100% - (var(--workspace-padding-x) * 2)));min-width:0;max-width:calc(100% - (var(--workspace-padding-x) * 2));margin:0 auto;border:0;background:transparent!important;box-shadow:none;padding:0;pointer-events:none}.context-limit-toast{position:absolute;right:var(--workspace-padding-x);bottom:calc(var(--composer-bottom) + 52px);left:var(--workspace-padding-x);z-index:21;width:min(960px,calc(100% - (var(--workspace-padding-x) * 2)));margin:0 auto;border:1px solid rgba(239,68,68,.28);border-radius:999px;background:#7f1d1de0;color:#fee2e2;font-size:.86rem;font-weight:900;padding:10px 14px;text-align:center}.sidebar-collapsed .chat-composer,.sidebar-collapsed .context-limit-toast{left:var(--workspace-padding-x);width:min(960px,calc(100% - (var(--workspace-padding-x) * 2)))}.attach-button{display:grid;place-items:center;align-self:end;position:relative;width:44px;height:44px;border:0;border-radius:999px;background:#1e293bc7;color:#f8fafceb;cursor:pointer;pointer-events:auto;transition:background .16s ease,transform .16s ease}.attach-button:hover{background:#334155eb;transform:translateY(-1px)}.attach-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-chips{display:flex;align-items:center;flex-wrap:wrap;grid-column:1 / -1;gap:6px;margin-bottom:2px;pointer-events:auto}.attachment-chip{display:inline-flex;align-items:center;gap:5px;max-width:min(360px,100%);height:30px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#0f172a42;color:#e2e8f0db;font-size:.78rem;font-weight:900;padding:0 8px 0 10px}.attachment-chip img{width:22px;height:22px;margin-left:-6px;border-radius:999px;object-fit:cover}.attachment-chip button{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:999px;background:#94a3b829;color:inherit;cursor:pointer}.chat-composer textarea{min-width:0;min-height:44px;max-height:180px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none;padding:10px 14px;color:#0f172a;resize:none;pointer-events:auto}.chat-composer textarea:focus{box-shadow:none;outline:none}.chat-composer textarea::placeholder{color:#4755699e}.send-button{display:grid;place-items:center;align-self:end;width:44px;height:44px;border:0;border-radius:999px;background:#2563eb;box-shadow:0 8px 18px #2563eb29;color:#fff;cursor:pointer;pointer-events:auto}.field{display:grid;gap:8px}.check-field{display:flex;align-items:center;gap:10px;min-height:44px;color:#334155}.check-field input{width:18px;height:18px}.knowledge-status{display:grid;gap:4px;border:1px solid #dbe3ef;border-radius:8px;padding:12px;background:#f8fafc;color:#334155}.knowledge-status small{color:#64748b}.field+.field,.divider{margin-top:15px}label,dt{color:#475569;font-size:.88rem;font-weight:800}input,select,textarea{font-size:1rem;line-height:1.35;touch-action:manipulation;width:100%;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;padding:11px 12px}textarea{min-height:150px;resize:vertical}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;cursor:pointer;font-weight:800}.button{min-height:42px;gap:8px;padding:0 15px}.button.primary{background:#2563eb;color:#fff}.button.secondary{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.button.secondary.danger-soft{border-color:#fecaca;background:#fff1f2;color:#be123c}.button.ghost{background:#fff;color:#475569}.icon-button{width:40px;height:40px;background:#eff6ff;color:#2563eb}button:disabled{cursor:not-allowed;opacity:.55}textarea:disabled{background:#f8fafc}.auth-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:#f6f8fb}.auth-panel{width:min(460px,100%);padding:30px}.status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:28px;border-radius:8px;background:#e2e8f0;color:#334155;padding:0 10px;font-size:.78rem;font-weight:900;text-transform:capitalize}.status-badge.success,.status-badge.online,.status-badge.enabled,.status-badge.admin{background:#dcfce7;color:#166534}.status-badge.failed,.status-badge.offline,.status-badge.disabled{background:#fee2e2;color:#991b1b}.status-badge.pending,.status-badge.running,.status-badge.checking,.status-badge.warning{background:#fef3c7;color:#92400e}.status-line,.table-row,.job-table-row,.job-table-head{display:grid;align-items:center;gap:12px}.status-line{grid-template-columns:minmax(0,1fr) auto;padding:9px 0;border-bottom:1px solid #e2e8f0}.table-list,.job-table{display:grid;gap:8px}.table-row{grid-template-columns:minmax(0,1fr) minmax(80px,auto) auto auto}.job-table-head,.job-table-row{grid-template-columns:1.4fr .8fr .8fr .6fr 1fr;padding:10px 0;border-bottom:1px solid #e2e8f0}.job-table-head{color:#64748b;font-size:.8rem;font-weight:900;text-transform:uppercase}.chat-history{display:grid;gap:10px;max-height:260px;overflow:auto;margin-bottom:14px}.chat-bubble{border-radius:8px;background:#f8fafc;padding:12px}.chat-bubble.assistant{background:#eff6ff}.chat-bubble p,.empty-state p,.offline-panel p,.assistant-response{margin:6px 0 0;line-height:1.65;white-space:pre-wrap}.result-panel{min-height:180px;margin-top:16px}.image-result{display:grid;gap:12px}.dataset-actions{display:flex;flex-wrap:wrap;gap:8px}.image-result img{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.two-column,.profile-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:start}.profile-image{width:118px;height:118px}.details-list{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 14px;margin:0}.details-list.wide{grid-template-columns:180px minmax(0,1fr)}dd{margin:0;overflow-wrap:anywhere}.divider{border-top:1px solid #e2e8f0;padding-top:15px}.muted,.empty-state,.offline-panel{color:#64748b}.error-text,.success-text{margin:0;font-weight:800}.error-text{color:#dc2626}.success-text{color:#16a34a}@media(max-width:1180px){.editor-layout,.metric-grid,.profile-grid,.admin-grid,.chat-workspace{grid-template-columns:1fr}.context-panel{max-height:260px;border-right:0;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:16px}.chat-page{height:calc(var(--app-vh) - var(--workspace-padding-top));min-height:calc(var(--app-vh) - var(--workspace-padding-top));overflow:hidden}}@media(max-width:820px){:root{--sidebar-collapsed-width: 0px;--workspace-padding-x: 16px;--workspace-padding-top: 16px;--composer-bottom: max(16px, env(safe-area-inset-bottom));--composer-height: 72px}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.mobile-layout .sidebar.collapsed{display:none}.sidebar{gap:14px;min-width:0;border-right:1px solid #e2e8f0;border-bottom:0;padding:14px 4px}.sidebar.collapsed .brand,.sidebar.collapsed .app-tile span,.sidebar.collapsed .conversation-section-header span,.sidebar.collapsed .conversation-item span,.sidebar.collapsed .user-name{display:none}.sidebar.collapsed .sidebar-top,.sidebar.collapsed .conversation-section-header{justify-content:center}.sidebar.collapsed .sidebar-toggle,.sidebar.collapsed .conversation-section-header .icon-button,.sidebar.collapsed .app-tile,.sidebar.collapsed .conversation-item,.sidebar.collapsed .user-menu summary{justify-content:center;width:42px;height:42px;border-color:transparent;border-radius:10px;background:transparent;padding:0}.sidebar.collapsed .conversation-section{border-top:0;padding-top:0}.sidebar.collapsed .app-launcher,.sidebar.collapsed .conversation-list{justify-items:center}.sidebar.collapsed .conversation-row{display:block}.sidebar.collapsed .user-menu-popover{right:auto;bottom:0;left:calc(100% + 10px)}.sidebar:not(.collapsed){position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(268px,86vw);height:var(--app-vh);padding:18px 4px;box-shadow:18px 0 40px #0f172a29;animation:mobile-sidebar-enter .22s ease both}.sidebar:not(.collapsed) .sidebar-top,.sidebar:not(.collapsed) .sidebar-main,.sidebar:not(.collapsed) .sidebar-user{padding-right:2px;padding-left:2px}.sidebar:not(.collapsed) .app-tile{padding-right:8px;padding-left:8px}.sidebar:not(.collapsed) .conversation-row{padding:2px}.sidebar:not(.collapsed) .conversation-row .conversation-item{padding-right:6px;padding-left:6px}.mobile-sidebar-toggle{display:grid;place-items:center;position:fixed;top:max(10px,env(safe-area-inset-top));left:10px;z-index:35;width:42px;height:42px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#ffffffb8;color:#0f172a;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 26px #0f172a1f;transition:opacity .16s ease,transform .18s ease,background-color .16s ease,border-color .16s ease}.mobile-sidebar-toggle:hover{transform:translateY(-1px)}.mobile-sidebar-toggle:active{transform:scale(.96)}.mobile-sidebar-open .mobile-sidebar-toggle{opacity:0;pointer-events:none;transform:scale(.94)}.mobile-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;border:0;background:#0f172a5c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:mobile-backdrop-enter .18s ease both}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:16px 16px 0;min-width:0;overflow:hidden}.image-studio-page{height:calc(var(--app-vh) - var(--workspace-padding-top));min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:18px 0;padding-bottom:18px}.image-studio-page .editor-layout{min-height:0}.image-studio-page textarea{resize:none}.chat-page{height:calc(var(--app-vh) - var(--workspace-padding-top));min-height:calc(var(--app-vh) - var(--workspace-padding-top));max-height:calc(var(--app-vh) - var(--workspace-padding-top));overflow:hidden}.chat-workspace,.chat-main{height:100%;min-height:0;max-height:100%;overflow:hidden}.chat-main{grid-template-rows:48px minmax(0,1fr)}.chat-current-title{min-height:48px;padding:0 12px 8px 54px}.chat-current-title h2{font-size:.86rem}.chat-current-title span{font-size:.76rem}.chat-thread{align-content:start;gap:12px;height:100%;min-height:0;max-height:100%;overflow-y:auto;padding:14px 12px calc(var(--composer-height) + var(--composer-bottom) + 18px);scroll-padding-bottom:calc(var(--composer-height) + var(--composer-bottom) + 18px);-webkit-overflow-scrolling:touch}.chat-thread.empty{align-content:center}.chat-message.assistant{grid-template-columns:38px minmax(0,1fr);column-gap:8px}.chat-assistant-meta{min-width:38px}.chat-assistant-avatar{width:32px;height:32px;font-size:.68rem}.chat-message.user{width:min(100%,88%)}.chat-message-body{padding:10px 12px;font-size:.94rem;line-height:1.62}.topbar,.page-title-row{align-items:flex-start;flex-direction:column}.job-table-head{display:none}.job-table-row,.table-row,.profile-card{grid-template-columns:1fr}.chat-composer{grid-template-columns:44px minmax(0,1fr) 44px;right:16px;bottom:var(--composer-bottom);left:16px;width:calc(100% - 32px);max-width:calc(100% - 32px)}.context-limit-toast{right:16px;bottom:calc(var(--composer-bottom) + 52px);left:16px;width:calc(100% - 32px);max-width:calc(100% - 32px)}.chat-composer textarea{grid-column:auto}input,select,textarea,.chat-composer textarea{font-size:16px}.account-modal{grid-template-columns:1fr}.account-modal-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto;border-right:0;border-bottom:1px solid #e2e8f0}.account-modal-nav h2{display:none}}@media(max-width:560px){:root{--sidebar-collapsed-width: 0px;--workspace-padding-x: 12px;--workspace-padding-top: 12px;--composer-bottom: max(12px, env(safe-area-inset-bottom))}.workspace,.auth-panel{padding:12px 12px 0}.sidebar{padding:12px 3px}.nav-list,.two-column,.details-list,.details-list.wide{grid-template-columns:1fr}.chat-composer{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;right:10px;left:10px;width:calc(100% - 20px);max-width:calc(100% - 20px)}.attach-button,.send-button{width:40px;height:40px}.chat-composer textarea{min-height:40px;padding:8px 12px;font-size:16px}.context-limit-toast{right:10px;left:10px}.chat-thread{padding-right:8px;padding-left:8px}.account-modal-backdrop{padding:12px}.account-modal-panel{padding:18px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color:#e5e7eb;background:#0b1020;--personal-color: #3b82f6;--personal-color-strong: #60a5fa;--personal-color-soft: #1e3a8a;color-scheme:dark}:root:not([data-theme=light]) body,:root:not([data-theme=light]) .app-shell,:root:not([data-theme=light]) .auth-page,:root:not([data-theme=light]) .workspace,:root:not([data-theme=light]) .service-rail,:root:not([data-theme=light]) .chat-current-title{background:#0b1020}:root:not([data-theme=light]) .sidebar,:root:not([data-theme=light]) .card,:root:not([data-theme=light]) .metric-card,:root:not([data-theme=light]) .auth-panel,:root:not([data-theme=light]) .account-modal,:root:not([data-theme=light]) .user-menu-popover,:root:not([data-theme=light]) input,:root:not([data-theme=light]) select,:root:not([data-theme=light]) textarea,:root:not([data-theme=light]) .chat-message.assistant .chat-message-body,:root:not([data-theme=light]) .context-item,:root:not([data-theme=light]) .app-tile,:root:not([data-theme=light]) .conversation-item,:root:not([data-theme=light]) .passkey-item{border-color:#243044;background:#111827;color:#e5e7eb}:root:not([data-theme=light]) .sidebar{border-right-color:#243044}:root:not([data-theme=light]) .account-modal-nav{border-color:#243044;background:#0f172a}:root:not([data-theme=light]) .account-modal-nav button.active,:root:not([data-theme=light]) .account-modal-nav button:hover{background:#1e293b;color:#f8fafc}:root:not([data-theme=light]) .user-menu summary:hover .user-name strong{color:#0f172a}:root:not([data-theme=light]) .brand,:root:not([data-theme=light]) h1,:root:not([data-theme=light]) h2,:root:not([data-theme=light]) .account-modal-header h3,:root:not([data-theme=light]) .account-profile-row strong,:root:not([data-theme=light]) .context-item strong,:root:not([data-theme=light]) .conversation-item strong,:root:not([data-theme=light]) .user-menu-popover a,:root:not([data-theme=light]) .user-menu-popover button{color:#f8fafc}:root:not([data-theme=light]) .eyebrow,:root:not([data-theme=light]) .muted,:root:not([data-theme=light]) .empty-state,:root:not([data-theme=light]) .offline-panel,:root:not([data-theme=light]) label,:root:not([data-theme=light]) dt,:root:not([data-theme=light]) .chat-current-title span,:root:not([data-theme=light]) .chat-message-label,:root:not([data-theme=light]) .context-help,:root:not([data-theme=light]) .context-limit,:root:not([data-theme=light]) .chat-meta,:root:not([data-theme=light]) .context-item span,:root:not([data-theme=light]) .conversation-item small,:root:not([data-theme=light]) .user-name small{color:#94a3b8}:root:not([data-theme=light]) .nav-item,:root:not([data-theme=light]) .app-tile,:root:not([data-theme=light]) .conversation-item{color:#cbd5e1}:root:not([data-theme=light]) .conversation-actions summary{color:#64748b}:root:not([data-theme=light]) .nav-item.active,:root:not([data-theme=light]) .app-tile.active,:root:not([data-theme=light]) .conversation-row.selected .conversation-item{border-color:#1d4ed8;background:#172554;color:#bfdbfe}:root:not([data-theme=light]) .conversation-row.selected{border-color:#1d4ed8;background:#172554}:root:not([data-theme=light]) .conversation-row.selected .conversation-item{border-color:transparent;background:transparent}:root:not([data-theme=light]) .conversation-row:hover,:root:not([data-theme=light]) .conversation-row.selected,:root:not([data-theme=light]) .conversation-actions-menu{background:#172554}:root:not([data-theme=light]) .brand-mark,:root:not([data-theme=light]) .send-button{background:#2563eb;color:#fff}:root:not([data-theme=light]) .avatar,:root:not([data-theme=light]) .profile-image,:root:not([data-theme=light]) .metric-icon,:root:not([data-theme=light]) .icon-button,:root:not([data-theme=light]) .mobile-sidebar-toggle{background:#1e3a8a;color:#bfdbfe}:root:not([data-theme=light]) .chat-message.assistant .chat-message-body:before{border-color:#94a3b847;background:#0f172a70}:root:not([data-theme=light]) .chat-message.user .chat-message-body{border-color:#60a5fa7a;background:color-mix(in srgb,var(--personal-color) 58%,transparent)}:root:not([data-theme=light]) .chat-message.user .chat-message-body:before{border-color:#60a5fa7a;background:color-mix(in srgb,var(--personal-color) 58%,transparent)}:root:not([data-theme=light]) .chat-composer textarea{border-color:#94a3b829;background:transparent;color:#f8fafc}:root:not([data-theme=light]) .chat-composer textarea::placeholder{color:#cbd5e175}:root:not([data-theme=light]) .status-line,:root:not([data-theme=light]) .job-table-head,:root:not([data-theme=light]) .job-table-row,:root:not([data-theme=light]) .divider,:root:not([data-theme=light]) .chat-current-title,:root:not([data-theme=light]) .conversation-section{border-color:#243044}}:root[data-theme=dark]{color:#e5e7eb;background:#0b1020;--personal-color: #3b82f6;--personal-color-strong: #60a5fa;--personal-color-soft: #1e3a8a;color-scheme:dark}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .auth-page,:root[data-theme=dark] .workspace,:root[data-theme=dark] .service-rail,:root[data-theme=dark] .chat-current-title{background:#0b1020}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .card,:root[data-theme=dark] .metric-card,:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .account-modal,:root[data-theme=dark] .user-menu-popover,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .chat-message.assistant .chat-message-body,:root[data-theme=dark] .context-item,:root[data-theme=dark] .app-tile,:root[data-theme=dark] .conversation-item,:root[data-theme=dark] .passkey-item{border-color:#243044;background:#111827;color:#e5e7eb}:root[data-theme=dark] .sidebar{border-right-color:#243044}:root[data-theme=dark] .account-modal-nav{border-color:#243044;background:#0f172a}:root[data-theme=dark] .account-modal-nav button.active,:root[data-theme=dark] .account-modal-nav button:hover{background:#1e293b;color:#f8fafc}:root[data-theme=dark] .user-menu summary:hover .user-name strong{color:#0f172a}:root[data-theme=dark] .brand,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] .account-modal-header h3,:root[data-theme=dark] .account-profile-row strong,:root[data-theme=dark] .context-item strong,:root[data-theme=dark] .conversation-item strong,:root[data-theme=dark] .user-menu-popover a,:root[data-theme=dark] .user-menu-popover button{color:#f8fafc}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .muted,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .offline-panel,:root[data-theme=dark] label,:root[data-theme=dark] dt,:root[data-theme=dark] .chat-current-title span,:root[data-theme=dark] .chat-message-label,:root[data-theme=dark] .context-help,:root[data-theme=dark] .context-limit,:root[data-theme=dark] .chat-meta,:root[data-theme=dark] .context-item span,:root[data-theme=dark] .conversation-item small,:root[data-theme=dark] .user-name small{color:#94a3b8}:root[data-theme=dark] .nav-item,:root[data-theme=dark] .app-tile,:root[data-theme=dark] .conversation-item{color:#cbd5e1}:root[data-theme=dark] .conversation-actions summary{color:#64748b}:root[data-theme=dark] .nav-item.active,:root[data-theme=dark] .app-tile.active,:root[data-theme=dark] .conversation-row.selected .conversation-item{border-color:#1d4ed8;background:#172554;color:#bfdbfe}:root[data-theme=dark] .conversation-row.selected{border-color:#1d4ed8;background:#172554}:root[data-theme=dark] .conversation-row.selected .conversation-item{border-color:transparent;background:transparent}:root[data-theme=dark] .conversation-row:hover,:root[data-theme=dark] .conversation-row.selected,:root[data-theme=dark] .conversation-actions-menu{background:#172554}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .send-button{background:#2563eb;color:#fff}:root[data-theme=dark] .avatar,:root[data-theme=dark] .profile-image,:root[data-theme=dark] .metric-icon,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .mobile-sidebar-toggle{background:#1e3a8a;color:#bfdbfe}:root[data-theme=dark] .chat-message.assistant .chat-message-body:before{border-color:#94a3b847;background:#0f172a70}:root[data-theme=dark] .chat-message.user .chat-message-body{border-color:#60a5fa7a;background:color-mix(in srgb,var(--personal-color) 58%,transparent)}:root[data-theme=dark] .chat-message.user .chat-message-body:before{border-color:#60a5fa7a;background:color-mix(in srgb,var(--personal-color) 58%,transparent)}:root[data-theme=dark] .chat-composer textarea{border-color:#94a3b829;background:transparent;color:#f8fafc}:root[data-theme=dark] .chat-composer textarea::placeholder{color:#cbd5e175}:root[data-theme=dark] .status-line,:root[data-theme=dark] .job-table-head,:root[data-theme=dark] .job-table-row,:root[data-theme=dark] .divider,:root[data-theme=dark] .chat-current-title,:root[data-theme=dark] .conversation-section{border-color:#243044}
