.professional-voices { margin-top: 18px; padding: 18px; border: 1px solid var(--work-line); border-radius: 16px; background: #fff; }
.professional-voice-label { display: block; margin-bottom: 8px; font-weight: 700; }
#professional-voice-select { display: block; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--work-line); border-radius: 10px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
#professional-voice-select:focus-visible { outline: 3px solid var(--work-cobalt); outline-offset: 2px; }
.professional-voice-detail { margin-top: 12px; padding: 14px; border: 1px solid var(--work-line); border-radius: 12px; background: #f7f9ff; }
.professional-voice-detail strong { display: block; }
.professional-voice-detail p { margin: 5px 0 12px; color: var(--work-muted); }
.professional-voice-detail button { min-height: 40px; }
#voice-preview-status { min-height: 1.4em; margin: 12px 0 4px; color: var(--work-muted); font-size: .88rem; }
#voice-preview-audio { display: block; width: 100%; margin-top: 8px; }
#voice-preview-audio[hidden] { display: none; }

.voice-question > p { color: var(--work-muted); line-height: 1.65; }
.personal-voice-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.personal-voice-option { display: flex; align-items: center; gap: 12px; padding: 16px; border: 2px solid var(--work-line); border-radius: 16px; background: #fff; cursor: pointer; }
.personal-voice-option:has(input:checked) { border-color: var(--work-cobalt); background: #eef2ff; }
.personal-voice-option input { width: auto; min-height: auto; accent-color: var(--work-cobalt); }
.personal-voice-option span { display: grid; gap: 3px; }
.personal-voice-option small { color: var(--work-muted); }
.personal-basic-voice-panel { display: grid; gap: 14px; margin-top: 18px; padding: 18px; border: 1px solid var(--work-line); border-radius: 16px; background: #f8fafc; }
.personal-basic-voice-panel[hidden],.personal-my-voice-panel[hidden] { display: none; }
.personal-basic-voice-panel .field { display: grid; gap: 8px; font-weight: 700; }
#personal-voice { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--work-line); border-radius: 10px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
#personal-voice:focus-visible { outline: 3px solid var(--work-cobalt); outline-offset: 2px; }
.personal-voice-more { display: flex; align-items: center; gap: 9px; width: fit-content; font-weight: 700; cursor: pointer; }
.personal-voice-more input { width: auto; min-height: auto; accent-color: var(--work-cobalt); }
.personal-voice-selection-card { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 18px; border: 1px solid var(--work-line); border-radius: 14px; background: #fff; }
.personal-voice-selection-copy { flex: 1 1 260px; min-width: 0; }
.personal-voice-selection-copy strong { display: block; color: var(--work-cobalt); font-size: 1.05rem; }
.personal-voice-selection-copy p { margin: 5px 0; color: var(--work-muted); line-height: 1.5; }
.personal-voice-selection-copy code { overflow-wrap: anywhere; color: var(--work-muted); font-size: .72rem; }
.personal-voice-selection-card .voice-preview { flex: 0 1 auto; }
.personal-voice-selection-card audio,.personal-voice-selection-card #voice-preview-status { flex-basis: 100%; margin: 0; }
.personal-voice-selection-card #voice-preview-status:empty { display: none; }
.personal-my-voice-panel { display: grid; gap: 14px; margin-top: 14px; padding: 18px; border: 1px solid var(--work-line); border-radius: 16px; background: #f8fafc; }
.personal-my-voice-panel blockquote { margin: 0; padding: 14px 16px; border-left: 3px solid var(--work-cobalt); background: #fff; line-height: 1.65; }
.personal-my-voice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.personal-my-voice-actions label { font-weight: 700; }
.personal-my-voice-actions input[type=file] { display: block; max-width: 260px; margin-top: 4px; }
#personal-my-voice-time { min-width: 58px; font-variant-numeric: tabular-nums; font-weight: 700; color: var(--work-cobalt); }
.personal-my-voice-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; }
.personal-my-voice-consent input { width: auto; min-height: auto; margin-top: 4px; }
.personal-voice-privacy { margin: 0; color: var(--work-muted); line-height: 1.55; }
.personal-my-voice-panel #personal-my-voice-status { margin: 0; color: var(--work-cobalt); }
.personal-my-voice-panel audio { width: 100%; }
.personal-remove-voice { justify-self: start; }
.voice-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.voice-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: stretch; padding: 14px; border: 1px solid var(--work-line); border-radius: 15px; background: #fff; }
.voice-card.selected { border: 2px solid var(--work-cobalt); padding: 13px; background: #f3f6ff; box-shadow: 0 0 0 3px rgba(49,94,251,.08); }
.voice-select { display: grid; grid-template-columns: auto 1fr; gap: 4px 9px; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.voice-select .voice-check { grid-row: 1 / span 4; color: var(--work-cobalt); font-size: 1.15rem; font-weight: 900; }
.voice-select strong { font-size: 1rem; }
.voice-select span:not(.voice-check),.voice-select small { overflow-wrap: anywhere; color: var(--work-muted); }
.voice-select small { font: 600 .68rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.voice-select b { margin-top: 3px; color: var(--work-cobalt); font-size: .78rem; }
.voice-preview { align-self: center; min-height: 42px; padding: 9px 13px; border: 1px solid var(--work-cobalt); border-radius: 10px; background: #fff; color: var(--work-cobalt); font: 700 .86rem/1.2 inherit; cursor: pointer; }
.voice-preview:hover { background: #edf2ff; }
.voice-preview:disabled { cursor: wait; opacity: .6; }
.voice-select:focus-visible,.voice-preview:focus-visible { outline: 3px solid #ffb703; outline-offset: 3px; }

@media(max-width:620px) {
  .personal-voice-options { grid-template-columns: 1fr; }
  .personal-my-voice-actions { align-items: stretch; flex-direction: column; }
  .personal-my-voice-actions input[type=file] { max-width: 100%; }
  .personal-voice-selection-card { align-items: stretch; }
  .personal-voice-selection-card .voice-preview { width: 100%; }
  .voice-card-grid { grid-template-columns: 1fr; }
  .voice-card { grid-template-columns: minmax(0,1fr) 104px; }
  .voice-preview { width: 100%; }
}

.voice-consent {
  margin-top: 14px;
  padding: 20px;
  border: 1px solid var(--work-line);
  border-radius: 16px;
  background: #fff;
}

.voice-consent blockquote {
  margin: 14px 0;
  padding: 16px;
  border-left: 4px solid var(--work-cobalt);
  background: #f3f6ff;
  font-size: 1rem;
  line-height: 1.75;
}

.consent-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 15px 0;
  font-weight: 600;
}

.consent-check input { width: 20px; height: 20px; flex: 0 0 auto; }
.voice-record-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; }
.voice-record-actions label { font-weight: 700; }
.voice-record-actions input[type=file] { display: block; max-width: 260px; margin-top: 4px; }
.voice-consent #record-time { font: 700 .9rem Inter, system-ui; font-variant-numeric: tabular-nums; }
#recording-preview { display: block; width: 100%; margin-top: 10px; }
#recording-preview[hidden] { display: none; }
.danger { margin-top: 12px; color: var(--work-alert); }
.mic-answer { width: 100%; margin-top: 10px; }
.connection-steps select { min-height: 50px; padding: 10px 12px; border: 1px solid var(--work-line); border-radius: 12px; background: #fff; font-size: 16px; }

.advanced-setup #advanced-toggle { width: 100%; text-align: left; }
.advanced-panel { display: grid; gap: 10px; margin-top: 14px; padding: 20px; border: 1px solid var(--work-line); border-radius: 16px; background: #fff; }
.advanced-panel > p { margin: 0 0 6px; color: var(--work-muted); }
.advanced-panel label { font-weight: 700; }
.advanced-panel textarea,.advanced-panel input:not([type=file]) { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--work-line); border-radius: 10px; font: inherit; }
.advanced-panel input[type=file] { max-width: 100%; }
.advanced-panel small { color: var(--work-muted); }
.advanced-panel #analyze-profile { justify-self: start; margin-top: 6px; }
.profile-summary { margin-top: 8px; padding: 16px; border-radius: 12px; background: #f3f6ff; }
.profile-summary p { line-height: 1.65; }
.profile-summary li { margin: 5px 0; }
.conversation-choice { max-width: 760px; }
.conversation-choice h1 { font-size: clamp(2rem,5vw,3rem); }
.conversation-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 25px 0; }
.conversation-modes .option { min-height: 140px; }
.conversation-help { color: var(--work-muted); }
.natural-conversation { max-height: 320px; overflow-y: auto; padding: 12px; border: 1px solid var(--work-line); border-radius: 14px; background: #f7f9fc; }
.natural-conversation .bubble { white-space: pre-wrap; }
.suggestion-area { margin-top: 14px; }
.suggestion-area > strong { display: block; margin-bottom: 9px; font-size: .88rem; color: var(--work-muted); }
.suggestion-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.suggestion-chips[hidden] { display: none; }
.suggestion-chip { max-width: 100%; padding: 10px 14px; border: 1px solid #c7d3eb; border-radius: 18px 18px 18px 4px; background: #eff4ff; color: var(--work-ink); font: inherit; font-size: .9rem; line-height: 1.35; text-align: left; cursor: pointer; }
.suggestion-chip:hover,.suggestion-chip:focus-visible { border-color: var(--work-cobalt); background: #dfeaff; }
.conversation-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; margin-top: 14px; }
.conversation-form textarea { min-width: 0; padding: 12px; border: 1px solid var(--work-line); border-radius: 12px; font: inherit; resize: vertical; }
.conversation-form button { min-height: 50px; }
.conversation-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.additional-notes { margin: 12px 0; }
.additional-notes ul { margin: 5px 0; padding-left: 22px; }
@media(max-width:620px) { .conversation-modes,.conversation-form { grid-template-columns: 1fr; } .conversation-form button { width: 100%; } }
