/* Voice Studio follows the dashboard palette and remains usable on a phone. */
#page-voice [hidden]{display:none!important}
#page-voice{--voice-level:0}
.main:has(> #page-voice.active)>.page-header{min-height:0;padding-block:12px}
.main:has(> #page-voice.active)>.page-header h1{font-size:1.375rem;line-height:1.3;margin:0}
.main:has(> #page-voice.active)>.page-header .eyebrow,.main:has(> #page-voice.active) #pageSubtitle{display:none}
.voice-eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:700;color:var(--accent)}
.voice-eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:700;color:var(--accent)}
.voice-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.voice-toolbar>.btn{min-height:44px;flex-shrink:0}
.voice-notice{flex:1;min-width:0;padding:8px 0;color:var(--text-2);font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}
.voice-notice.error{border-left:3px solid var(--danger);padding:8px 12px;background:var(--surface-2);border-radius:0 8px 8px 0;color:var(--danger)}
.voice-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(340px,1.8fr) minmax(200px,.8fr);gap:20px;align-items:start}
#page-voice .page-card{min-width:0;margin-bottom:20px}
#page-voice h3{margin:0 0 12px;font-size:1rem}
#page-voice p{line-height:1.6}
#page-voice label:not(.sr-only){display:grid;gap:8px;font-size:.8rem;font-weight:600;margin-bottom:12px;color:var(--text-2)}
#page-voice input:not([type=checkbox]),#page-voice select,#page-voice textarea{width:100%;min-width:0;font:inherit;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);padding:11px 12px;box-sizing:border-box}
#page-voice textarea{line-height:1.6;resize:vertical;font-weight:400}
#page-voice audio{width:100%;height:40px;margin:8px 0}
#page-voice summary{cursor:pointer;font-weight:600;font-size:.9rem;min-height:24px}
.voice-card-heading,.voice-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.voice-row{justify-content:flex-start;margin-top:16px}
.voice-card-heading h3{margin:0!important}
.voice-library .muted-note{font-size:.75rem}
.voice-prepare{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:16px}.voice-prepare .btn{min-height:44px;flex-shrink:0}.voice-prepare .muted-note{flex:1 1 150px;margin:0;font-size:.74rem}
.voice-lab>p{font-size:.85rem;max-width:1000px}.voice-lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.voice-lab-grid>div,.voice-lab-grid>fieldset{min-width:0}.voice-lab fieldset{border:0;padding:0}.voice-lab legend{font-weight:600;font-size:.9rem}.voice-lab .muted-note{font-size:.75rem;overflow-wrap:anywhere}.voice-lab .voice-fields{align-content:start}.voice-lab .voice-row{margin:8px 0}.voice-lab-numbers{display:grid;grid-template-columns:1fr 1fr;gap:14px}.voice-lab .btn{min-height:44px}.voice-lab .error{color:var(--danger)}
@media(max-width:800px){.voice-lab-grid{grid-template-columns:1fr;gap:14px}}
#page-voice .voice-lab label.voice-consent{display:flex;align-items:center;gap:8px;margin:0}.voice-lab .voice-consent input{margin:0}
.voice-fields{display:grid;gap:6px;margin-top:18px}
.voice-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:20px}
.voice-tabs button{flex:1;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font:inherit;font-size:.85rem;cursor:pointer}
.voice-tabs button.active{background:var(--surface-2);color:var(--accent);font-weight:600}
.voice-orb{display:flex;justify-content:center;align-items:center;gap:7px;width:116px;height:116px;margin:22px auto;border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 3%,transparent);transition:background .2s}
.voice-orb span{width:5px;height:18px;border-radius:5px;background:var(--accent);transition:height .12s}
.voice-orb span:nth-child(2),.voice-orb span:nth-child(4){height:32px}.voice-orb span:nth-child(3){height:46px}
.voice-orb[data-state=listening] span{height:calc(12px + var(--voice-level)*65px)}
.voice-orb[data-state=thinking] span{animation:voice-breathe 1.3s ease-in-out infinite}
.voice-orb[data-state=speaking] span{animation:voice-breathe .6s ease-in-out infinite alternate}
.voice-orb span:nth-child(2){animation-delay:.1s!important}.voice-orb span:nth-child(3){animation-delay:.2s!important}.voice-orb span:nth-child(4){animation-delay:.3s!important}
@keyframes voice-breathe{50%{transform:scaleY(.45);opacity:.5}}
.voice-phase,.voice-hint,.voice-mic-hint{text-align:center}.voice-hint{font-size:.85rem;color:var(--text-2);margin-top:0}.voice-mic-hint{font-size:.72rem!important;max-width:420px;margin:12px auto}
.voice-call-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.voice-call-button{min-height:48px;gap:10px;padding:12px 18px!important}.voice-call-button svg{width:18px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.voice-call-button.voice-end{background:var(--danger)!important;color:white!important}
.voice-transcript{margin-top:24px;max-height:340px;min-height:85px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--border);padding:16px 2px;scroll-behavior:smooth}
.voice-empty{color:var(--text-2);text-align:center;font-size:.8rem}.voice-message{margin-bottom:16px;max-width:95%;overflow-wrap:anywhere}.voice-message strong{font-size:.7rem;color:var(--accent)}.voice-message p{margin:5px 0 0;font-size:.88rem;white-space:pre-wrap}.voice-message.user{margin-left:8%;padding:12px 15px;background:var(--surface-2);border-radius:12px}.voice-message.user strong{color:var(--text-2)}
.voice-compose{display:flex;align-items:flex-end;gap:10px}.voice-compose textarea{flex:1}.voice-compose button{min-height:46px}
.voice-web-search{margin-top:18px;padding:12px 14px;border:1px solid var(--border);border-radius:10px}.voice-web-search label{display:flex!important;align-items:center;gap:8px;font-size:.83rem}.voice-web-search input{width:auto!important;margin:0!important}.voice-web-search p{margin:8px 0 0;font-size:.72rem!important;line-height:1.5}.voice-sources{margin-top:10px;font-size:.75rem;overflow-wrap:anywhere}.voice-sources small{color:var(--text-2)}.voice-sources ul{padding-left:18px;margin:6px 0}.voice-sources li{margin:5px 0}.voice-sources a{color:var(--accent)}
.voice-output{display:grid;gap:4px;border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.voice-output .muted-note{font-size:.7rem}
.voice-setup{display:flex;align-items:center;gap:24px;justify-content:space-between}.voice-setup p{max-width:740px;font-size:.85rem;margin:0}.voice-setup button{flex-shrink:0}
.voice-model-picker,.voice-model-search{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.voice-model-picker label,.voice-model-search label{flex:1;min-width:180px;margin-bottom:0!important}.voice-model-picker button,.voice-model-search button{min-height:42px}
.voice-model-content{margin-top:20px}
.voice-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}.voice-model-grid>div{min-width:0}.voice-models .muted-note{font-size:.77rem;overflow-wrap:anywhere}.voice-model-results{display:flex;flex-direction:column;gap:8px;max-height:230px;overflow:auto;margin:12px 0 20px}.voice-model-results button{white-space:normal;text-align:left;overflow-wrap:anywhere;justify-content:flex-start}
.voice-model-gpu-field{border:1px solid var(--border);border-radius:8px;padding:12px;margin:16px 0}.voice-model-gpu-field legend{font-size:.8rem;color:var(--text-2)}.voice-model-gpus{display:flex;flex-wrap:wrap;gap:12px}#page-voice .voice-model-gpus label{display:flex;align-items:center;margin:0;overflow-wrap:anywhere}.voice-model-gpus input{accent-color:var(--accent)}.voice-model-job{margin-top:20px;border-top:1px solid var(--border);padding-top:12px;overflow-wrap:anywhere}.voice-model-job p{font-size:.85rem}
@media(max-width:800px){.voice-model-grid{grid-template-columns:1fr;gap:24px}.voice-model-picker button,.voice-model-search button{min-height:44px}.voice-model-grid>div+div{border-top:1px solid var(--border);padding-top:24px}}
.voice-enroll-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;margin-top:24px}.voice-reading{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:18px;margin:18px 0}.voice-reading label{margin-top:16px}.voice-reading blockquote{font-size:1.1rem;line-height:1.8;margin:12px 0;color:var(--text);border-left:3px solid var(--accent);padding-left:16px}.voice-reading .muted-note{margin-bottom:0}
.voice-upload{border:1px dashed var(--border);padding:16px;border-radius:10px;margin-top:24px}.voice-upload small{font-weight:400;font-size:.72rem}.voice-trim{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voice-trim button{grid-column:1/-1;justify-self:start}
#page-voice .voice-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;margin-top:16px}.voice-consent input{width:17px;height:17px;flex-shrink:0;accent-color:var(--accent);margin-top:2px}
#page-voice .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1300px){.voice-layout{grid-template-columns:minmax(220px,.8fr) minmax(340px,1.8fr)}.voice-options{grid-column:1/-1}.voice-options .voice-fields{grid-template-columns:1fr 1fr;column-gap:24px}.voice-options .voice-fields p{grid-column:1/-1;margin:0 0 10px}}
@media(max-width:800px){.voice-layout{grid-template-columns:1fr;gap:0}.voice-conversation{order:1}.voice-library{order:0}.voice-options{order:2}.voice-enroll-grid{grid-template-columns:1fr;gap:12px}.voice-setup{flex-direction:column;align-items:flex-start}.voice-orb{width:98px;height:98px;margin:20px auto}.voice-transcript{max-height:270px}.voice-library .muted-note:last-child{display:none}#page-voice input:not([type=checkbox]),#page-voice select,#page-voice textarea{font-size:16px}.voice-card-heading{gap:8px}.voice-call-controls .btn{min-height:44px}}
@media(max-width:420px){.voice-options .voice-fields{grid-template-columns:1fr}.voice-call-controls{gap:8px}.voice-call-controls .btn{font-size:.78rem}.voice-compose{gap:6px}.voice-row{gap:8px}}
@media(max-width:800px){#page-voice.voice-call-active .voice-conversation{position:fixed;inset:8px;z-index:5000;margin:0;overflow:auto;overscroll-behavior:contain;padding:24px 16px;max-height:calc(100dvh - 16px)}.voice-call-active .voice-tabs,.voice-call-active .voice-output{display:none}.voice-call-active .voice-transcript{max-height:30dvh}.voice-call-active .voice-orb{margin-top:30px}.voice-call-active .voice-call-controls{position:sticky;top:0;background:var(--surface);padding:10px 0;z-index:1}}
@media(prefers-reduced-motion:reduce){.voice-orb span{animation:none!important;transition:none}.voice-transcript{scroll-behavior:auto}}
@media(max-width:800px){.voice-layout .voice-conversation{order:0}.voice-layout .voice-library{order:1}}
