.local-bot-summary { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:22px; margin-bottom:26px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.local-bot-summary h2 { font-size:19px; margin:9px 0; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.local-bot-summary p, .local-access-body p { font-size:13px; line-height:1.7; }
.local-access-body { padding:22px 23px; }
.local-test-note { margin-bottom:18px; color:var(--accent-text); }
.local-install-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.local-access-body .panel-note { margin-top:15px; }
.local-feature-choice { border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:22px; }
.local-feature-choice label { display:flex; gap:10px; align-items:center; font-size:14px; font-weight:600; cursor:pointer; }
.local-feature-choice input { width:18px; height:18px; accent-color:var(--accent); flex-shrink:0; }
.local-feature-choice p { margin-top:8px; color:var(--muted); max-width:80ch; }
.local-selection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.local-selection-grid label { font-size:12px; font-weight:500; }
.local-selection-grid select { display:block; width:100%; max-width:100%; margin-top:9px; padding:10px; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:7px; }
.local-readiness { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.local-readiness h3 { font-size:18px; }
.local-access-errors { color:var(--ink); border-left:3px solid var(--warning, #e3ae55); padding-left:20px; line-height:1.9; font-size:13px; margin-bottom:20px; }
.local-scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.local-scope { border:1px solid var(--line); background:var(--bg); border-radius:9px; padding:17px; min-width:0; }
.local-scope h4 { font-size:14px; overflow-wrap:anywhere; }
.local-scope small { color:var(--muted); font-size:11px; }
.local-scope ul { list-style:none; padding:0; margin-top:12px; }
.local-scope li { display:flex; gap:8px; align-items:center; font-size:12px; padding:7px 0; }
.local-scope li svg { width:14px; flex-shrink:0; }
.local-scope li span { flex:1; }
.local-scope li strong { font-size:10px; font-weight:500; }
.permission-present svg { color:var(--success); }
.permission-missing svg, .permission-missing strong { color:var(--warning, #e3ae55); }
.local-activation { border-top:1px solid var(--line); margin-top:22px; padding-top:20px; display:flex; align-items:center; gap:18px; }
.local-activation p { flex:1; font-size:12px; }
.local-permission-details summary { cursor:pointer; padding:22px; font-weight:600; }
.local-permission-reasons div { margin-bottom:15px; }
.local-permission-reasons dt { font-weight:600; font-size:13px; }
.local-permission-reasons dd { margin:5px 0 0; font-size:12px; color:var(--muted); line-height:1.6; }
.local-access-body code { overflow-wrap:anywhere; font-size:12px; }
.local-room-list { padding-left:20px; line-height:1.8; font-size:13px; }
.local-room-list li { margin:12px 0; overflow-wrap:anywhere; }
.voice-hub-status { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; }
.voice-connection-notice { padding:16px 26px; border-bottom:1px solid var(--line); background:var(--surface-2); }
.voice-connection-notice p { font-size:14px; line-height:1.6; margin-bottom:12px; }
.voice-channel-setups { margin-bottom:24px; border-bottom:1px solid var(--line); padding-bottom:16px; }
.voice-channel-setups .panel-heading { padding:0 0 16px; border:0; flex-wrap:wrap; }
.voice-channel-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.voice-channel-list button { min-width:0; }
.voice-channel-list button span { display:flex; align-items:center; gap:8px; }
.voice-channel-list button strong, .voice-channel-list button small { overflow-wrap:anywhere; }
.voice-channel-list button small { display:block; margin-top:8px; }
.voice-channel-list button svg { width:16px; height:16px; flex-shrink:0; }
.voice-channel-setups [role=status] { margin-top:10px; font-size:12px; color:var(--muted); }
#voice-channel-options { border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:20px; }
@media(max-width:600px) { .voice-channel-list { grid-template-columns:1fr; } }
.local-connection-details { margin-top:18px; }
.local-connection-details summary { cursor:pointer; font-size:12px; color:var(--muted); }
.local-control-fieldset { margin-top:20px; padding:0; border:0; min-width:0; }
.local-control-fieldset legend { font-size:13px; font-weight:600; }
.local-control-fieldset[disabled] { opacity:.55; }
.local-action-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.voice-form .form-body label.local-control-choice { display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:8px; padding:12px; margin:0; font-size:12px; cursor:pointer; }
.local-control-choice input { flex:0 0 auto; width:16px; height:16px; accent-color:var(--accent); }
.local-control-choice span { display:flex; gap:8px; align-items:center; }
.local-control-choice svg, .local-preview-buttons svg { width:14px; height:14px; flex-shrink:0; color:var(--accent-text); }
.local-diagnostic-room { margin-top:22px; }
.local-hub-footer { align-items:stretch; flex-direction:column; gap:12px; }
.local-hub-footer .local-install-actions { margin:0; }
.discord-preview > div.local-panel-preview { display:block; }
.local-panel-preview > strong { display:block; }
.local-panel-preview { margin-top:20px; padding:15px; background:var(--surface); border:1px solid var(--line); border-radius:9px; }
.local-panel-preview p { margin:8px 0; font-size:11px; }
.local-preview-buttons { display:flex; gap:7px; flex-wrap:wrap; }
.local-preview-buttons span { display:inline-flex; align-items:center; gap:5px; font-size:10px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; color:var(--ink); }
@media(max-width:600px) { .local-action-choices { grid-template-columns:1fr; } }
@media(max-width:850px) { .local-selection-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .local-bot-summary,.local-activation { align-items:flex-start; flex-direction:column; } .local-scope-grid { grid-template-columns:1fr; } .local-access-body { padding:18px; } }

/* Voice settings: decoration stays quiet so the existing controls lead. */
.voice-settings-page .voice-settings-hero {
  min-height: 0;
  padding: 18px 24px;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.voice-settings-heading { max-width: 100%; }
.voice-settings-hero .eyebrow { font-size: 11px; letter-spacing: 1.6px; }
.voice-settings-hero h1 { font-size: clamp(25px, 2.3vw, 31px); letter-spacing: -.7px; margin: 4px 0; }
.voice-settings-hero .voice-draft-indicator { max-width: 100%; font-size: 13px; line-height: 1.4; color: var(--muted); }
.voice-settings-art {
  position: absolute;
  inset: 0 0 0 auto;
  width: 42%;
  z-index: 0;
  overflow: hidden;
  opacity: .55;
  mask-image: linear-gradient(90deg, transparent, #000 46%);
}
.voice-settings-art img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 62% 50%; }
.voice-settings-page #local-voice-pane { font-size: 15px; line-height: 1.6; }
.voice-settings-page .content-panel { margin-bottom: 24px; }
.voice-settings-page .voice-form { overflow: visible; }
.voice-settings-page .voice-action-rail { margin: 12px 0 18px; }
.voice-settings-page .voice-action-rail .local-install-actions { margin: 0; }
.voice-settings-page .voice-action-rail #local-save-result,
.voice-settings-page .voice-action-rail [data-publication-status] { font-size: 13px; line-height: 1.45; }
.voice-settings-page .voice-action-rail [data-publication-status]:not(:empty) { flex: 1 1 100%; min-width: 0; }
.voice-settings-page .voice-action-rail [data-publication-status] p { margin: 4px 0; }
.voice-settings-page .voice-action-rail [data-publication-status]:empty,
.voice-settings-page .voice-action-rail #local-save-result:empty { display: none; }
.voice-settings-page .panel-heading { gap: 18px; padding: 22px 26px; }
.voice-settings-page .panel-heading > div { min-width: 0; }
.voice-settings-page .panel-heading h2 { font-size: 19px; letter-spacing: -.35px; line-height: 1.4; overflow-wrap: anywhere; }
.voice-settings-page .panel-heading p { font-size: 14px; line-height: 1.6; margin-top: 6px; }
.voice-settings-page .badge { font-size: 12px; line-height: 1.5; }
.voice-settings-page .local-access-body { padding: 22px 26px; }
.voice-settings-page .local-access-body p { font-size: 14px; line-height: 1.7; }
.voice-settings-page .local-connection-details { margin-top: 16px; }
.voice-settings-page .local-connection-details > .panel-note { padding:0 26px 22px; margin:0; }
.voice-settings-page summary { width: fit-content; max-width: 100%; cursor: pointer; font-size: 14px; color: var(--muted); }
.voice-settings-page .local-permission-details > summary { width: 100%; padding: 21px 26px; color: var(--ink); }
.voice-settings-page .settings-rows { margin-top: 12px; }
.voice-settings-page .settings-rows > div { gap: 12px; font-size: 13px; flex-wrap: wrap; }
.voice-settings-page .settings-rows code { overflow-wrap: anywhere; }
.voice-settings-page .voice-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 26px; }
.voice-settings-page .voice-layout > div,
.voice-settings-page .voice-preview-column { min-width: 0; }
.voice-settings-page .form-body { padding: 7px 26px 26px; }
.voice-settings-page .form-body label:not(.checkbox-row) { font-size: 14px; font-weight: 600; margin-top: 0; }
.voice-settings-page .field-hint { font-size: 13px; line-height: 1.6; margin-top: 6px; }
.voice-settings-page .form-body select { height: 48px; font-size: 15px; padding: 10px 13px; }
.voice-settings-page .form-body select:focus-visible,
.voice-settings-page input:focus-visible,
.voice-settings-page summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.voice-settings-page .checkbox-row { gap: 20px; margin-top: 28px; padding-top: 23px; }
.voice-settings-page .checkbox-row strong { font-size: 15px; font-weight: 600; line-height: 1.5; }
.voice-settings-page .checkbox-row small { font-size: 13px; line-height: 1.6; margin-top: 6px; }
.voice-settings-page .checkbox-row input { flex-shrink: 0; width: 20px; height: 20px; }
.voice-settings-page .local-control-fieldset { margin-top: 26px; }
.voice-settings-page .local-control-fieldset legend { font-size: 15px; }
.voice-settings-page .local-action-choices { gap: 12px; margin-top: 16px; }
.voice-settings-page .voice-form .form-body label.local-control-choice { font-size: 13px; font-weight: 500; min-height: 36px; padding: 6px 10px; margin: 0; background: var(--control-bg); }
.voice-settings-page .local-control-choice input { width: 18px; height: 18px; }
.voice-settings-page .local-control-choice svg { width: 17px; height: 17px; }
.voice-settings-page .local-control-choice:has(input:checked) { border-color: var(--accent-text); background: var(--accent-soft); }
.voice-settings-page .local-control-choice:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 3px; }
.voice-settings-page .local-diagnostic-room { padding-top: 4px; }
.voice-settings-page .panel-note { font-size: 14px; line-height: 1.7; }
.voice-settings-page .local-hub-footer { gap: 18px; padding: 23px 26px; background: var(--surface-2); }
.voice-settings-page .local-hub-footer details { margin-top: 9px; }
.voice-settings-page .voice-secondary-actions { width: 100%; }
.voice-settings-page .voice-secondary-actions .button { margin-top: 12px; }
.voice-settings-page .button.small { min-height: 42px; font-size: 14px; padding: 10px 16px; }
.voice-settings-page .member-preview { padding: 24px; }
.voice-settings-page .member-preview .eyebrow { font-size: 11px; }
.voice-settings-page .member-preview > h3 { font-size: 22px; margin: 12px 0 20px; }
.voice-settings-page .member-preview > p { font-size: 13px; }
.voice-settings-page .discord-preview { padding: 17px; box-shadow: none; }
.voice-settings-page .discord-preview > div:not(.preview-line) { font-size: 13px; }
.voice-settings-page .channel-category { font-size: 11px; }
.voice-settings-page .discord-preview svg { width: 15px; height: 15px; }
.voice-settings-page .preview-member { padding-left: 14px; }
.voice-settings-page .local-panel-preview { padding: 14px; }
.voice-settings-page .local-panel-preview > strong { font-size: 14px; }
.voice-settings-page .local-panel-preview p { font-size: 12px; }
.voice-settings-page .local-preview-buttons span { font-size: 11px; padding: 7px 8px; }
.voice-settings-page .help-card { padding: 23px 24px; }
.voice-settings-page .help-card > h3 { font-size: 17px; }
.voice-settings-page .help-card > p { font-size: 14px; line-height: 1.7; }
.voice-settings-page .local-room-list { font-size: 14px; }
.voice-settings-page .local-scope h4 { font-size: 16px; }
.voice-settings-page .local-scope li { font-size: 13px; }
.voice-settings-page .local-scope li strong { font-size: 12px; }
.voice-settings-page .local-permission-reasons dt { font-size: 15px; }
.voice-settings-page .local-permission-reasons dd { font-size: 14px; }
.voice-settings-page .local-access-errors { font-size: 14px; }
.voice-settings-page .voice-technical-details { width: 100%; border-top: 1px solid var(--line); padding-top: 10px; }
.voice-settings-page .voice-technical-details p { margin-top: 8px; font-size: 12px; color: var(--muted); }
.voice-settings-page [data-module-installation]:not([hidden]) { margin-block: 16px 24px; }
:root[data-theme='light'] .voice-settings-art { opacity: .22; }
@media (max-width: 1179px) {
  .voice-settings-page .voice-layout { grid-template-columns: minmax(0, 1fr); }
  .voice-settings-page .voice-preview-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .voice-settings-page .help-card { margin-top: 0; }
}
@media (max-width: 700px) {
  .voice-settings-page .voice-settings-hero { min-height: 0; padding: 17px 20px; }
  .voice-settings-heading { max-width: 100%; }
  .voice-settings-hero p { max-width: 34ch; font-size: 14px; }
  .voice-settings-art { width: 48%; opacity: .15; }
  :root[data-theme='light'] .voice-settings-art { opacity: .1; }
  .voice-settings-page .voice-layout { gap: 20px; }
  .voice-settings-page .voice-preview-column { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .voice-settings-page .panel-heading { padding: 20px; flex-wrap: wrap; }
  .voice-settings-page .voice-connection-notice { padding:16px 20px; }
  .voice-settings-page .local-connection-details > .panel-note { padding:0 20px 20px; }
  .voice-settings-page .local-access-body { padding: 20px; }
  .voice-settings-page .form-body { padding: 3px 20px 23px; }
  .voice-settings-page .form-body select { font-size: 16px; }
  .voice-settings-page .local-hub-footer { padding: 21px 20px; }
  .voice-settings-page .voice-action-rail [data-publication-status] { max-height: min(32dvh, 180px); overflow-y: auto; }
  .voice-settings-page .local-permission-details > summary { padding: 20px; }
  .voice-settings-page .member-preview,
  .voice-settings-page .help-card { padding: 22px 20px; }
}
/* Voice uses the same direct workspace and secondary details as Welcome. */
.voice-settings-page .voice-settings-hero { padding: 0; min-height: 0; margin: 12px 0; background: none; border: 0; display: flex; justify-content: space-between; align-items: center; }
.voice-settings-page .voice-settings-hero h1 { font-size: 28px; margin: 5px 0; }
.voice-settings-page .voice-settings-hero p { margin: 5px 0; }
.voice-settings-page .voice-form { border: 0; background: var(--surface); border-radius: 0; }
.voice-settings-page .voice-form .form-body { padding: 20px 24px; }
.voice-settings-page .voice-channel-setups > .panel-heading { padding: 0; }
.voice-settings-page .voice-channel-list { margin: 12px 0; padding-bottom: 12px; }
.voice-settings-page .local-hub-footer { background: transparent; padding: 12px 24px; }
.voice-settings-page .local-permission-details { margin: 0; border: 0; border-radius: 0; background: transparent; border-top: 1px solid var(--line); }
.voice-room-preview { margin: 18px 0; }
.voice-room-preview > summary { cursor: pointer; color: var(--accent-text); font-weight: 650; }
.voice-room-preview #local-hub-preview { max-width: 520px; margin-top: 16px; }
.voice-room-preview > small { color: var(--muted); }
@media(max-width:600px) { .voice-settings-page .voice-form .form-body { padding: 16px 12px; } }

.voice-settings-page:has(.module-publishing) [data-module-status] { visibility: hidden; }
