/* Theme surfaces override colours, not layout dimensions or account text size. */
body[data-design="modern"] {
 --bg:#f0f3fb;--card:rgba(255,255,255,.80);--surface-solid:#f7f9fe;--input:#ffffff;
 --text:#223247;--muted:#596a7c;--border:#ced8e7;--green:#1676b8;--green-dark:#105e96;
 --green-soft:#e4f3fc;--sidebar:#e4eaf5;--danger:#ab3544;
 --shadow:0 4px 8px rgba(44,64,103,.05),0 12px 28px rgba(44,64,103,.10);
 --accent-gradient:linear-gradient(110deg,#1679c2,#00818b);--glow:rgba(0,179,199,.18);
 background:radial-gradient(ellipse at 45% 20%,rgba(111,215,245,.18),transparent 45%),radial-gradient(ellipse at 75% 80%,rgba(177,147,246,.12),transparent 45%),var(--bg);
 color:var(--text);color-scheme:light;
}
body[data-design="modern"][data-color-mode="dark"] {
 --bg:#0b1020;--card:rgba(34,42,59,.83);--surface-solid:#20293b;--input:#171f30;
 --text:#edf2fc;--muted:#afbbcd;--border:#445166;--green:#78d4ec;--green-dark:#ace7f7;
 --green-soft:#243d51;--sidebar:#202736;--danger:#ff9baa;
 --shadow:0 8px 28px rgba(0,0,0,.25);--accent-gradient:linear-gradient(110deg,#156cbd,#6c3cd0);--glow:rgba(57,201,227,.15);
 background:radial-gradient(ellipse at 40% 20%,rgba(30,126,170,.15),transparent 45%),radial-gradient(ellipse at 75% 80%,rgba(113,59,190,.16),transparent 45%),var(--bg);color-scheme:dark;
}
body[data-color-mode="dark"] {--surface-solid:var(--card);--input:#22343d;--danger:#ff9baa;color:var(--text);color-scheme:dark;}
body[data-design="modern"][data-color-mode="dark"] {--surface-solid:#20293b;--input:#171f30;}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(.topbar,.chat-panel,.settings-card,.connection-card,.connector-card,.note-card,.filter-bar,.empty-state,.metrics,.capacity-card,.policy-card,.conversation-panel,.conversation-tools,.queue-panel,.user-row,.memory-row,.share-row,.memory-add-form,.settings-link,.quick-card,.alias-row,.agent-card,.mcp-card,.login-card,.shared-card,.client-guide-page,.vault-node,.vault-card,dialog,.brain-card,.web-research-card,.test-results-panel,.user-model-provider,.user-hub-access) {background:var(--card);color:var(--text);border-color:var(--border);}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.button.secondary,.icon-button,.conversation-item,.code-editor,.model-test-row,.test-result-row) {background:var(--input);color:var(--text);border-color:var(--border);}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(.chat-content,.message-list,.main-panel,.content,.chat-layout) {background:transparent;}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(.policy-card p,.capacity-card p,.settings-card p,.connection-card p,.note-card p,.alias-row p,.conversation-meta,.conversation-item time,.sidebar-footer) {color:var(--muted);}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(.conversation-item:hover,.conversation-item.active,.chat-message>section,.chat-message>div,.switch-panel,.agent-memory-panel,.model-chip,.model-group,.provider-group,.conversation-resizer,.chat-options-grid,.profile-menu) {background:var(--green-soft);color:var(--text);border-color:var(--border);}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(.chat-message.user>section,.conversation-item.active) {background:var(--green-soft);border-color:var(--green);}
body[data-color-mode="dark"] :is(.settings-link span,.settings-link strong,.quick-card span,.quick-card strong,.chat-title,.conversation-item strong,.alias-route,.provider-info,.model-name,.dialog-heading) {color:var(--text);}
body[data-color-mode="dark"] :is(.code-workspace,.code-files,.code-preview,.detail-panel,.activity-card,.audit-row,.diagnostic-card,.table-wrap,.web-result,.web-page,.memory-space,.metric,.inline-help,.token-policy-card) {background:var(--surface-solid);color:var(--text);border-color:var(--border);}
body[data-color-mode="dark"] :is(.badge,.pill,.status-pill,.chip,.tag,.permission-badge,.routing-badge) {background:var(--green-soft);color:var(--text);border-color:var(--border);}
body[data-color-mode="dark"] ::placeholder {color:#a7b4c6;opacity:1;}
body[data-color-mode="dark"] :is(.form-error,.error-text,.test-fail) {color:var(--danger);}
body[data-color-mode="dark"] :is(.message-text>code,.inline-code,td,th) {border-color:var(--border);}
/* Read-only values need the same paired surface/text colours as editable fields. */
body[data-color-mode="dark"] :is(.api-key-value,#totp-recovery-codes,.router-result,.client-guide-page pre,.agent-mcp-server,.mcp-tool-groups,.oauth-setup-guide,.dev-message.user,.attachment-tray>span,.message-attachments a,.message-text>code,.claude-card,.claude-status) {background:var(--surface-solid);color:var(--text);border-color:var(--border);}
body[data-color-mode="dark"] :is(.form-grid>label,.redirect-uri-box code,.oauth-setup-guide ol,.oauth-setup-guide>p) {color:var(--text);}
body[data-color-mode="dark"] :is(.oauth-needed,.cleanup-summary,.vault-error,.diagnostic-row.warning b,.diagnostic-row.error b) {background:var(--surface-solid);border-color:var(--border);}
body[data-color-mode="dark"] :is(.oauth-needed,.cleanup-summary,.diagnostic-row.warning b) {color:#f2cb85;}
body[data-color-mode="dark"] :is(.vault-error,.diagnostic-row.error b) {color:var(--danger);}
body[data-color-mode="dark"] :is(.button.secondary:hover,.icon-button:hover) {background:var(--green-soft);color:var(--text);}
body[data-color-mode="dark"] .button.danger {background:#92333f;color:#fff;}
body[data-color-mode="dark"] :is(.note-badge,.note-card footer span,.required-field,.policy-icon,.diagnostic-row:not(.warning):not(.error) b) {background:var(--green-soft);color:var(--green);}
body[data-color-mode="dark"] :is(.queue-item nav button:hover,.conversation-item button[data-delete-conversation]:hover,.conversation-item button[data-rename-conversation]:hover) {background:var(--green-soft);}
body[data-design="modern"] :is(.topbar,.conversation-panel,.settings-card,.connection-card,.login-card,.shared-card,.profile-menu,dialog) {box-shadow:var(--shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
body[data-design="modern"] .sidebar {background:var(--sidebar);color:var(--text);border-right:1px solid var(--border);box-shadow:var(--shadow);}
body[data-design="modern"] :is(.sidebar .brand,.sidebar .brand strong,.sidebar .nav-button,.sidebar .nav-button svg,.mobile-nav button,.topbar nav button) {color:var(--text);}
body[data-design="modern"] .sidebar .nav-button.active {background:var(--green-soft);color:var(--green);}
body[data-design="modern"] :is(.button.primary,#new-conversation) {background:var(--accent-gradient);border-color:transparent;color:#fff;box-shadow:0 3px 14px var(--glow);}
body[data-design="modern"] .button.primary:hover {filter:brightness(1.08);}
body[data-design="modern"] .conversation-item {box-shadow:0 4px 12px rgba(44,64,103,.08);}
body[data-design="modern"] .conversation-item.active {box-shadow:0 0 14px var(--glow);}
body[data-design="modern"] .composer textarea {box-shadow:var(--shadow);border-color:var(--border);}
body[data-design="modern"] .composer textarea:focus {border-color:var(--green);box-shadow:0 0 0 2px var(--glow),var(--shadow);}
body[data-design="modern"] .topbar {border-color:var(--border);}
body[data-design="modern"] .chat-panel {background:transparent;}
body[data-design="modern"] .composer .attachment-button {background:var(--card);color:var(--text);border-color:var(--border);box-shadow:var(--shadow);}
body[data-design="modern"] .profile-avatar {background:var(--green-soft);color:var(--text);border-color:var(--border);}
body[data-design="modern"] .login-screen {background:transparent;}
body[data-design="modern"] .switch input:checked+span {box-shadow:0 0 10px var(--glow);}
body[data-design="modern"] :is(.nav-button,.mobile-nav button,.topbar nav button):focus-visible {outline:2px solid var(--green);outline-offset:2px;}
.appearance-defaults {margin-top:20px;max-width:700px;}
body.appearance-standalone {min-height:100vh;}
body.appearance-standalone:is([data-design="modern"],[data-color-mode="dark"]) :is(main>section,button,.mock,.mock span,.uri,.callout,.warning) {background:var(--card);color:var(--text);border-color:var(--border);}
body.appearance-standalone:is([data-design="modern"],[data-color-mode="dark"]) :is(a,.mock small) {color:var(--green);}
body[data-design="original"][data-color-mode="dark"] .button.primary {background:#176158;color:#fff;}
body:is([data-design="modern"],[data-color-mode="dark"]) :is(#mobile-tabs,.calendar-row,.diagnostic-row,.api-card,.vault-table,.account-setup-card,.redirect-uri-box,.modal>form>.modal-actions,.code-workbench>aside,.code-workbench>article,.mcp-tool-group,.mcp-tool-item,.policy-title span,.loading) {background:var(--card);color:var(--text);border-color:var(--border);}
.appearance-defaults label {min-width:0;}
.appearance-defaults select {width:100%;min-width:0;max-width:100%;height:40px;border:1px solid var(--border);border-radius:8px;padding:0 10px;}
@media (max-width:800px) {body[data-design="modern"] :is(.topbar,.conversation-panel,.settings-card,.connection-card) {backdrop-filter:none;-webkit-backdrop-filter:none;}.appearance-defaults {margin-top:12px;}}
@media (prefers-reduced-motion:reduce) {body[data-design="modern"] * {transition:none!important;}}

/* Keep the shared conversation cards consistent across light/dark designs. */
body:is([data-design="modern"],[data-color-mode="dark"]) #message-list .chat-message.assistant>section {background:var(--card);border-color:var(--border);}
body:is([data-design="modern"],[data-color-mode="dark"]) #message-list .chat-message.user>section {background:var(--green-soft);border-color:var(--border);}
