.audio-settings { padding: 20px 0; border-top: 1px solid #255063; margin-top: 20px; }
.audio-settings h2 { font-size: 20px; margin: 0 0 16px; }
.audio-setting-row { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(180px, 2fr); align-items: center; gap: 16px; padding: 12px 0; }
.audio-switch { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.audio-switch input { width: 20px; height: 20px; accent-color: #40cee5; }
.audio-volume { display: grid; grid-template-columns: auto minmax(70px, 1fr) 44px; gap: 12px; align-items: center; }
.audio-volume input { width: 100%; min-width: 0; accent-color: #40cee5; cursor: pointer; }
.audio-volume output { font-variant-numeric: tabular-nums; text-align: right; }
.audio-dialog { box-sizing: border-box; width: min(520px, calc(100% - 24px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid #3d98b2; border-radius: 6px; background: #07171f; color: #dcf4fc; }
.audio-dialog::backdrop { background: #000a; }
.audio-dialog .audio-settings { border: 0; padding-top: 0; margin: 0; }
.audio-close { display: block; margin-left: auto; width: 36px; height: 36px; color: inherit; background: transparent; border: 1px solid #3d98b2; font-size: 24px; cursor: pointer; }
.audio-open { color: #b5edfc; background: #081b24; border: 1px solid #276077; width: 36px; height: 36px; flex: 0 0 36px; padding: 6px; cursor: pointer; display: grid; place-items: center; }
.admin-audio-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(220px, 2fr); gap: 16px; padding: 20px 0; border-bottom: 1px solid #36434d; }
.admin-audio-row h2 { font-size: 18px; margin: 0 0 6px; }
.admin-audio-row audio { width: 100%; max-width: 400px; }
.admin-audio-row input[type=file] { width: 100%; min-width: 0; }
.admin-audio-row small { overflow-wrap: anywhere; }
.admin-audio-search { display: block; max-width: 420px; margin: 20px 0; }
.admin-audio-row[hidden] { display: none; }
@media (max-width: 600px) {
  .audio-setting-row, .admin-audio-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .audio-volume { grid-template-columns: auto minmax(60px, 1fr) 44px; }
  .audio-dialog { padding: 16px; }
}
