.athena-audio { --audio-border: #ddd8e6; color: var(--athena-ink); }
.athena-audio .audio-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; align-items: start; margin-bottom: .75rem; }
.athena-audio .audio-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; }
.athena-audio .audio-discovery-progress { display: inline-flex; align-items: center; gap: .45rem; color: var(--w-color-text-context); font-size: .875rem; white-space: nowrap; }
.athena-audio .audio-discovery-progress > span { width: .9rem; height: .9rem; border: 2px solid var(--w-color-border-field-default); border-top-color: var(--w-color-primary); border-radius: 50%; animation: audio-discovery-spin .8s linear infinite; }
@keyframes audio-discovery-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .athena-audio .audio-discovery-progress > span { animation: none; } }
.athena-audio h2, .athena-audio h3, .athena-audio h4 { color: var(--athena-purple-900); margin: 0 0 .5rem; }
.athena-audio p { margin: .5rem 0; }
.athena-audio .audio-availability { border: 1px solid var(--audio-border); border-radius: .5rem; padding: .75rem; margin: .75rem 0 1rem; background: #fbfafc; }
.athena-audio .audio-availability > summary { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; padding: 0; }
.athena-audio .audio-availability > summary span { color: var(--w-color-text-label); font-size: 1rem; font-weight: 700; }
.athena-audio .audio-availability > summary small { font-weight: 500; }
.athena-audio .audio-availability[open] > summary { border-bottom: 1px solid var(--audio-border); margin-bottom: .75rem; padding-bottom: .75rem; }
.athena-audio .audio-availability-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: .75rem; }
.athena-audio .audio-availability-item { min-width: 0; border: 1px solid var(--audio-border); border-radius: .375rem; padding: .75rem; background: white; }
.athena-audio .audio-availability-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.athena-audio .audio-availability-item audio { margin-bottom: 0; }
.athena-audio .audio-workspace { display: grid; grid-template-columns: clamp(7.5rem,8.5vw,8rem) minmax(0,1fr); gap: .75rem; }
.athena-audio .audio-languages { display: grid; gap: .375rem; align-content: start; }
.athena-audio .audio-languages button { background: transparent; border: 1px solid transparent; border-radius: .5rem; color: var(--athena-ink); min-width: 0; padding: .5rem; text-align: left; width: 100%; }
.athena-audio .audio-languages button[aria-pressed="true"] { border-color: var(--audio-border); background: #f0edf9; box-shadow: inset 3px 0 var(--athena-purple-900); }
.athena-audio .audio-language-label { align-items: baseline; display: grid; gap: .125rem .25rem; grid-template-columns: minmax(0,1fr) auto; margin-bottom: .375rem; }
.athena-audio .audio-language-name, .athena-audio .audio-language-code { min-width: 0; overflow-wrap: anywhere; }
.athena-audio .audio-language-code { white-space: nowrap; }
.athena-audio .audio-badge { display: inline-block; border: 1px solid currentColor; padding: .2rem .5rem; border-radius: 99px; font-size: .75rem; color: #5e586c; line-height: 1.25; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.athena-audio .audio-badge--generated, .athena-audio .audio-badge--generation_pending { color: var(--athena-cyan-700); }
.athena-audio .audio-badge--validated, .athena-audio .audio-badge--uploaded { color: var(--athena-turquoise-700); }
.athena-audio .audio-badge--legacy { color: var(--athena-turquoise-700); background: #e1f7f1; }
.athena-audio .audio-badge--stale { color: var(--athena-warning-700); }
.athena-audio .audio-badge--failed { color: var(--athena-danger-700); }
.athena-audio .audio-detail { min-width: 0; }
.athena-audio .audio-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; margin: .75rem 0; }
.athena-audio .audio-preparation-options { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; margin: 0; }
.athena-audio .audio-preparation-option { border: 1px solid var(--audio-border); border-radius: .5rem; min-width: 0; padding: 1rem; }
.athena-audio .audio-preview-tabs { background: var(--w-color-surface-field-inactive); border: 1px solid var(--audio-border); border-radius: .5rem; display: inline-flex; gap: .25rem; margin: .75rem 0; max-width: 100%; padding: .25rem; }
.athena-audio .audio-preview-tabs button { background: transparent; border: 1px solid transparent; border-radius: .375rem; color: var(--w-color-text-label); min-height: 44px; padding: .55rem 1rem; }
.athena-audio .audio-preview-tabs button[aria-selected="true"] { background: var(--w-color-surface-page); border-color: var(--audio-border); box-shadow: 0 1px 3px var(--w-color-box-shadow-md); }
.athena-audio .audio-dropzone { align-items: center; background: var(--w-color-surface-field-inactive); border: 2px dashed var(--w-color-border-field-default); border-radius: .5rem; cursor: pointer; display: flex; flex-direction: column; gap: .25rem; justify-content: center; margin: .75rem 0; min-height: 7rem; padding: 1rem; text-align: center; }
.athena-audio .audio-dropzone.is-dragging { border-color: var(--w-color-primary); box-shadow: 0 0 0 3px rgb(34 113 177 / 20%); }
.athena-audio .audio-dropzone input[type=file] { max-width: 100%; }
.athena-audio .audio-upload-file { overflow-wrap: anywhere; }
.athena-audio .audio-upload-progress { align-items: center; display: flex; gap: .75rem; }
.athena-audio .audio-upload-progress progress { flex: 1; min-height: 1rem; }
.athena-audio .audio-replace-confirm { background: var(--w-color-surface-field-inactive); border-left: 3px solid var(--athena-warning-700); margin: .75rem 0; padding: .75rem; }
.athena-audio .audio-description { white-space: pre-wrap; overflow-wrap: anywhere; min-height: 12rem; background: #f7f7fa; border: 1px solid var(--audio-border); border-radius: .375rem; padding: .75rem; margin-bottom: .5rem; }
.athena-audio label { display: block; font-weight: 600; margin: .75rem 0 .375rem; }
.athena-audio textarea, .athena-audio select { width: 100%; max-width: 100%; min-width: 0; border: 1px solid var(--audio-border); border-radius: .375rem; background: white; color: var(--athena-ink); padding: .625rem; }
.athena-audio textarea { resize: vertical; }
.athena-audio textarea, .athena-audio select { font-size: .875rem; line-height: 1.6; }
.athena-audio .audio-ssml { font-family: ui-monospace, monospace; }
.athena-audio .audio-source-help, .athena-audio .audio-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin: .5rem 0; }
.athena-audio .audio-actions { justify-content: start; margin: 1rem 0 .5rem; }
.athena-audio .audio-source-help button { background: transparent; border: 0; padding: .375rem; text-decoration: underline; color: var(--athena-cyan-700); }
.athena-audio .audio-help, .athena-audio small { font-size: .8rem; color: #625b70; }
.athena-audio .audio-step { padding-top: .75rem; border-top: 1px solid var(--audio-border); margin-top: .75rem; }
.athena-audio .audio-stage-heading { align-items: center; display: flex; gap: .6rem; }
.athena-audio .audio-stage-heading > span { background: var(--w-color-primary); border-radius: 50%; color: white; display: inline-grid; flex: 0 0 1.7rem; font-size: .8rem; height: 1.7rem; place-items: center; width: 1.7rem; }
.athena-audio .audio-advanced { border-top: 1px solid var(--audio-border); margin-top: .75rem; padding-top: .25rem; }
.athena-audio .audio-advanced summary { color: var(--w-color-text-link-default); font-weight: 700; }
.athena-audio .audio-voice-pronunciation { border: 1px solid var(--audio-border); border-radius: .5rem; margin: 1rem 0; padding: .25rem .75rem; }
.athena-audio .audio-voice-pronunciation > summary { align-items: center; display: flex; flex-wrap: wrap; font-weight: 700; gap: .5rem 1rem; justify-content: space-between; min-height: 44px; }
.athena-audio .audio-voice-pronunciation__body { border-top: 1px solid var(--audio-border); padding: .75rem 0; }
.athena-audio .audio-replace-workflow { border: 1px solid var(--audio-border); border-radius: .5rem; margin-top: 1rem; padding: .25rem .75rem; }
.athena-audio .audio-replace-workflow > summary { font-weight: 700; min-height: 44px; }
.athena-audio .audio-detail[data-saved-status="uploaded"] { display: flex; flex-direction: column; }
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-heading,
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-notice,
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-dirty-notice { order: 0; }
.athena-audio .audio-detail[data-saved-status="uploaded"] > [aria-label="Listen and validate"] { order: 1; }
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-replace-workflow { order: 2; }
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-delivery-status { order: 3; }
.athena-audio .audio-detail[data-saved-status="uploaded"] > .audio-diagnostics { order: 4; }
.athena-audio .audio-notice, .athena-audio .audio-dirty-notice, .athena-audio .audio-draft-summary, .athena-audio .audio-feedback:not(:empty) { background: #f0f8fb; border-left: 3px solid var(--athena-cyan-700); padding: .75rem; }
.athena-audio .audio-notice--warning, .athena-audio .audio-dirty-notice, .athena-audio .audio-draft-summary { background: #fff7e9; border-color: var(--athena-warning-700); }
.athena-audio .audio-draft-summary ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin: .35rem 0 0; padding-left: 1.25rem; }
.athena-audio .audio-draft-summary > div { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; }
.athena-audio .audio-draft-summary ol { margin: .75rem 0 0; padding-left: 1.25rem; }
.athena-audio .audio-save-result--success { color: var(--athena-turquoise-700); }
.athena-audio .audio-save-result--failure { color: var(--athena-danger-700); font-weight: 600; }
.athena-audio .audio-feedback[role="alert"] { background: #fff1ef; border-color: var(--athena-danger-700); }
.athena-audio .audio-empty { border: 1px dashed var(--audio-border); padding: 1rem; text-align: center; border-radius: .5rem; }
.athena-audio audio { width: 100%; margin: .75rem 0; }
.athena-audio .audio-legacy-player, .athena-audio .audio-current-app-player { border: 1px solid #dccb70; border-radius: .5rem; padding: .875rem; background: #fffdf2; }
.athena-audio .audio-check { display: flex; align-items: center; gap: 7px; font-weight: 400; }
.athena-audio .audio-check input[type=checkbox] { appearance: auto; accent-color: #007d75; width: 18px; height: 18px; min-width: 18px; flex: 0 0 18px; margin: 0; padding: 0; }
.athena-audio .audio-check input[type=checkbox]::before, .athena-audio .audio-check input[type=checkbox]::after { content: none; }
.athena-audio .audio-memory { margin: .75rem 0; }
.athena-audio .audio-memory__controls { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; }
.athena-audio .audio-memory__controls label { flex: 0 0 auto; margin: 0; }
.athena-audio .audio-memory__controls select { flex: 0 1 18rem; margin: 0; width: auto; }
.athena-audio .audio-memory__controls .button { flex: 0 0 auto; margin: 0; }
.athena-audio .audio-memory [data-memory-status]:empty { display: none; }
.athena-audio .audio-reference { display: block; padding: .75rem; background: #f7f7fa; overflow-wrap: anywhere; margin: .75rem 0; }
.athena-audio .audio-delivery-status { background: var(--w-color-surface-field-inactive); border: 1px solid var(--audio-border); border-radius: .5rem; margin-top: 1rem; padding: 1rem; }
.athena-audio .audio-diagnostics { border: 1px solid var(--audio-border); border-radius: .5rem; margin-top: 1rem; padding: .25rem .75rem; }
.athena-audio .audio-diagnostics > summary { font-weight: 700; min-height: 44px; }
.athena-audio .audio-republication { border-top: 1px solid var(--audio-border); padding-top: 1rem; }
.athena-audio dl { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .5rem 1rem; font-size: .8rem; }
.athena-audio dd { margin: 0; overflow-wrap: anywhere; }
.athena-audio summary { cursor: pointer; padding: .5rem 0; }
.athena-audio .audio-footer { margin-top: 1rem; }
.athena-audio .audio-reference-summary { border: 1px solid var(--audio-border); border-radius: .5rem; padding: .75rem; }
.athena-audio .audio-republication-scope { border: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1rem 0; padding: 0; }
.athena-audio .audio-republication-scope legend { font-weight: 700; margin-bottom: .4rem; width: 100%; }
.athena-audio .audio-republication-scope label { align-items: center; display: flex; font-weight: 400; gap: .4rem; margin: 0; }
.athena-audio .audio-republication-table-wrap { overflow-x: auto; }
.athena-audio .audio-republication-table { border-collapse: collapse; font-size: .8rem; min-width: 70rem; width: 100%; }
.athena-audio .audio-republication-table th, .athena-audio .audio-republication-table td { border-bottom: 1px solid var(--audio-border); padding: .6rem; text-align: left; vertical-align: top; }
.athena-audio .audio-republication-table audio { min-width: 11rem; }
.athena-audio .audio-republication-dialog { border: 1px solid var(--audio-border); border-radius: .5rem; color: var(--w-color-text-label); max-width: 38rem; padding: 1.25rem; }
.athena-audio .audio-republication-dialog::backdrop { background: rgb(20 13 45 / 55%); }
.athena-audio .audio-republication-dialog input[type=number] { background: var(--w-color-surface-field); border: 1px solid var(--w-color-border-field-default); border-radius: .375rem; color: var(--w-color-text-label); font-size: 1rem; padding: .6rem; width: 8rem; }
.athena-audio .audio-republication-success { background: var(--w-color-surface-field-inactive); border-left: 3px solid var(--athena-turquoise-700); margin: .75rem 0; padding: .75rem; }
.athena-audio button:disabled { color: #6c6477; background: #f2f1f4; border-color: #d8d4df; cursor: not-allowed; }
.athena-audio [hidden] { display: none !important; }
@media(max-width:800px) { .athena-audio .audio-workspace { grid-template-columns: minmax(0,1fr); } .athena-audio .audio-languages { display:flex;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:.25rem; } .athena-audio .audio-languages button { flex:0 0 10rem;min-height:44px;scroll-snap-align:start;width:auto; } .athena-audio .audio-action-bar { background:var(--w-color-surface-page);border-top:1px solid var(--audio-border);bottom:0;box-shadow:0 -.5rem 1rem rgb(33 23 79 / 8%);margin-inline:-1rem;padding:.75rem 1rem;position:sticky;z-index:4; } }
@media(max-width:480px) { .athena-audio textarea, .athena-audio select { font-size: 16px; } .athena-audio .audio-action-bar .button { flex:1 1 auto; } .athena-audio .audio-memory__controls select, .athena-audio .audio-memory__controls .button { flex:1 1 100%;width:100%; } .athena-audio dl { grid-template-columns:minmax(0,1fr); } }
@media(pointer:coarse) { .athena-audio button { min-height: 44px; } }

/* Wagtail owns the active theme; custom audio controls follow its semantic palette. */
.athena-audio { --audio-border: var(--w-color-border-furniture); color: var(--w-color-text-label); }
.athena-audio h2, .athena-audio h3, .athena-audio h4 { color: var(--w-color-text-label); }
.athena-audio .audio-availability,
.athena-audio .audio-description,
.athena-audio .audio-reference { background: var(--w-color-surface-field-inactive); }
.athena-audio .audio-availability-item { background: var(--w-color-surface-page); }
.athena-audio .audio-languages button { color: var(--w-color-text-label); }
.athena-audio .audio-languages button[aria-pressed="true"] { background: var(--w-color-surface-menu-item-active); box-shadow: inset 3px 0 var(--w-color-primary); }
.athena-audio textarea, .athena-audio select { background: var(--w-color-surface-field); border-color: var(--w-color-border-field-default); color: var(--w-color-text-label); }
.athena-audio .audio-help, .athena-audio small { color: var(--w-color-text-context); }
.athena-audio .audio-badge { background: var(--w-color-surface-field-inactive); color: var(--w-color-text-label); }
.athena-audio .audio-badge--generated, .athena-audio .audio-badge--generation_pending { background: #e4efff; color: #154d8d; }
.athena-audio .audio-badge--validated, .athena-audio .audio-badge--uploaded, .athena-audio .audio-badge--legacy { background: #dff3eb; color: #00645b; }
.athena-audio .audio-badge--stale { background: #fff2d5; color: #8a4b00; }
.athena-audio .audio-badge--failed { background: #fae9ed; color: #832c3b; }
.athena-audio .audio-notice, .athena-audio .audio-dirty-notice, .athena-audio .audio-draft-summary, .athena-audio .audio-feedback:not(:empty), .athena-audio .audio-legacy-player, .athena-audio .audio-current-app-player { background: var(--w-color-surface-field-inactive); color: var(--w-color-text-label); }
.athena-audio button:disabled { background: var(--w-color-surface-button-inactive); border-color: var(--w-color-border-field-inactive); color: var(--w-color-text-context); }
