.voice-section { --voice-green: #005a5b; margin-top: 20px; min-width: 0; }
.voice-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.voice-section-heading h3 { display: flex; align-items: center; gap: 7px; margin: 0; color: #597062; font-size: 13px; font-weight: 600; }
.voice-section-heading svg { width: 16px; height: 16px; }
.voice-refresh { border: 0; background: transparent; color: var(--voice-green); padding: 4px 0; font-size: 11px; }
.voice-recordings { display: grid; gap: 12px; }
.voice-card { padding: 15px; background: #f7faf7; border: 1px solid #dde8df; border-radius: 14px; min-width: 0; }
.voice-card > header { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.voice-card > header > div { flex: 1; min-width: 0; }
.voice-card > header strong { display: block; font-size: 12px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voice-card > header span:not(.voice-mark) { display: block; font-size: 10px; color: #829086; margin-top: 3px; }
.voice-mark { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; background: #e4efea; border-radius: 10px; color: var(--voice-green); }
.voice-mark svg { width: 17px; height: 17px; }
.voice-card audio { display: block; width: 100%; height: 40px; max-width: 100%; }
.voice-delete { color: #a45b4e; background: transparent; border: 0; width: 32px; height: 32px; flex-shrink: 0; }
.voice-transcript { margin-top: 12px; border-top: 1px solid #e0e9e2; padding-top: 10px; }
.voice-transcript summary { cursor: pointer; color: var(--voice-green); font-size: 12px; font-weight: 500; }
.voice-transcript p, .voice-remark p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.8; margin: 8px 0 0; color: #4d6154; }
.voice-remark { margin-top: 10px; }
.voice-remark > span { font-size: 11px; color: #84948a; }
.voice-no-transcript, .voice-empty { color: #8a988e; font-size: 11px; margin: 10px 0 0; line-height: 1.7; }
.voice-status { font-size: 11px; color: #688473; margin: 10px 0 0; line-height: 1.7; }
.voice-status:empty { display: none; }
.voice-status.is-error { color: #b44336; }
.project-detail-tab-panel > .voice-section, .project-tab-panel > .voice-section { margin: 20px 0; }
#project-status-form > .voice-section, #project-guide-form > .voice-section { margin: 0 24px 24px; }
.item-message-bubble .voice-section { margin-top: 12px; }
.item-message-bubble .voice-card { background: #ffffffb3; padding: 12px; }
.item-message-bubble .voice-section-heading h3 { font-size: 11px; }
.item-message-bubble .voice-recordings { min-width: min(300px, 65vw); }
@media (max-width: 600px) {
  .voice-card { padding: 12px; }
  .voice-card audio { min-width: 0; }
  #project-status-form > .voice-section, #project-guide-form > .voice-section { margin: 0 16px 16px; }
}
#project-status-form > [data-project-voice-host], #project-guide-form > [data-project-voice-host] { margin: 0 24px 24px; }
.voice-comment-details { margin-top: 10px; border-top: 1px solid #d9e5dc; padding-top: 8px; }
.voice-comment-details > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; color: #005a5b; font-size: 11px; }
.voice-comment-details > summary svg { width: 13px; height: 13px; }
.voice-comment-details > summary::after { content: '＋'; margin-left: auto; }
.voice-comment-details[open] > summary::after { content: '−'; }
.voice-comment-content.voice-section { margin-top: 10px; }
.voice-comment-content .voice-section-heading { display: none; }
