.song-editor-header { align-items: flex-start; }
.song-quick-form { display: grid; gap: 22px; max-width: 1180px; }
.song-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 12px; border: 1px solid var(--line, #d9d4c7); border-radius: 18px; background: color-mix(in srgb, var(--card, #fff) 90%, transparent); }
.song-steps span { display: flex; align-items: center; gap: 10px; padding: 8px 12px; color: var(--muted, #60706d); font-size: .86rem; font-weight: 700; }
.song-steps b, .song-step-number { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; color: #102f2d; background: linear-gradient(135deg, #f3c55f, #e5a72e); }
.song-quick-form .card { padding: clamp(20px, 3vw, 34px); }
.song-section-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
.song-section-heading h2 { margin: 0 0 5px; }
.song-section-heading p { margin: 0; color: var(--muted, #60706d); }
.song-details-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; }
.song-field { display: grid; gap: 8px; font-weight: 750; }
.song-field span { color: var(--muted, #60706d); font-size: .78rem; font-weight: 500; }
.song-field input, .song-field select, .lyrics-paste, .quick-section input, .quick-section textarea { width: 100%; border: 1px solid var(--line, #d9d4c7); border-radius: 12px; background: var(--input, #fff); color: var(--ink, #17312f); }
.song-field input, .song-field select { min-height: 52px; padding: 0 15px; }
.audio-upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.audio-dropzone { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; min-height: 126px; padding: 20px; border: 1.5px dashed var(--line, #cfc9ba); border-radius: 16px; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; overflow: hidden; }
.audio-dropzone:hover { border-color: #c69226; background: color-mix(in srgb, #f1c04e 8%, transparent); transform: translateY(-1px); }
.audio-dropzone.has-file { border-style: solid; border-color: #2c8b7d; background: color-mix(in srgb, #2c8b7d 8%, transparent); }
.audio-dropzone input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.audio-upload-icon { grid-row: 1 / 4; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; color: #f2bd45; background: #123936; font-size: 1.45rem; }
.audio-dropzone strong { font-size: 1rem; }
.audio-dropzone small { color: var(--muted, #60706d); }
.audio-dropzone em { margin-top: 7px; color: #19786d; font-style: normal; font-size: .85rem; font-weight: 750; overflow-wrap: anywhere; }
.lyrics-paste-label { display: block; margin-bottom: 8px; font-weight: 750; }
.lyrics-paste { min-height: 245px; padding: 16px; resize: vertical; line-height: 1.55; }
.lyrics-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 14px; }
.lyrics-actions span { color: var(--muted, #60706d); }
.song-sync-card[hidden] { display: none; }
.sync-player { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 16px; border-radius: 16px; background: #102f2d; }
.sync-player audio { width: 100%; }
.sync-readout { min-width: 120px; color: #fff; text-align: right; }
.sync-readout strong { display: block; color: #f3c55f; font-size: 1.35rem; }
.sync-readout span { font-size: .82rem; opacity: .72; }
.sync-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px 0; }
.sync-mark-button { min-width: 260px; }
.sync-hint { margin-left: auto; color: var(--muted, #60706d); font-size: .86rem; }
.quick-sections { display: grid; gap: 12px; }
.quick-section { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 14px 20px; padding: 18px; border: 1px solid var(--line, #d9d4c7); border-radius: 15px; background: color-mix(in srgb, var(--card, #fff) 94%, #dcece8); transition: border-color .15s, box-shadow .15s; }
.quick-section.is-marked { border-color: color-mix(in srgb, #278879 55%, var(--line, #d9d4c7)); }
.quick-section .section-top { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.section-identity, .section-actions { display: flex; align-items: center; gap: 10px; }
.section-state { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--line, #ece8de); color: var(--muted, #60706d); font-size: .76rem; font-weight: 800; }
.is-marked .section-state { color: #fff; background: #278879; }
.section-seek { border: 0; background: transparent; color: #1b7a6f; font-weight: 750; cursor: pointer; }
.quick-section .icon-button { width: 34px; height: 34px; }
.section-text { display: grid; gap: 7px; font-size: .8rem; font-weight: 750; }
.quick-section textarea { min-height: 92px; padding: 12px; resize: vertical; line-height: 1.45; }
.compact-times { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-self: end; }
.compact-times label { display: grid; gap: 7px; color: var(--muted, #60706d); font-size: .76rem; font-weight: 700; }
.compact-times input { height: 44px; padding: 0 10px; }
.song-form-status { display: none; padding: 13px 16px; border-radius: 12px; font-weight: 700; }
.song-form-status:not(:empty) { display: block; }
.song-form-status.error { color: #8c2f25; background: #fae4df; }
.song-form-status.success { color: #17685e; background: #dcf1ec; }
.song-save-bar { position: sticky; bottom: 14px; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid var(--line, #d9d4c7); border-radius: 16px; background: color-mix(in srgb, var(--card, #fff) 94%, transparent); box-shadow: 0 16px 45px rgba(9, 39, 36, .15); backdrop-filter: blur(14px); }
.song-save-bar div { display: grid; gap: 3px; }
.song-save-bar span { color: var(--muted, #60706d); font-size: .84rem; }

[data-theme="dark"] .sync-player { background: #071d1b; }
[data-theme="dark"] .song-form-status.error { color: #ffbdb5; background: #452620; }
[data-theme="dark"] .song-form-status.success { color: #a7e6db; background: #143e38; }

@media (max-width: 850px) {
  .song-steps { grid-template-columns: 1fr 1fr; }
  .song-details-grid { grid-template-columns: 1fr 1fr; }
  .song-field-wide { grid-column: 1 / -1; }
  .quick-section { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .song-steps, .song-details-grid, .audio-upload-grid { grid-template-columns: 1fr; }
  .song-steps { gap: 2px; }
  .audio-dropzone { min-height: 105px; }
  .lyrics-actions, .song-save-bar { align-items: stretch; flex-direction: column; }
  .lyrics-actions .button, .song-save-bar .button { width: 100%; }
  .sync-player { grid-template-columns: 1fr; }
  .sync-readout { text-align: left; }
  .sync-mark-button { min-width: 0; width: 100%; }
  .sync-hint { width: 100%; margin-left: 0; }
  .section-actions .section-seek { display: none; }
}
