.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 11px; min-height:36px; border:1px solid var(--line,#dce5e2); border-radius:7px; background:#fff; color:#365f54; font:500 11px 'Segoe UI',system-ui,sans-serif; cursor:pointer; white-space:nowrap; }
.terminal-theme-toggle { position:fixed; top:14px; right:18px; z-index:1001; }
html[data-theme="dark"] { color-scheme:dark; --ink:#dce9e3; --muted:#9aafa5; --paper:#141c1b; --line:#34423d; --accent:#60c9a5; --accent-soft:#203d32; --bg:#141c1b; --panel:#1c2723; --panel-2:#222f29; --panel-3:#2a3932; --panel-hover:#293e33; --border:#34423d; --border-light:#475a50; --text:#dce9e3; --dim:#8ba396; --blue:#60c9a5; --blue-soft:#203d32; --green:#88d4a3; --green-soft:#223d2e; --amber:#e1b26c; --amber-soft:#3d3424; --red:#f29e91; --red-soft:#402b28; --input:#16201b; }
html[data-theme="dark"] body,html[data-theme="dark"] .start-menu-overlay,html[data-theme="dark"] .admin-page,html[data-theme="dark"] .content { background:#141c1b; color:#dce9e3; }
html[data-theme="dark"] :is(.start-menu-card,.admin-card,.admin-stats article,.card,.stat,.stellwerk-card,.route-entry,.quick-link,.modal-content,.modal,.audio-modal-box,.dialpad-box,.phonebook-box) { background:#1c2723; color:#dce9e3; border-color:#34423d; box-shadow:0 2px 6px #0001; }
html[data-theme="dark"] :is(.header,.card-header,.modal-header,.modal-footer,.audio-modal-header,.audio-modal-footer,.audio-modal-body,.phonebook-header) { background:#1c2723; color:#dce9e3; border-color:#34423d; }
html[data-theme="dark"] .start-menu-header { background:transparent; }
html[data-theme="dark"] :is(.welcome-panel,.admin-sidebar,.sidebar) { background:#102722; }
html[data-theme="dark"] .welcome-panel { border-right:1px solid #31473c; }
html[data-theme="dark"] :is(.dev-banner,.info-card,.sip-advanced-settings,.audio-section,.station-option,.endpoint-row,.push-log,.route-number,.sw-type,.tag-wrap) { background:#222f29; border-color:#3b4d40; color:#c8dcd0; }
html[data-theme="dark"] .dev-banner strong { color:#a1c9b2; }
html[data-theme="dark"] :is(.character-card,.phonebook-entry) { background:#1c2723; color:#dce9e3; border-color:#3b4d40; }
html[data-theme="dark"] :is(.character-card:hover,.phonebook-entry:hover,.route-entry:hover,.stellwerk-card:hover,.station-option:has(input:checked)) { background:#253d30; border-color:#578069; }
html[data-theme="dark"] :is(.character-card-icon,.character-avatar,.identity-icon,.chip,.endpoint-number,.create-plus) { background:#294334; color:#a6dbb7; border-color:#4b6855; }
html[data-theme="dark"] :is(.identity-preview,.workflow-note,.activation-details,.admin-message.success) { background:#22392c; border-color:#3e5947; color:#c0e3ca; }
html[data-theme="dark"] :is(.workflow-note p,.card-subtitle,.page-description,.field-help,.character-card-desc,.character-card-kind,.form-intro,.welcome-panel p,.info-row span,.form-hint,.hint,.station-option small,.user-row small,.route-entry small,.creator-feature p,.quick-link small,.settings-description,.identity-uri,.sw-location,.sw-status-text,.activation-details>p,.section-heading p) { color:#a2b7aa; }
html[data-theme="dark"] :is(.start-menu-title h2,.character-card-name,.character-picker-section h3,.form-group label,.field,.label,.info-row,.card-title,.page-title,.empty strong,.sw-name,.phonebook-entry-info h4,.audio-modal-title h3,.phonebook-header h3,.dialpad-header h3,.audio-section label,.audio-section-header,.audio-dsp-options h4,.checkbox-label) { color:#dce9e3; }
html[data-theme="dark"] :is(.onboarding-panel input,.onboarding-panel select,.onboarding-panel textarea,.admin-page input:not([type=checkbox]),.admin-page select,.admin-page textarea,.field input,.field select,.field textarea,.group-edit input,.inline-create input,.header-search input,.phonebook-search,.dialpad-display input,.audio-modal-box select,.tag-input) { background:#151f19!important; color:#e1eee5; border-color:#425648; }
html[data-theme="dark"] :is(.btn-secondary,.btn-icon,.theme-toggle,.admin-header a,.admin-header button,.user-actions button,.modal-footer button:not(.btn-start-terminal),#copyActivationButton,.btn-test-sound,.btn-test-mic,.btn-audio-action,.btn-refresh-devices,.dialpad-key) { background:#25352b; color:#d0e4d6; border-color:#425648; }
html[data-theme="dark"] :is(.btn-start-terminal,.btn-primary,.btn-primary-audio,.btn-dialpad-call) { background:#378064; border-color:#438f70; color:#f4fbf5; }
html[data-theme="dark"] :is(.btn-start-terminal:hover,.btn-primary:hover:not(:disabled)) { background:#419577; }
html[data-theme="dark"] :is(.btn-danger,.user-actions .danger,.btn-dialpad-clear) { background:#342825; color:#f3aa9e; border-color:#684339; }
html[data-theme="dark"] :is(.login-message:not(:empty),.admin-message.error) { background:#3c2c25; color:#f3b3a3; }
html[data-theme="dark"] .creator-feature { background:#253f2e; border:1px solid #3b5e46; color:#e0eee3; }
html[data-theme="dark"] :is(.creator-feature .eyebrow,.feature-symbol,.route-arrow,.identity-value,.sw-number) { color:#acd2b6; }
html[data-theme="dark"] .creator-feature .btn { background:#38583f; border-color:#587860; color:#e5f3e8; }
html[data-theme="dark"] :is(.route-entry,.user-row,.section-heading,.session-row,.admin-form,.info-divider) { border-color:#34423d; }
html[data-theme="dark"] :is(.eyebrow,.start-menu-title span:not(.eyebrow),.character-picker-intro,.phonebook-entry-info p,.activation-intro,.vu-label) { color:#a2b7aa; }
html[data-theme="dark"] .start-menu-title .eyebrow { color:#a2b7aa; }
html[data-theme="dark"] .info-row.green-text { color:#a9d7b7!important; }
html[data-theme="dark"] .info-row code { background:#294334; color:#b4dfc2; }
html[data-theme="dark"] :is(.btn-link-action,.text-button,.session-row a) { color:#8bd3ac; }
html[data-theme="dark"] .vu-meter-bar-container { background:#3b4d40; }
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder { color:#8ca595; }
/* Keep the dispatch display and its fixed-function keys readable in either app theme. */
html[data-theme="dark"] .terminal-housing { color-scheme:light; }
@media(max-width:650px) { .terminal-theme-toggle { top:12px; right:12px; min-height:30px; padding:6px 9px; }.header-right .theme-toggle { padding:7px 9px; }.admin-header nav .theme-toggle { display:inline-flex; } }
