:root{
  --bg:#0a0b0d;--surface:#111317;--surface2:#15181d;--surface3:#1a1e24;
  --line:#252b33;--line2:#323a45;--text:#e7ebef;--muted:#8b96a3;--muted2:#626d79;
  --accent:#e8edf2;--accentText:#0b0d0f;--success:#76c997;--danger:#d77d87;--warning:#c6ad70;
  --sidebar:272px;--content:860px;--radius:14px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
body{overflow:hidden}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.grow{flex:1;min-width:0}
.booting{overflow:hidden}

/* Boot + auth */
.boot-view{position:fixed;inset:0;z-index:9999;background:var(--bg);display:grid;place-items:center;align-content:center;gap:12px;transition:.2s}
.boot-logo,.welcome-mark,.brand-mark{background:var(--accent);color:var(--accentText);display:grid;place-items:center;font-weight:850}
.boot-logo{width:48px;height:48px;border-radius:15px;font-size:17px}
.boot-name{font-weight:760;font-size:13px;letter-spacing:.03em}
.boot-line{width:86px;height:2px;background:#171a1f;border-radius:9px;overflow:hidden}.boot-line span{display:block;width:45%;height:100%;background:#68727d;animation:load 1s ease-in-out infinite alternate}@keyframes load{to{transform:translateX(122%)}}
.auth-view{position:fixed;inset:0;overflow:auto;padding:28px;background:radial-gradient(circle at 50% 15%,#141820 0,transparent 35%),var(--bg)}
.auth-wrap{width:min(420px,100%);margin:7vh auto 0}
.auth-brand{display:flex;align-items:center;gap:11px;margin:0 0 18px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:14px}.auth-brand span{font-size:9px;color:var(--muted2);margin-top:2px}
.brand-mark{width:34px;height:34px;border-radius:10px;font-size:11px}.brand-mark.large{width:42px;height:42px;border-radius:13px}
.auth-card{background:#101216;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.auth-copy h1{margin:0 0 7px;font-size:24px;letter-spacing:-.035em}.auth-copy p{font-size:11px;line-height:1.55;color:var(--muted);margin:0 0 22px}
.auth-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#0d0f12;margin-bottom:20px}.auth-tabs button{flex:1;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:9px;font-size:11px}.auth-tabs button.active{background:var(--surface3);color:var(--text)}
label{display:block;font-size:10px;color:#a1aab5;margin:13px 0 6px}
input,textarea,select{width:100%;border:1px solid var(--line2);border-radius:10px;background:#0e1013;color:var(--text);padding:10px 11px;outline:0}
input:focus,textarea:focus,select:focus{border-color:#596574;box-shadow:0 0 0 3px rgba(89,101,116,.08)}textarea{resize:vertical}
.primary,.secondary,.danger,.danger-outline{border-radius:9px;padding:10px 13px;border:1px solid transparent;font-weight:700;font-size:11px}
.primary{background:var(--accent);color:var(--accentText)}.secondary{background:var(--surface3);border-color:var(--line2);color:var(--text)}.danger{background:#3a1b20;border-color:#6b3038;color:#f0acb3}.danger-outline{background:transparent;border-color:#593039;color:#d98b93}.wide{width:100%;margin-top:16px}
.auth-error{margin-top:13px;padding:10px;border:1px solid #65333a;background:#231316;color:#e89ba4;border-radius:9px;font-size:10px}.auth-status,.auth-note{font-size:9px;color:var(--muted2);text-align:center}.auth-status{margin-top:12px}.auth-note{margin-top:18px}

/* App shell */
.app-shell{height:100%;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{background:#0d0f12;border-right:1px solid #1e2329;min-width:0;display:flex;flex-direction:column;padding:10px}
.sidebar-head{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 7px}.brand-compact{display:flex;align-items:center;gap:9px;min-width:0}.brand-compact strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-btn,.mini-icon,.ghost-btn,.tool-btn,.text-btn,.mini-link{border:0;background:transparent;color:var(--muted);border-radius:8px}.icon-btn{width:32px;height:32px;font-size:17px}.icon-btn:hover,.mini-icon:hover,.ghost-btn:hover,.tool-btn:hover{background:var(--surface3);color:var(--text)}
.new-chat{height:41px;margin:7px 2px 9px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:9px;padding:0 12px;text-align:left}.new-chat:hover{background:var(--surface2);border-color:var(--line2)}.new-chat b{font-size:11px;font-weight:650}
.search-box{height:36px;border:1px solid var(--line);background:#0e1013;border-radius:10px;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted2)}.search-box input{border:0;padding:0;background:transparent;min-width:0;box-shadow:none}.search-box kbd{font-size:7px;color:#545e69;border:1px solid #252b32;padding:2px 4px;border-radius:4px}
.sidebar-scroll{overflow:auto;min-height:0;flex:1;padding-right:2px}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.13em;color:#56606d;margin:15px 8px 7px}.mini-icon{width:24px;height:24px;font-size:15px}.mini-link{font-size:8px;padding:4px 5px}.mini-link:hover{color:var(--text)}
.project-list,.conversation-list{display:grid;gap:2px}.project-row,.conv{display:flex;align-items:center;border-radius:9px;padding:2px 3px;color:#aeb6c0;min-width:0}.project-row:hover,.project-row.active,.conv:hover,.conv.active{background:var(--surface2);color:var(--text)}
.project-btn,.conv-title{min-width:0;flex:1;background:none;border:0;color:inherit;text-align:left;padding:8px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-btn{display:flex;align-items:center;gap:8px}.project-dot{width:7px;height:7px;border-radius:50%;background:#647181;flex:0 0 7px}.project-count{margin-left:auto;font-size:8px;color:#5e6874}
.conv-more,.project-more{opacity:0;border:0;background:transparent;color:var(--muted);width:28px;height:28px;border-radius:7px}.conv:hover .conv-more,.conv.active .conv-more,.project-row:hover .project-more{opacity:1}.conv-more:hover,.project-more:hover{background:var(--surface3);color:var(--text)}
.empty-history{text-align:center;color:#56606d;font-size:9px;padding:18px 8px}.sidebar-bottom{border-top:1px solid #1d2228;padding-top:7px}.nav-row,.account-row{width:100%;border:0;background:transparent;color:#aab2bc;border-radius:9px;display:flex;align-items:center;text-align:left}.nav-row{height:36px;gap:10px;padding:0 10px;font-size:10px}.nav-row small{margin-left:auto;color:#5e6874}.nav-row:hover,.nav-row.active,.account-row:hover{background:var(--surface2);color:var(--text)}.nav-icon{width:17px;text-align:center;color:#79838f}.account-row{margin-top:4px;padding:7px;gap:8px}
.avatar{display:grid;place-items:center;border-radius:9px;font-weight:800;overflow:hidden;background-size:cover!important;background-position:center!important}.avatar.user{width:31px;height:31px;background:var(--accent);color:var(--accentText);font-size:9px;flex:0 0 31px}.avatar.user.small{width:30px;height:30px;border:0}.avatar.user.big{width:52px;height:52px;border-radius:15px;font-size:12px}.account-text{min-width:0;flex:1}.account-text b,.account-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-text b{font-size:10px;color:#d9dee4}.account-text small{font-size:8px;color:#66717e;margin-top:2px}.chev{color:#59636f}

/* Workspace */
.workspace{min-width:0;display:flex;flex-direction:column;height:100vh;background:var(--bg)}.topbar{height:58px;flex:0 0 58px;border-bottom:1px solid #181c21;display:flex;align-items:center;justify-content:space-between;padding:0 17px;gap:10px}.top-left,.top-actions{display:flex;align-items:center;gap:9px;min-width:0}.model-pill{height:36px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:0 9px;min-width:0}.model-pill select{border:0;background:transparent;padding:0;width:auto;max-width:330px;font-size:10px;box-shadow:none}.model-dot{width:6px;height:6px;border-radius:50%;background:#59636e;flex:0 0 6px}.model-dot.online{background:var(--success);box-shadow:0 0 0 3px rgba(114,197,150,.09)}.status-badge{font-size:7px;color:var(--muted2);text-transform:uppercase;border-left:1px solid #292f37;padding-left:7px}.runtime-text{font-size:9px;color:var(--muted2)}.ghost-btn{padding:8px 10px;font-size:10px}.context-pill{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:7px 10px;border-radius:9px;font-size:9px}.context-pill:hover{color:var(--text);background:var(--surface2)}
.model-notice{margin:9px auto 0;width:min(var(--content),calc(100% - 32px));padding:10px 12px;border:1px solid #423a24;background:#17140d;color:#cbbd8a;border-radius:10px;font-size:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.model-notice b,.model-notice span{display:block}.model-notice b{font-size:10px;color:#ddd0a0}.model-notice span{margin-top:2px;color:#9f916b;line-height:1.45}
.chat{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth}.welcome{max-width:760px;margin:0 auto;padding:14vh 24px 44px;text-align:center}.welcome-mark{width:44px;height:44px;border-radius:14px;margin:0 auto 18px;font-size:16px}.welcome h1{font-size:32px;letter-spacing:-.045em;margin:0}.welcome p{font-size:11px;color:var(--muted);margin:9px 0 27px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;text-align:left}.suggestions button{background:var(--surface);border:1px solid var(--line);border-radius:13px;color:#bdc5ce;padding:14px;text-align:left}.suggestions button:hover{background:var(--surface2);border-color:#343c47;color:var(--text);transform:translateY(-1px)}.suggestions b,.suggestions span{display:block}.suggestions b{font-size:10px}.suggestions span{font-size:9px;color:var(--muted2);margin-top:4px}
.messages{max-width:var(--content);margin:0 auto;padding:34px 24px 170px}.message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;margin:0 0 26px}.message .avatar{width:30px;height:30px;border-radius:9px;background:var(--surface3);color:#cfd5dc;font-size:9px}.message.user .avatar{background:var(--accent);color:var(--accentText)}.message-body{min-width:0;padding-top:3px}.message-text{white-space:normal;overflow-wrap:anywhere;line-height:1.68;font-size:13px;color:#dfe4ea}.message-text p{margin:0 0 10px}.message-text p:last-child{margin-bottom:0}.message-text pre{position:relative;background:#0d0f12;border:1px solid var(--line);border-radius:11px;padding:14px;margin:10px 0;overflow:auto;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;color:#d6dde5}.message-text .code-label{display:flex;justify-content:space-between;align-items:center;margin:-5px -4px 9px;padding-bottom:7px;border-bottom:1px solid #232930;font:8px/1.2 Inter,sans-serif;color:#697582;text-transform:uppercase}.code-copy,.message-action{border:0;background:transparent;color:#707c89;font-size:8px;border-radius:6px;padding:4px 6px}.code-copy:hover,.message-action:hover{background:var(--surface3);color:var(--text)}.message-meta-row{display:flex;align-items:center;gap:8px;margin-top:7px;min-height:22px}.message-meta{font-size:8px;color:#59636f}.message-actions{display:flex;gap:2px;opacity:0;transition:.12s}.message:hover .message-actions{opacity:1}.cursor .message-text:after{content:"";display:inline-block;width:5px;height:13px;background:#c5ccd4;margin-left:3px;vertical-align:-2px;animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.composer-wrap{position:relative;z-index:3;padding:0 18px 12px;background:linear-gradient(to bottom,rgba(10,11,13,0),var(--bg) 23px)}.composer{max-width:var(--content);margin:0 auto;background:var(--surface);border:1px solid #343b45;border-radius:18px;padding:8px 10px;box-shadow:0 12px 45px rgba(0,0,0,.26)}.composer:focus-within{border-color:#4a5562}.composer textarea{border:0;background:transparent;min-height:43px;max-height:180px;padding:8px 6px 4px;resize:none;font-size:13px;box-shadow:none}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-left,.composer-right{display:flex;align-items:center;gap:7px}.tool-btn{width:30px;height:30px;border:1px solid var(--line)}.knowledge-toggle{margin:0;display:flex;align-items:center;gap:5px;background:#0d0f12;border:1px solid var(--line);border-radius:8px;padding:7px 8px;font-size:9px;color:var(--muted)}.knowledge-toggle input{width:auto;margin:0}.composer select{width:auto;border-color:var(--line);padding:6px 8px;font-size:9px}.generationState,#generationState{font-size:8px;color:var(--muted2)}.send-btn,.stop-btn{width:32px;height:32px;border-radius:10px;border:0;font-weight:800}.send-btn{background:var(--accent);color:var(--accentText)}.send-btn:disabled{opacity:.35}.stop-btn{background:#3a1b20;color:#eaa1a9}.composer-note{text-align:center;font-size:8px;color:#515b67;margin:6px auto 0}

/* Drawers */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;z-index:20;transition:.18s}.overlay.show{opacity:1;pointer-events:auto}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(450px,100vw);z-index:21;background:#0f1114;border-left:1px solid var(--line);transform:translateX(100%);transition:transform .18s ease;box-shadow:-20px 0 70px rgba(0,0,0,.35);display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-wide{width:min(900px,100vw)}.drawer-head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}.drawer-head small{display:block;font-size:8px;color:var(--muted2);letter-spacing:.13em}.drawer-head h2{font-size:16px;margin:3px 0 0}.drawer-close{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:21px;border-radius:9px}.drawer-close:hover{background:var(--surface3);color:var(--text)}.drawer-body{padding:18px 20px 30px;overflow:auto}.profile-card{display:flex;align-items:center;gap:12px;padding:4px 0 18px;border-bottom:1px solid var(--line)}.profile-card b,.profile-card span,.profile-card small{display:block}.profile-card b{font-size:13px}.profile-card span{font-size:10px;color:var(--muted);margin-top:3px}.profile-card small{font-size:8px;color:var(--muted2);text-transform:uppercase;margin-top:4px}.profile-avatar-wrap{position:relative}.avatar-edit{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;border-radius:7px;border:1px solid var(--line2);background:#161a20;color:#b9c1ca;font-size:9px}.panel-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.panel-section.no-top{margin-top:0;padding-top:0;border-top:0}.panel-section h3{font-size:11px;margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.text-btn{font-size:9px;color:#aab4be}.text-btn:hover{color:var(--text)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.stack-actions{display:grid;gap:7px}.info-box,.diagnostics{background:#0c0e11;border:1px solid var(--line);border-radius:10px;padding:11px;font-size:9px;color:#9ca6b1;line-height:1.55;margin-top:10px}.diagnostics{white-space:pre-wrap;max-height:62vh;overflow:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stats-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px}.stat-card b{display:block;font-size:18px;letter-spacing:-.04em}.stat-card span{display:block;font-size:8px;color:var(--muted2);margin-top:4px}.session-list,.simple-list,.document-list{display:grid;gap:7px}.session-row,.simple-row,.doc-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;align-items:center;gap:10px}.session-row b,.simple-row b,.doc-row b{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row span,.simple-row span,.doc-row span{display:block;font-size:8px;color:var(--muted2);margin-top:3px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px;padding:3px 6px;font-size:7px;color:#9ba5b0}.tag.success{color:#8fd1aa;border-color:#2d5b42}.tag.warn{color:#d4ba79;border-color:#5c4e2b}.small-action{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:6px 8px;font-size:8px}.small-action:hover{background:var(--surface3);color:var(--text)}.upload-box{border:1px dashed #343c46;border-radius:13px;padding:25px;text-align:center;background:#0d0f12}.upload-box:hover{border-color:#596574;background:var(--surface)}.upload-plus{font-size:23px;color:#8c96a2}.upload-box strong,.upload-box span{display:block}.upload-box strong{font-size:11px;margin-top:6px}.upload-box span{font-size:8px;color:var(--muted2);margin-top:4px}.document-list{margin-top:12px}
.drawer-tabs{display:flex;gap:4px;padding:10px 20px;border-bottom:1px solid var(--line);overflow:auto}.admin-tab{border:0;background:transparent;color:var(--muted);padding:8px 10px;border-radius:8px;font-size:10px;white-space:nowrap}.admin-tab.active{background:var(--surface3);color:var(--text)}.admin-user-toolbar{display:flex;gap:8px;margin:18px 0 10px}.admin-users-list{display:grid;gap:8px}.user-admin-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 90px 105px auto;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px}.user-admin-ident{min-width:0}.user-admin-ident b,.user-admin-ident span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-admin-ident b{font-size:10px}.user-admin-ident span{font-size:8px;color:var(--muted2);margin-top:3px}.user-admin-row select{padding:7px;font-size:9px}.user-admin-actions{display:flex;gap:5px;justify-content:flex-end}.user-admin-meta{grid-column:1/-1;display:flex;gap:11px;flex-wrap:wrap;font-size:8px;color:#68737f;border-top:1px solid #20252b;padding-top:7px}.create-user-box{background:#0d0f12;border:1px solid var(--line);padding:13px;border-radius:12px}.model-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.model-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px}.model-card.active{border-color:#52606f}.model-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.model-card b{font-size:11px}.model-card p{font-size:8px;color:var(--muted2);line-height:1.5;margin:8px 0}.model-meta{display:flex;gap:5px;flex-wrap:wrap}.branding-preview-card{display:flex;align-items:center;gap:14px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:13px;margin-bottom:18px}.branding-preview-logo{width:58px;height:58px;flex:0 0 58px;border-radius:15px;background:var(--accent);color:var(--accentText);display:grid;place-items:center;font-size:20px;font-weight:850}.branding-preview-copy b,.branding-preview-copy span{display:block}.branding-preview-copy b{font-size:14px}.branding-preview-copy span{font-size:9px;color:var(--muted);margin-top:4px}.branding-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.admin-help{font-size:9px;line-height:1.55;color:var(--muted2);margin:7px 0 12px}.favicon-preview-row{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:8px}.favicon-preview{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:9px;background:#0b0d10;color:var(--muted2);overflow:hidden}.favicon-preview img{width:26px;height:26px;object-fit:contain}

/* Modal */
.modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.64);display:grid;place-items:center;padding:18px}.modal{width:min(480px,100%);max-height:min(720px,90vh);display:flex;flex-direction:column;background:#111419;border:1px solid #343c46;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head small{font-size:7px;letter-spacing:.14em;color:var(--muted2)}.modal-head h3{font-size:14px;margin:3px 0 0}.modal-body{padding:16px 18px;overflow:auto}.modal-actions{padding:12px 18px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:7px}.modal-actions .danger,.modal-actions .danger-outline,.modal-actions .primary,.modal-actions .secondary{margin:0}.action-list{display:grid;gap:6px}.action-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--text);text-align:left}.action-item:hover{background:var(--surface2)}.action-item span{font-size:10px}.action-item small{font-size:8px;color:var(--muted2)}.action-item.dangerous{color:#e49aa3;border-color:#4b2b31}

/* Branding */
.brand-logo-box{overflow:hidden}.brand-image{display:block;width:100%;height:100%;object-fit:contain}.brand-image.hidden{display:none!important}.brand-logo-box.has-logo{background:transparent!important;color:transparent!important}.brand-logo-box.has-logo .brand-fallback{display:none}
.toast{position:fixed;right:18px;bottom:18px;z-index:10000;max-width:360px;background:#191d22;border:1px solid #363e48;color:#dce2e8;border-radius:10px;padding:10px 13px;font-size:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.17s}.toast.show{opacity:1;transform:none}.mobile-only{display:none}

/* Compact sidebar */
@media(min-width:761px){
  .app-shell.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}.app-shell.sidebar-collapsed .sidebar-head{justify-content:center;position:relative;padding:0}.app-shell.sidebar-collapsed .brand-compact strong,.app-shell.sidebar-collapsed .new-chat b,.app-shell.sidebar-collapsed .search-box,.app-shell.sidebar-collapsed .sidebar-section-head,.app-shell.sidebar-collapsed .sidebar-scroll,.app-shell.sidebar-collapsed .nav-row>span:not(.nav-icon),.app-shell.sidebar-collapsed .nav-row small,.app-shell.sidebar-collapsed .account-text,.app-shell.sidebar-collapsed .account-row .chev{display:none!important}.app-shell.sidebar-collapsed .brand-compact{justify-content:center}.app-shell.sidebar-collapsed #sidebarCollapse{position:absolute;right:-22px;top:5px;z-index:5;width:28px;height:28px;border:1px solid var(--line);background:var(--surface);box-shadow:0 4px 18px rgba(0,0,0,.25);transform:rotate(180deg)}.app-shell.sidebar-collapsed .new-chat{width:42px;height:40px;margin:7px auto 10px;justify-content:center;padding:0}.app-shell.sidebar-collapsed .sidebar-bottom{display:flex;flex-direction:column;align-items:center}.app-shell.sidebar-collapsed .nav-row{width:42px;height:38px;justify-content:center;padding:0;margin:1px 0}.app-shell.sidebar-collapsed .nav-icon{width:auto;font-size:13px}.app-shell.sidebar-collapsed .account-row{width:42px;height:42px;padding:5px;justify-content:center;margin-top:5px}.app-shell{transition:grid-template-columns .16s ease}
}
@media(max-width:920px){:root{--sidebar:245px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-catalog{grid-template-columns:1fr}}
@media(max-width:760px){
  .app-shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,88vw);z-index:22;transform:translateX(-102%);transition:.18s;box-shadow:20px 0 60px rgba(0,0,0,.4)}.sidebar.open{transform:none}.mobile-only{display:grid}.topbar{padding:0 10px}.ghost-btn{display:none}.runtime-text{display:none}.model-pill{max-width:calc(100vw - 92px)}.model-pill select{max-width:190px}.welcome{padding-top:10vh}.welcome h1{font-size:27px}.suggestions{grid-template-columns:1fr}.messages{padding-left:14px;padding-right:14px}.composer-wrap{padding-left:9px;padding-right:9px}.field-grid{grid-template-columns:1fr}.user-admin-row{grid-template-columns:1fr 86px 100px}.user-admin-actions{grid-column:1/-1;justify-content:flex-start}.message-actions{opacity:1}.model-notice{width:calc(100% - 18px)}
}
@media(max-width:520px){.auth-view{padding:14px}.auth-card{padding:18px}.drawer-body{padding-left:14px;padding-right:14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-toggle span,#promptMode{display:none}.composer-left{gap:4px}.model-pill select{max-width:155px}.status-badge{display:none}.top-actions #accountTop{display:none}.modal-backdrop{padding:10px}.modal{border-radius:14px}}


/* ==========================================================
   Migo AI Web v0.5.1 · visual system refresh
   ========================================================== */
:root{
  --bg:#090c10;
  --surface:#10151b;
  --surface2:#151b22;
  --surface3:#1a222b;
  --line:#26303b;
  --line2:#344150;
  --text:#f2f5f8;
  --muted:#a7b2be;
  --muted2:#7f8b98;
  --accent:#8eb7ff;
  --accentText:#08101b;
  --success:#7ed6a2;
  --danger:#e18c96;
  --warning:#d6bd77;
  --sidebar:286px;
  --content:920px;
  --radius:15px;
}
html,body{font-size:15px;line-height:1.45;font-weight:400;letter-spacing:-.006em}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,Arial,sans-serif}
.ui-icon,[data-icon]>.ui-icon,.nav-icon>.ui-icon,.search-icon>.ui-icon{display:block;width:19px;height:19px;flex:0 0 19px}
.icon-btn,.mini-icon,.tool-btn,.send-btn,.stop-btn,.avatar-edit,.drawer-close,.modal-close{display:inline-grid;place-items:center}
.icon-btn{width:36px;height:36px}.mini-icon{width:30px;height:30px}.tool-btn{width:35px;height:35px}
.sidebar{padding:12px 11px;background:linear-gradient(180deg,#0d1116 0%,#0b0f14 100%);border-right-color:#202832}
.sidebar-head{height:48px;padding:0 4px 0 7px}.brand-compact strong{font-size:14px;font-weight:720;letter-spacing:-.02em}
.new-chat{height:44px;margin:8px 2px 11px;padding:0 13px;gap:10px;border-color:#2b3541;background:#121820}.new-chat b{font-size:13px;font-weight:620}.new-chat:hover{border-color:#405064;background:#17202a}
.search-box{height:40px;padding:0 11px;gap:9px;border-color:#26313c;background:#0d1217}.search-box input{font-size:13px;color:var(--text)}.search-box input::placeholder{color:#73808d}.search-box kbd{font-size:9px;padding:2px 5px;color:#7b8794}
.sidebar-section-head{font-size:10px;letter-spacing:.09em;color:#7d8996;margin-top:14px}
.project-btn,.conv-title,.nav-row{font-size:13px}.project-row,.conv{min-height:38px}.project-more,.conv-more{width:30px;height:30px;display:grid;place-items:center}.project-more .ui-icon,.conv-more .ui-icon{width:18px;height:18px}
.nav-row{min-height:40px;border-radius:10px;gap:10px}.nav-row small{font-size:10px}.nav-icon{width:21px;display:grid;place-items:center;color:#9ca9b6}
.account-row{min-height:50px;border-radius:12px}.account-text b{font-size:12px}.account-text small{font-size:10px;color:#84909d}.chev .ui-icon{width:17px;height:17px}
.topbar{height:58px;border-bottom-color:#202832;background:rgba(9,12,16,.88);backdrop-filter:blur(18px);padding:0 18px}.model-pill{min-height:38px;padding:0 10px;border-color:#2b3541;background:#10161d}.model-pill select{font-size:12px}.status-badge,.runtime-text{font-size:10px}.ghost-btn{font-size:12px;padding:8px 10px}
.model-notice{font-size:12px;line-height:1.45;border-color:#4a4230;background:#18150f}.model-notice b{font-size:12px}.model-notice span{font-size:11px}
.welcome{max-width:760px}.welcome h1{font-size:36px;line-height:1.12;letter-spacing:-.045em;font-weight:720}.welcome p{font-size:14px;color:#9ca8b4}.suggestions{gap:10px}.suggestions button{padding:15px 16px;border-radius:13px}.suggestions b{font-size:13px}.suggestions span{font-size:11px;line-height:1.45}
.messages{max-width:var(--content);padding-top:26px;padding-bottom:170px}.message{gap:14px;margin:0 0 28px}.message .avatar{width:34px;height:34px;flex:0 0 34px;font-size:11px}.message-text{font-size:15.5px;line-height:1.72;color:#eef2f6}.message-text p{margin:0 0 12px}.message-meta{font-size:10px;color:#75818e}.message-action{font-size:11px;display:inline-flex;align-items:center;gap:5px;padding:5px 7px}.message-action .ui-icon{width:14px;height:14px}
.message-text pre{border-color:#2c3743;background:#0b1015;border-radius:13px}.code-label{font-size:10px}.code-copy{font-size:10px}
.composer-wrap{padding-bottom:16px}.composer{max-width:var(--content);border:1px solid #344252;border-radius:18px;background:#111820;box-shadow:0 18px 60px rgba(0,0,0,.32)}.composer:focus-within{border-color:#5e7da6;box-shadow:0 0 0 3px rgba(110,158,220,.09),0 18px 60px rgba(0,0,0,.32)}#prompt{font-size:15px;line-height:1.55;padding:15px 16px 8px}.composer-toolbar{padding:7px 9px 9px}.knowledge-toggle,#promptMode{font-size:11px}.generationState,#generationState{font-size:10px}.send-btn{width:36px;height:36px;border-radius:11px;background:var(--accent);color:var(--accentText)}.send-btn .ui-icon{width:18px;height:18px}.stop-btn{width:36px;height:36px;border-radius:11px}.composer-note{font-size:10px;color:#727f8c;margin-top:7px}
.drawer{width:min(430px,94vw);background:#0d1218;border-left-color:#26313c}.drawer-wide{width:min(980px,96vw)}.drawer-head{padding:18px 20px}.drawer-head small{font-size:9px;letter-spacing:.12em}.drawer-head h2{font-size:20px;letter-spacing:-.025em}.drawer-close,.modal-close{width:34px;height:34px;border-radius:10px}.drawer-body{padding:18px 20px 28px}
.profile-card{padding:15px;border-radius:14px}.profile-card b{font-size:14px}.profile-card span:not(.avatar){font-size:11px}.profile-card small{font-size:10px}.avatar.big{width:62px;height:62px;font-size:17px}.avatar-edit{width:28px;height:28px;border-radius:9px}.avatar-edit .ui-icon{width:15px;height:15px}.avatar-upload-status{font-size:11px;color:var(--muted2);margin:8px 2px 0;min-height:16px}
.panel-section h3{font-size:13px}.section-title{margin-bottom:10px}.text-btn{font-size:11px}label{font-size:12px;margin:14px 0 7px;color:#b6c0ca}input,textarea,select{font-size:13px;padding:11px 12px;border-radius:11px}.primary,.secondary,.danger,.danger-outline{font-size:12px;padding:10px 13px}.info-box,.diagnostics{font-size:11px;padding:13px}.stat-card{padding:14px}.stat-card b{font-size:21px}.stat-card span{font-size:10px}.session-row b,.simple-row b,.doc-row b{font-size:12px}.session-row span,.simple-row span,.doc-row span{font-size:10px}.tag{font-size:9px;padding:4px 7px}.small-action{font-size:10px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px}.small-action .ui-icon{width:14px;height:14px}.upload-box strong{font-size:13px}.upload-box span{font-size:10px}.upload-plus .ui-icon{width:28px;height:28px;margin:auto}
.drawer-tabs{padding:11px 20px;gap:5px}.admin-tab{font-size:12px;padding:9px 11px}.admin-help{font-size:11px}.model-card{padding:15px}.model-card b{font-size:13px}.model-card p{font-size:11px}.branding-preview-copy b{font-size:15px}.branding-preview-copy span{font-size:11px}
.user-admin-row{grid-template-columns:minmax(240px,1.6fr) 100px 115px minmax(300px,auto);gap:10px;padding:12px;border-radius:13px}.user-admin-ident{display:flex;align-items:center;gap:10px}.user-admin-ident b{font-size:12px}.user-admin-ident span{font-size:10px}.admin-user-avatar{width:38px!important;height:38px!important;flex:0 0 38px!important;background-size:cover;background-position:center}.user-admin-row select{font-size:11px;padding:8px}.user-admin-actions{gap:6px;flex-wrap:wrap}.user-admin-meta{font-size:10px;color:#7f8b98;padding-top:9px}
.avatar{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.avatar.has-photo{color:transparent!important}
.modal{width:min(540px,100%);background:#10161d;border-color:#344150;border-radius:18px}.modal-head{padding:18px 20px}.modal-head small{font-size:9px}.modal-head h3{font-size:18px}.modal-body{padding:18px 20px}.modal-actions{padding:14px 20px 18px}.action-item{padding:13px 14px}.action-item span{font-size:12px}.action-item small{font-size:10px}.toast{font-size:12px;padding:11px 14px;border-color:#3a4654}

@media(min-width:1280px){
  html,body{font-size:16px}.sidebar{padding-left:13px;padding-right:13px}.brand-compact strong{font-size:15px}.new-chat b,.project-btn,.conv-title,.nav-row{font-size:13.5px}.search-box input{font-size:13.5px}.topbar{height:62px}.welcome h1{font-size:40px}.welcome p{font-size:15px}.message-text{font-size:16.5px;line-height:1.75}.composer{max-width:960px}.messages{max-width:960px}.drawer{width:min(460px,94vw)}.drawer-wide{width:min(1060px,96vw)}
}
@media(max-width:920px){.user-admin-row{grid-template-columns:1fr 92px 105px}.user-admin-actions{grid-column:1/-1;justify-content:flex-start}.message-text{font-size:15px}}
@media(max-width:760px){html,body{font-size:14px}.topbar{height:54px}.welcome h1{font-size:29px}.message-text{font-size:15px;line-height:1.65}.drawer-head h2{font-size:18px}.admin-tab{font-size:11px}.small-action span{display:none}.small-action{width:34px;height:34px;justify-content:center;padding:0}.user-admin-ident b{font-size:12px}.user-admin-ident span{font-size:10px}}


/* ==========================================================
   Migo AI Web v0.5.2 · readability + navigation hardening
   ========================================================== */
:root{
  --bg:#080b0f;
  --surface:#10161d;
  --surface2:#161e27;
  --surface3:#1c2631;
  --line:#2a3643;
  --line2:#3a495a;
  --text:#f7f9fc;
  --muted:#bac4cf;
  --muted2:#909dac;
  --accent:#93baff;
  --accentText:#07111e;
  --sidebar:304px;
  --content:980px;
}
html,body{
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  font-size:15.5px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:0;
}
body{background:#080b0f;color:var(--text)}
button,input,textarea,select{font-family:inherit}
button{font-weight:500}

/* Sidebar must never push its footer below the viewport. */
.app-shell{height:100dvh;min-height:0;overflow:hidden}
.sidebar{
  height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;
  padding:12px 12px 10px;
  background:linear-gradient(180deg,#0e1319 0%,#0a0f14 100%);
}
.sidebar-head,.new-chat,.search-box,.sidebar-bottom{flex:0 0 auto}
.sidebar-scroll{
  flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 3px 7px 0;
}
.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:#2a3541;border:2px solid transparent;background-clip:padding-box;border-radius:99px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#405064;background-clip:padding-box}
.sidebar-bottom{
  flex:0 0 auto;position:relative;z-index:3;margin-top:2px;padding:8px 0 max(2px,env(safe-area-inset-bottom));
  border-top:1px solid #25303a;background:linear-gradient(180deg,rgba(10,15,20,.92),#0a0f14 18%);
}
.sidebar-section-head{font-size:10.5px;color:#93a0ae;font-weight:650;letter-spacing:.075em}
.brand-compact strong{font-size:15px;font-weight:650;color:#fff}
.new-chat{height:46px;border-color:#334050;background:#131b24}.new-chat b{font-size:14px;color:#f7f9fc}
.search-box{height:42px;border-color:#303c48;background:#0c1218}.search-box input{font-size:14px;color:#f5f7fa}.search-box input::placeholder{color:#8c99a7}.search-box kbd{font-size:10px;color:#a0acb8;border-color:#394653}
.project-btn,.conv-title{font-size:14px;line-height:1.25;padding:9px 8px;color:#d9e0e7}.project-row,.conv{min-height:40px}.project-row:hover,.project-row.active,.conv:hover,.conv.active{background:#18212b;color:#fff}
.conv.active{box-shadow:inset 2px 0 0 var(--accent)}
.nav-row{height:41px;min-height:41px;font-size:13.5px;color:#c6d0da}.nav-row:hover,.nav-row.active{background:#18222c;color:#fff}.nav-row small{font-size:11px;color:#95a1ae}.nav-icon{color:#a8b5c2}
.account-row{min-height:52px;color:#e8edf3}.account-text b{font-size:13px;color:#f4f7fa}.account-text small{font-size:11px;color:#929eab}
.empty-history{font-size:11px;color:#8794a2}

/* Polished SVG icon treatment. */
.ui-icon{width:20px;height:20px;stroke-width:1.9;shape-rendering:geometricPrecision}
.icon-btn,.mini-icon,.tool-btn,.avatar-edit,.drawer-close{color:#aab6c3}
.icon-btn:hover,.mini-icon:hover,.tool-btn:hover,.avatar-edit:hover,.drawer-close:hover{color:#fff;background:#1b2530}
.nav-row:hover .nav-icon,.nav-row.active .nav-icon{color:#b9d0ff}
.sidebar-menu-btn{display:grid!important;place-items:center;flex:0 0 auto}
.sidebar-menu-btn[aria-expanded="true"]{background:#1b2632;color:#c7d8f7}

/* Header + model picker: replace native Windows select popup. */
.topbar{height:64px;flex:0 0 64px;padding:0 20px;border-bottom-color:#202a34;background:rgba(8,11,15,.94)}
.top-left{gap:11px}.top-actions{gap:12px}
.model-pill{position:relative;min-height:42px;max-width:min(620px,calc(100vw - 310px));padding:0 10px;border-color:#344150;background:#101720;box-shadow:0 1px 0 rgba(255,255,255,.02)}
.model-menu-button{min-width:0;max-width:460px;height:38px;display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#f3f6f9;padding:0 3px;text-align:left}
.model-menu-button:disabled{opacity:.7;cursor:default}.model-current-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:560;color:#f4f7fb}.model-chevron{display:grid;place-items:center;color:#a5b1be}.model-chevron .ui-icon{width:16px;height:16px;transition:transform .16s}.model-menu-button[aria-expanded="true"] .model-chevron .ui-icon{transform:rotate(180deg)}
.status-badge{font-size:10.5px;font-weight:650;color:#9eabb8;letter-spacing:.035em;padding-left:9px}
.model-menu{position:absolute;left:-1px;top:calc(100% + 8px);z-index:60;width:min(520px,calc(100vw - 32px));padding:7px;background:#111821;border:1px solid #3a4858;border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.52);max-height:min(430px,70vh);overflow:auto}
.model-menu-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:10px;align-items:center;border:0;background:transparent;color:#eaf0f6;padding:10px 11px;border-radius:10px;text-align:left}
.model-menu-item:hover{background:#1a2530}.model-menu-item.active{background:#1c2835}.model-menu-item:disabled{opacity:.48;cursor:not-allowed}.model-menu-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#18222c;color:#aebccb}.model-menu-icon.instruct{background:#13291f;color:#8de0ae}.model-menu-icon.base{background:#292316;color:#e0c37c}.model-menu-icon .ui-icon{width:17px;height:17px}.model-menu-copy{min-width:0}.model-menu-copy b{display:block;font-size:13px;font-weight:620;color:#f5f8fb;white-space:normal;line-height:1.3}.model-menu-copy small{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:4px;font-size:10.5px;color:#9ba8b5}.model-kind-chip{font-weight:700}.model-kind-chip.instruct{color:#87dca9}.model-kind-chip.base{color:#dbc17d}.model-menu-check{display:grid;place-items:center;color:#9fc0ff}.model-menu-check .ui-icon{width:17px;height:17px}
.runtime-text{font-size:11px;color:#9ca8b5}.ghost-btn{font-size:13px;color:#bcc6d1}

/* Main reading experience. */
.messages{max-width:var(--content);padding-top:32px}.message{grid-template-columns:38px minmax(0,1fr);gap:15px;margin-bottom:30px}.message .avatar{width:36px;height:36px;flex:0 0 36px;border-radius:10px}.message-text{font-size:clamp(16px,1.05vw,18px);line-height:1.72;color:#f3f6f9;font-weight:400}.message-meta{font-size:11px;color:#8f9ba8}.message-action{font-size:12px;color:#9da9b6}.message-action:hover{color:#fff}.message-text pre{font-size:13px;line-height:1.6;color:#edf2f7;background:#0b1016;border-color:#2f3b47}.code-label,.code-copy{font-size:11px}
.composer{max-width:var(--content);background:#111922;border-color:#3a4a5b}.composer textarea,#prompt{font-size:16px;color:#f3f6f9}.composer textarea::placeholder{color:#8693a1}.knowledge-toggle,#promptMode{font-size:12px}.composer-note{font-size:11px;color:#84919f}.generationState,#generationState{font-size:11px;color:#96a2af}
.welcome h1{font-size:clamp(34px,2.3vw,44px)}.welcome p{font-size:15px;color:#aab5c0}.suggestions b{font-size:14px}.suggestions span{font-size:12px;color:#97a4b1}

/* Drawers and admin readability. */
.drawer-head small{font-size:10px;color:#95a1ae}.drawer-head h2{font-size:21px}.panel-section h3{font-size:14px}.text-btn{font-size:12px}label{font-size:12.5px;color:#c2ccd6}input,textarea,select{font-size:14px;color:#f4f7fa;background:#0d131a;border-color:#364555}input::placeholder,textarea::placeholder{color:#788695}.primary,.secondary,.danger,.danger-outline{font-size:13px}.info-box,.diagnostics{font-size:12px;color:#abb6c1}.admin-tab{font-size:13px;color:#aeb9c4}.admin-tab.active{color:#fff}.model-card b{font-size:14px}.model-card p{font-size:12px;color:#9ca8b5}.small-action{font-size:11px}.toast{font-size:13px}

@media(min-width:1440px){
  :root{--sidebar:318px;--content:1040px}
  html,body{font-size:16.5px}.sidebar{padding-left:14px;padding-right:14px}.brand-compact strong{font-size:16px}.new-chat b{font-size:14.5px}.search-box input{font-size:14.5px}.project-btn,.conv-title{font-size:14.5px}.nav-row{font-size:14px}.message-text{font-size:18px}.composer textarea,#prompt{font-size:16.5px}.model-current-label{font-size:14px}.model-menu-copy b{font-size:13.5px}.model-menu-copy small{font-size:11px}
}
@media(max-height:780px){
  .sidebar{padding-top:8px;padding-bottom:7px}.sidebar-head{height:42px}.new-chat{height:40px;margin-top:5px;margin-bottom:7px}.search-box{height:38px}.sidebar-section-head{margin-top:10px;margin-bottom:5px}.project-row,.conv{min-height:35px}.project-btn,.conv-title{padding-top:7px;padding-bottom:7px}.nav-row{height:36px;min-height:36px}.account-row{min-height:44px;padding-top:5px;padding-bottom:5px}.sidebar-bottom{padding-top:5px}
}
@media(max-width:1024px){
  .app-shell{display:block}.workspace{height:100dvh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(330px,88vw);z-index:32;transform:translateX(-103%);transition:transform .2s ease;box-shadow:22px 0 70px rgba(0,0,0,.5)}.sidebar.open{transform:translateX(0)}
  .sidebar #sidebarCollapse{display:grid}.topbar{padding:0 12px}.model-pill{max-width:calc(100vw - 120px)}.model-menu-button{max-width:min(430px,58vw)}.runtime-text{display:none}.ghost-btn{display:none}.messages{padding-left:18px;padding-right:18px}.composer-wrap{padding-left:12px;padding-right:12px}
}
@media(max-width:760px){
  .topbar{height:58px;flex-basis:58px}.model-pill{max-width:calc(100vw - 108px);padding-right:7px}.model-menu-button{max-width:calc(100vw - 220px)}.status-badge{display:none}.model-menu{left:-45px;width:min(520px,calc(100vw - 20px))}.top-actions #accountTop{display:none}.message-text{font-size:16px}.messages{padding-left:13px;padding-right:13px}.composer-wrap{padding-left:8px;padding-right:8px}.welcome{padding-left:18px;padding-right:18px}.sidebar-menu-btn{width:38px;height:38px}
}
@media(max-width:520px){.model-current-label{font-size:12.5px}.model-menu-button{max-width:calc(100vw - 170px)}.model-menu{left:-47px}.model-menu-item{grid-template-columns:30px minmax(0,1fr) 20px;padding:9px}.model-menu-icon{width:29px;height:29px}.message-text{font-size:15.5px}}


/* ==========================================================
   Migo AI Web v0.5.3 · single sidebar control visibility
   Exactly one sidebar control is visible at a time:
   - expanded/open sidebar  -> collapse button inside sidebar
   - collapsed/closed       -> menu button in top header
   ========================================================== */
#mobileMenu{display:none!important}
#sidebarCollapse{display:grid!important}

@media(min-width:1025px){
  .app-shell.sidebar-collapsed #mobileMenu{display:grid!important}
  .app-shell.sidebar-collapsed #sidebarCollapse{display:none!important}
}

@media(max-width:1024px){
  #mobileMenu{display:grid!important}
  #sidebarCollapse{display:none!important}
  .sidebar.open #sidebarCollapse{display:grid!important}
  .sidebar.open + .workspace #mobileMenu{display:none!important}
}


/* ==========================================================
   Migo AI Web v0.5.4 · compact footer + files icon + AI logo
   ========================================================== */
@media(min-width:1025px){
  /* When conversation history is hidden in compact mode, keep the entire
     footer group anchored to the bottom exactly like expanded mode. */
  .app-shell.sidebar-collapsed .sidebar-bottom{margin-top:auto!important;width:100%}
  .app-shell.sidebar-collapsed .account-row{margin-top:6px}
}

/* Assistant messages always render the configured Migo logo when available. */
.message .avatar.assistant-brand{
  background:transparent;
  border:1px solid #2b3540;
  padding:3px;
  color:var(--text);
}
.message .avatar.assistant-brand.has-logo{background:transparent!important}
.message .avatar.assistant-brand .brand-image{width:100%;height:100%;object-fit:contain}
.message .avatar.assistant-brand .brand-fallback{display:grid;place-items:center;width:100%;height:100%}

/* Files / Knowledge glyph gets a slightly calmer optical weight in sidebar. */
.nav-row [data-icon="files"] .ui-icon,.nav-row .nav-icon .ui-icon{vector-effect:non-scaling-stroke}

/* ==========================================================
   Migo AI Web v0.5.5 · locale + assistant brand avatar
   ========================================================== */
.message .avatar.assistant-brand{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.message .avatar.assistant-brand .brand-image{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.message .avatar.assistant-brand .brand-fallback{
  border:1px solid #2b3540;
  border-radius:10px;
}


/* ==========================================================
   Migo AI Web v0.5.6 · robust assistant logo rendering
   ========================================================== */
.message .avatar.assistant-brand{
  position:relative;
  display:block!important;
  overflow:hidden!important;
  background-color:transparent!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.message .avatar.assistant-brand .brand-image{display:none!important}
.message .avatar.assistant-brand.assistant-logo-ready .brand-fallback{display:none!important}
.message .avatar.assistant-brand:not(.assistant-logo-ready) .brand-fallback{
  display:grid!important;
  width:100%;
  height:100%;
  place-items:center;
  border:1px solid #2b3540;
  border-radius:10px;
  color:var(--text);
}


/* ==========================================================
   Migo AI Web v0.5.7 · model menu stacking fix
   ========================================================== */
/*
   The header must own a stacking context above chat/composer content,
   while remaining below drawers and modal layers. This prevents
   assistant-brand avatars from painting over the model picker.
*/
.topbar{
  position:relative!important;
  z-index:10!important;
  isolation:isolate;
  overflow:visible!important;
}
.model-pill{
  position:relative;
  z-index:11;
}
.model-menu{
  z-index:15!important;
}
.chat{
  position:relative;
  z-index:1;
}
.message .avatar.assistant-brand{
  z-index:auto!important;
}


/* MIGO WEB v0.6.0 PREVIEW — FEEDBACK */

.web-version-badge{
  color:#a8b8ca;
  white-space:nowrap;
}

.feedback-btn{
  min-width:29px;
  justify-content:center;
  font-size:13px;
  line-height:1;
}

.feedback-btn span{
  filter:grayscale(1);
  opacity:.64;
  transition:
    filter .14s ease,
    opacity .14s ease,
    transform .14s ease;
}

.feedback-btn:hover span{
  filter:none;
  opacity:1;
  transform:translateY(-1px);
}

.feedback-up.feedback-active{
  background:rgba(118,201,151,.11);
  color:#91d8ad;
}

.feedback-down.feedback-active{
  background:rgba(215,125,135,.11);
  color:#e59aa3;
}

.feedback-btn.feedback-active span{
  filter:none;
  opacity:1;
}

@media(max-width:760px){
  .web-version-badge{
    display:none;
  }
}


/* ==========================================================
   MIGO WEB AUTO GENERATION UI v1
   ========================================================== */

.migo-generation-mode {
  margin: 18px 0 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.migo-generation-mode__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.migo-generation-mode__head > div {
  min-width: 0;
}

.migo-generation-mode__head b,
.migo-generation-mode__head span {
  display: block;
}

.migo-generation-mode__head b {
  font-size: 13px;
}

.migo-generation-mode__head span {
  margin-top: 4px;
  color: var(--muted2);
  font-size: 11px;
}

#migoGenerationMode {
  width: auto;
  min-width: 128px;
  flex: 0 0 auto;
}

.migo-generation-mode__note {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.migo-generation-mode__note b {
  color: var(--text);
}

.migo-generation-advanced {
  margin: 0 0 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255,255,255,.01);
}

.migo-generation-advanced > summary {
  min-height: 58px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  user-select: none;
}

.migo-generation-advanced > summary::-webkit-details-marker {
  display: none;
}

.migo-generation-advanced > summary:hover {
  background: rgba(255,255,255,.025);
}

.migo-generation-advanced > summary span:first-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.migo-generation-advanced > summary b {
  font-size: 13px;
}

.migo-generation-advanced > summary small {
  margin-top: 4px;
  color: var(--muted2);
  font-size: 10px;
  font-weight: 400;
}

.migo-generation-advanced__chevron {
  flex: 0 0 auto;
  font-size: 18px;
  color: var(--muted);
  transition: transform .18s ease;
}

.migo-generation-advanced[open]
.migo-generation-advanced__chevron {
  transform: rotate(180deg);
}

.migo-generation-advanced__grid {
  padding: 15px 14px 14px;
  border-top: 1px solid var(--line);
}

.migo-generation-advanced__grid input:disabled,
.migo-generation-advanced__grid select:disabled {
  opacity: .58;
  cursor: not-allowed;
}

.migo-runtime-admin-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 16px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
}

.migo-runtime-admin-info.hidden {
  display: none;
}

.migo-runtime-admin-info__dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  margin-top: 5px;
  border-radius: 50%;
  background: #7ee787;
  box-shadow:
    0 0 0 3px
    rgba(126,231,135,.08);
}

.migo-runtime-admin-info span:last-child {
  min-width: 0;
}

.migo-runtime-admin-info b,
.migo-runtime-admin-info small {
  display: block;
}

.migo-runtime-admin-info b {
  font-size: 12px;
}

.migo-runtime-admin-info small {
  margin-top: 3px;
  color: var(--muted2);
  font-size: 10px;
  line-height: 1.45;
}

.migo-local-runtime-hidden {
  display: none !important;
}

@media (max-width: 720px) {
  .migo-generation-mode__head {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  #migoGenerationMode {
    width: 100%;
  }
}


/* MIGO WEB AUTO GENERATION UI v1.1 HOTFIX */

/*
 * The original settings form uses a two-column grid.
 * These two controls are sections, not individual fields,
 * therefore they must span the complete drawer width.
 */
.migo-generation-mode,
.migo-generation-advanced {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

.migo-generation-advanced:not([open]) {
  height: auto;
  min-height: 0;
}

.migo-generation-advanced[open]
.migo-generation-advanced__grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 720px) {
  .migo-generation-advanced[open]
  .migo-generation-advanced__grid {
    grid-template-columns: 1fr;
  }
}
