:root {
  color-scheme: dark; --navy:#001220; --blue:#0A4DFF; --cyan:#00D1FF; --violet:#7C3AED; --text:#F8FAFC;
  --surface:color-mix(in srgb,var(--navy) 94%,var(--text)); --raised:color-mix(in srgb,var(--navy) 89%,var(--blue));
  --border:color-mix(in srgb,var(--navy) 73%,var(--cyan)); --muted:color-mix(in srgb,var(--text) 68%,var(--navy));
  font-family:ui-sans-serif,system-ui,"Segoe UI",sans-serif; color:var(--text); background:var(--navy); font-synthesis:none;
}
.app-footer{flex-shrink:0;text-align:center;padding:12px 16px;font-size:11px;color:var(--muted)}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:3px} :focus-visible{outline:2px solid var(--cyan)}
button,a.primary{border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}
button:hover{border-color:var(--cyan)}button:disabled{opacity:.5;cursor:default}button.primary,a.primary{background:var(--blue);border-color:var(--blue)}button.primary:hover,a.primary:hover{filter:brightness(1.15)}.quiet{background:transparent;color:var(--muted)}button.danger{background:color-mix(in srgb,var(--navy) 65%,var(--violet));border-color:var(--violet)}a{color:var(--cyan)}
header{min-height:58px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 28px;background:var(--navy);flex-shrink:0}.brand{color:var(--text);text-decoration:none;font-size:23px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--cyan)}.brand small{font-size:10px;letter-spacing:1px;margin-left:14px;color:var(--muted)}.local{font-size:12px;color:var(--muted)}
main{max-width:1450px;padding:22px 28px;margin:auto;width:100%}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}h1{font-size:24px;letter-spacing:-.6px;margin:0;line-height:1.2}h2{font-size:17px;margin:0 0 16px}p{color:var(--muted);font-size:13px;line-height:1.6;margin:10px 0 16px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--cyan);margin:0 0 8px}.hint{font-size:11px;color:var(--muted);line-height:1.6}.notice{padding:12px 16px;border:1px solid var(--border);background:var(--raised);border-radius:10px;font-size:12px;color:var(--muted)}
.stats{display:flex;gap:8px}.stats>div{padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:9px;min-width:125px}.stats span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.stats strong{font-size:11px;color:var(--cyan);font-weight:600}
.workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:18px;align-items:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.section-head{display:flex;justify-content:space-between;align-items:center}.badge{background:var(--raised);color:var(--muted);padding:5px 9px;border-radius:7px;font-size:11px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.queue{overflow:auto;margin-top:12px;max-height:520px}.empty{border:1px dashed var(--border);border-radius:9px;padding:40px 18px;text-align:center;color:var(--muted);font-size:13px}.queue-item{padding:14px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.queue-item p{margin:6px 0;overflow-wrap:anywhere;color:var(--text)}.queue-item strong{font-size:12px;color:var(--cyan)}.queue-item small{color:var(--muted);font-size:11px}.queue-item button{font-size:11px;padding:6px 9px;align-self:center}
input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid var(--border);border-radius:7px;background:var(--navy);color:var(--text);padding:9px 11px;margin-top:7px;font-size:13px}textarea{resize:vertical;line-height:1.5}label{display:block;color:var(--muted);font-size:12px;margin:16px 0}.toggle{display:flex;align-items:center;gap:9px}.toggle input{accent-color:var(--cyan);width:16px;height:16px;margin:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}hr{border:0;border-top:1px solid var(--border);margin:20px 0}.save-bar{position:sticky;bottom:0;padding:12px;background:var(--raised);border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 8px 24px #0005}.login{max-width:500px;margin:8vh auto}.login h1{margin-bottom:15px}.login button{width:100%;margin-top:10px}footer{font-size:11px;color:var(--muted);padding:20px 0}audio{width:100%;margin:12px 0}
#accountBar{align-items:center;gap:12px;margin:0}#accountName{color:var(--muted);font-size:12px}#adminLink{font-size:12px}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--raised);border:1px solid var(--cyan);color:var(--text);padding:12px 20px;border-radius:9px;max-width:90vw;box-shadow:0 10px 30px #0008;font-size:13px;z-index:4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.studio-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgb(124 58 237 / 10%),transparent 28rem),var(--navy)}.studio-page main{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 28px}.studio-page #studio{flex:1;min-height:0;display:flex;flex-direction:column}.studio-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:14px;flex-shrink:0}.studio-tabs button{background:transparent;border-color:transparent;color:var(--muted)}.studio-tabs button[aria-selected=true]{background:var(--raised);border-color:var(--cyan);color:var(--cyan)}.live-panel{display:flex;flex:1;min-height:0}.queue-card{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;margin-bottom:0;padding:16px}.queue-card .section-head{justify-content:flex-end}.queue-card .toolbar{margin:0;flex-shrink:0}.queue-card .queue{flex:1;min-height:0;max-height:none}.queue-card .queue-clear{margin-left:auto}#settingsPanel{overflow:auto;min-height:0;flex:1;padding-right:5px}.settings-workspace{margin-top:0;grid-template-columns:minmax(0,1fr)}.settings-workspace .fields{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.form-footer{align-items:start;flex-direction:column}}@media(max-width:600px){header{flex-wrap:wrap;padding:10px 16px;gap:10px}#accountBar{gap:8px}#accountName{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-page main,main{padding:14px 16px}.hero{align-items:flex-start;flex-direction:column;gap:12px}h1{font-size:21px}.stats{width:100%}.stats>div{flex:1;min-width:0}.card{padding:16px}.queue-card .toolbar{gap:8px}.queue-card .section-head{justify-content:flex-start}.queue-card .queue-clear{margin-left:0}.fields{grid-template-columns:1fr}.save-bar{flex-wrap:wrap}.save-bar button{width:100%}.queue-item{grid-template-columns:1fr}.queue-item button{justify-self:start}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:38px;height:38px;object-fit:contain;flex-shrink:0}.brand .brand-name{color:var(--text)}

.workspace-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero .stats{margin-left:auto}@media(max-width:600px){.hero .stats{margin-left:0}}

.queue-composer{flex-shrink:0;border-bottom:1px solid var(--border);margin-top:12px;padding-bottom:12px}.composer-input{display:flex;align-items:center;gap:12px}.composer-input textarea{flex:1;min-width:0;margin-top:0;resize:none}.composer-input button{flex-shrink:0}.queue-composer .hint{display:block;margin-top:6px}.stats a{font-size:11px;display:block;margin-top:5px}@media(max-width:600px){.composer-input{align-items:stretch;flex-direction:column;gap:8px}.composer-input button{align-self:flex-end}}

.studio-page:has(#login:not([hidden])) header{display:none}.studio-page main:has(#login:not([hidden])){justify-content:center;overflow:auto}.login-screen{width:100%;max-width:420px;margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;padding:24px 0}.login-logo{width:180px;height:180px;object-fit:contain}.login-screen a.primary{font-size:14px;padding:12px 24px}.login-screen .hint{margin:0}

#alertsPanel{overflow:auto;min-height:0;flex:1;padding-right:5px}#alertsAuthorize{display:inline-block;margin:0 0 16px;font-size:13px}

/* Single-column forms with widths suited to their content. */
.configuration{width:100%;max-width:820px;margin:0 auto;padding:2px 0 16px}
.settings-workspace{display:block}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .card{padding:18px 20px;margin-bottom:12px;border-radius:12px;box-shadow:0 4px 16px #0001}
:is(#settingsPanel,#alertsPanel,#overlayPanel) h2{font-size:15px;line-height:1.4;margin:0}
:is(#settingsPanel,#alertsPanel,#overlayPanel) p{margin:8px 0;line-height:1.5}
.config-heading,#alertsPanel .alert-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.config-heading p{margin-bottom:0!important}
:is(#settingsPanel,#alertsPanel,#overlayPanel) label{margin:12px 0;color:var(--text);font-size:12px}
#settingsPanel label:not(.toggle){display:grid;grid-template-columns:170px minmax(0,430px);align-items:start;gap:16px;line-height:38px}
:is(#settingsPanel,#alertsPanel,#overlayPanel) input:not([type=checkbox]),:is(#settingsPanel,#alertsPanel,#overlayPanel) textarea,:is(#settingsPanel,#alertsPanel,#overlayPanel) select{padding:8px 10px;margin:0;min-height:38px;line-height:1.5;font-size:13px;border-color:color-mix(in srgb,var(--border) 75%,var(--navy));border-radius:8px}
:is(#settingsPanel,#alertsPanel,#overlayPanel) :is(input,textarea,select):focus-visible{border-color:var(--cyan)}
#settingsPanel input[type=number]{width:112px}
#settingsPanel .input-command{max-width:220px}
#settingsPanel .voice-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#settingsPanel .voice-field label{flex:1;max-width:616px;margin:0}
#settingsPanel .voice-field button{min-height:38px}
#settingsPanel #voiceLoadStatus{padding-left:186px}
.config-heading .toggle,#alertsPanel .alert-heading .toggle{margin:0;white-space:nowrap;font-size:11px;color:var(--muted)}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .toggle input{appearance:none;position:relative;width:32px;height:18px;flex-shrink:0;background:var(--navy);border:1px solid var(--border);border-radius:20px;cursor:pointer}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .toggle input:before{content:"";position:absolute;width:12px;height:12px;top:2px;left:2px;border-radius:50%;background:var(--muted)}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .toggle input:checked{background:var(--blue);border-color:var(--blue)}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .toggle input:checked:before{left:16px;background:var(--text)}
#settingsPanel .filter-toggle{padding:4px 0}
.config-tag{font-size:10px;color:var(--cyan);padding:4px 8px;border:1px solid var(--border);border-radius:6px}
#alertsPanel .card:has(input:checked){border-color:color-mix(in srgb,var(--cyan) 50%,var(--navy))}
#alertsPanel .alert-template{display:block;margin:0}
#alertsPanel .alert-template textarea{min-height:56px;resize:vertical}
#alertsPanel .card>p.hint{display:block;margin:7px 0 0;overflow-wrap:anywhere}
#alertsPanel .card>p[id$="-preview"]{color:var(--text);border-left:2px solid var(--border);padding-left:10px;margin-top:9px}
#alertsAuthorize{margin:6px 0 16px}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .save-bar{padding:12px 14px;border-radius:10px;z-index:1;background:color-mix(in srgb,var(--navy) 92%,var(--blue));box-shadow:0 -8px 20px #00122088}
:is(#settingsPanel,#alertsPanel,#overlayPanel) .save-bar button{min-height:38px}
@media(max-width:600px){.configuration{padding-top:0}:is(#settingsPanel,#alertsPanel,#overlayPanel) .card{padding:15px}#settingsPanel label:not(.toggle){grid-template-columns:minmax(0,1fr);gap:6px;line-height:1.5}#settingsPanel .voice-field{align-items:flex-end}#settingsPanel .voice-field label{flex-basis:100%}#settingsPanel #voiceLoadStatus{padding-left:0}.config-heading,#alertsPanel .alert-heading{gap:10px}#settingsPanel input[type=number]{width:112px}}

.alert-actions{display:flex;align-items:center;gap:14px}.alert-actions button{padding:5px 10px;min-height:32px}@media(max-width:600px){.alert-actions{gap:8px}}

.queue-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:10px;margin-top:10px;flex-shrink:0}.queue-pagination .toolbar{margin:0}.queue-time{float:right;font-size:11px;color:var(--muted);margin-left:12px}@media(max-width:600px){.queue-pagination{flex-wrap:wrap}.queue-time{float:none;display:block;margin:4px 0 0}}

#overlayPanel{overflow:auto;min-height:0;flex:1;padding-right:5px}
#overlayTheme{max-width:280px}
.overlay-options{display:flex;gap:16px;flex-wrap:wrap}.overlay-options>div{flex:1;min-width:160px;max-width:280px}
.font-field{position:relative}.font-field-label{display:block;margin:8px 0;color:var(--text);font-size:12px}
#fontPicker summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;border:1px solid var(--border);background:var(--navy);border-radius:8px;padding:8px 10px;min-height:38px;font-size:13px}#fontPicker summary::-webkit-details-marker{display:none}#fontPicker summary[aria-disabled=true]{opacity:.5;cursor:default}
.overlay-options>.font-field:has(details[open]){flex-basis:100%;max-width:none}.font-field:has(details[open]) summary{max-width:280px}
.font-picker-menu{margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--navy)}
.font-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto;margin-top:10px;padding:2px}
.font-filters{display:flex;gap:8px}.font-filters input{min-width:0;flex:1}.font-filters select{max-width:175px}.font-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.font-choice{text-align:left;display:flex;flex-direction:column;gap:5px;min-width:0;background:var(--surface)}.font-choice[aria-pressed=true]{border-color:var(--cyan);background:var(--raised)}.font-choice strong{font-size:11px}.font-choice span{font-size:19px;line-height:1.4;overflow-wrap:anywhere}.font-choice small{font-size:10px;color:var(--muted);font-weight:400}
@media(max-width:600px){.font-filters{flex-wrap:wrap}.font-choices{grid-template-columns:1fr}}
.overlay-colors{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.overlay-colors legend{font-size:11px;color:var(--muted)}
#overlayPanel .overlay-colors label{margin:0;display:flex;align-items:center;gap:8px;font-size:11px}
#overlayPanel .overlay-colors input[type=color]{width:44px;height:32px;min-height:32px;padding:3px;cursor:pointer}
.overlay-preview-stage{min-height:110px;display:flex;align-items:center;justify-content:center;padding:12px;margin-top:12px;border:1px solid var(--border);border-radius:10px;background:repeating-conic-gradient(#ffffff08 0% 25%,transparent 0% 50%) 0 / 20px 20px}
#overlayPanel .card{padding:14px 18px}#overlayPanel .config-heading{margin-bottom:8px}#overlayPanel label{margin:8px 0}#overlayPanel .config-heading .toggle{margin:0}#overlayPanel .card p.hint{margin:6px 0;font-size:11px}
.overlay-preview{width:100%;max-width:720px;aspect-ratio:3 / 1;padding:12px 14px;display:flex;flex-direction:column;justify-content:center}
.overlay-preview strong{display:block;font-size:16px;line-height:1.25;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}
#overlayPanel .overlay-preview p{font-size:clamp(18px,3vw,28px);font-weight:600;line-height:1.3;color:var(--overlay-text);margin:0;flex:0 0 auto;overflow-wrap:anywhere}
@media(max-width:600px){.studio-tabs{gap:2px}.studio-tabs button{padding:8px 10px}.overlay-preview-stage{padding:12px}}

.user-access{border-bottom:1px solid var(--border);padding:8px 0 14px}.user-access details{padding:0 10px}.user-access summary{cursor:pointer}.voice-access-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:240px;overflow:auto;margin:12px 0}.voice-access-choices label{display:flex;align-items:center;gap:8px;margin:0}.voice-access-choices input{width:auto}.quota-warning{padding:12px;border:1px solid #e5a844;border-radius:8px;color:#ffd078;background:#e5a84414}
