/* Version editor owns the available viewport; only documents and long lists scroll. */
.main[data-page=versions]{overflow:hidden;min-height:0;padding:10px}
.versions-page.page-panel{height:100%;min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column;padding:14px 18px;gap:10px}
.versions-page .version-song-heading{margin:0;padding:0;gap:12px;min-height:48px;flex:none;display:flex;align-items:center}
.versions-page .version-song-heading>.cover{width:44px;height:44px;border-radius:8px;flex:none}
.versions-page .version-song-heading>div{min-width:0;flex:1}
.versions-page .version-song-heading h1{font-size:1.2rem;line-height:1.3;margin:0}
.versions-page .version-song-heading p{margin:3px 0 0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.versions-page .version-song-heading p span{color:var(--muted)}
.version-status{display:flex;align-items:center;gap:8px;min-height:28px;flex:none;font-size:.8rem;color:var(--muted)}
.version-status>span{display:flex;align-items:center;gap:6px;min-width:0}
.version-pane-tabs{display:none}
.versions-page .versions-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;flex:1;min-height:0;overflow:hidden}
.versions-page .versions-layout>.version-list,.versions-page #lyrics-form,.versions-page .lyric-comparison{padding:12px;border:1px solid #ece5e9;border-radius:10px;min-width:0;min-height:0;overflow:hidden;margin:0;background:#fff}
.versions-page .version-list{display:flex;flex-direction:column;gap:8px}
.versions-page .section-title{margin:0;min-height:30px;gap:8px;flex:none;align-items:center}
.versions-page h3{font-size:1rem;margin:0}
.version-history-items{overflow:auto;min-height:0;flex:1}
.versions-page .version-item{padding:10px;margin:0 0 8px;width:100%;min-width:0}
.versions-page .version-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.versions-page .version-item small{margin-top:5px;font-size:.75rem}
.versions-page .version-item>span{margin-top:6px;gap:2px;flex-wrap:nowrap}
.versions-page .version-item .icon-btn{width:28px;min-width:28px;height:28px;padding:5px}
.versions-page .version-item.active{background:#fff1f0;border-color:#ffc8cf}
.versions-page #lyrics-form{display:flex;flex-direction:column;gap:7px}
.versions-page #lyrics-form>.section-title>.btn{margin-left:auto}
.versions-page .tabs button{padding:7px 9px;font-size:.85rem}
.version-editor-tools{display:flex;align-items:center;gap:4px;flex:none}
.versions-page .btn{min-height:30px;padding:6px 10px;font-size:.85rem;white-space:nowrap}
.versions-page .version-return{min-height:36px;padding:8px 14px;font-weight:600;flex:none;box-shadow:0 4px 12px #ee5a7b30}
.versions-page .version-return:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.versions-page .icon-btn{width:30px;min-width:30px;height:30px;padding:5px}
.version-more{margin-left:auto;position:relative}
.version-more>summary{white-space:nowrap;list-style:none;cursor:pointer;font-size:.85rem;border:1px solid #e8dfe6;padding:6px 9px;border-radius:6px}
.version-more-panel{position:fixed;z-index:30;right:30px;top:180px;width:min(410px,calc(100vw - 90px));max-height:calc(100dvh - 270px);overflow:auto;padding:16px;border:1px solid #eadce5;border-radius:12px;background:#fff;box-shadow:0 12px 40px #37213d30}
.version-more-panel h3{margin-bottom:12px}
.version-more-panel .actions{flex-wrap:wrap;gap:8px;margin:12px 0}
.version-more-panel .lyric-selection-tools{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:10px}
.version-more-panel input[type=number]{width:100px}
.versions-page .lyric-edit-table{min-height:0;max-height:none;flex:1;overflow:auto;border:1px solid #eee8ec;border-radius:7px}
.versions-page .lyric-edit-table table{min-width:0;width:100%;table-layout:fixed}
.versions-page .lyric-edit-table thead{position:sticky;top:0;z-index:1;background:#faf8fa}
.versions-page .lyric-edit-table th{height:30px;padding:5px 6px;font-size:.75rem}
.versions-page .lyric-edit-table th:first-child{width:40px}
.versions-page .lyric-edit-table th:nth-child(2){width:100px;min-width:0}
.versions-page .lyric-edit-table th:nth-child(3){min-width:0}
.versions-page .lyric-edit-table th:last-child{width:72px}
.versions-page .lyric-edit-table td{padding:4px 6px;height:44px}
.versions-page .lyric-edit-table input:not([type=checkbox]){height:32px;min-height:32px;width:100%;padding:4px 7px;font-size:.9rem;border-radius:5px}
.versions-page .lyric-edit-table td:last-child .icon-btn{width:28px;min-width:28px;height:30px;padding:5px}
.versions-page .lyrics-editor:not(.source-hidden){min-height:0;height:auto;flex:1;resize:none;padding:12px;font-family:monospace;font-size:.95rem}
.versions-page .lyrics-editor.source-hidden{display:none}
.version-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;flex:none;font-size:.8rem;color:var(--muted)}
.versions-page .pagination{margin:0;padding:0;gap:5px;font-size:.75rem;flex:none}
.versions-page .pagination>div{gap:5px}
.versions-page .version-list .pagination{gap:6px}
.version-name{display:flex;align-items:center;gap:10px;font-size:.85rem;flex:none}
.version-name input{height:32px;min-height:32px;min-width:0;flex:1;padding:5px 9px}
.versions-page .form-error{margin:0;font-size:.8rem;max-height:45px;overflow:auto}
.versions-page .form-error:empty{display:none}
.versions-page .lyric-comparison{display:none;flex-direction:column;gap:10px}
.versions-page[data-version-pane=compare] #lyrics-form{display:none}
.versions-page[data-version-pane=compare] .lyric-comparison{display:flex}
.versions-page .lyric-diff{min-height:0;overflow:auto;flex:1}
.versions-page .lyric-comparison .field{margin:0}
.versions-page .diff-heading,.versions-page .diff-row{gap:8px;overflow-wrap:anywhere}
.version-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid #eee4e9;flex:none}
.version-playback{display:flex;align-items:center;gap:8px;font-size:.85rem;white-space:nowrap}
.version-playback>.icon-btn{background:linear-gradient(120deg,#ff537f,#ff8b51);color:white;border:0;border-radius:50%;width:36px;height:36px}
.version-playback [data-song-playback-backend]{color:var(--muted);font-size:.75rem}
.versions-page .lyrics-save-actions{display:flex;gap:10px;margin:0;padding:0}
.versions-page .lyrics-save-actions .btn{min-height:38px;padding:8px 18px}
.lyric-production-context{padding:14px;border:1px solid #f0cbd4;border-radius:10px;background:#fff8f7;margin-bottom:14px}
.lyric-production-context textarea{width:100%;min-height:90px;max-height:180px;resize:vertical}
.lyric-production-context .actions{flex-wrap:wrap}
@media(max-width:1100px){.versions-page .versions-layout{grid-template-columns:175px minmax(0,1fr)}.version-playback [data-song-playback-backend]{display:none}}
@media(max-width:1023px){
 .versions-page.page-panel{padding:10px;gap:7px}
 .versions-page .version-pane-tabs{display:flex;gap:5px;border-bottom:1px solid #eee3e9;flex:none}
 .version-pane-tabs button{border:0;background:none;flex:1;padding:8px;cursor:pointer;border-bottom:2px solid transparent;color:var(--muted)}
 .version-pane-tabs button[aria-pressed=true]{border-color:#ff587e;color:#ef456c;font-weight:600}
 .versions-page .versions-layout{display:block}
 .versions-page .versions-layout>*{height:100%}
 .versions-page .versions-layout>.version-list{display:none}
 .versions-page[data-version-pane=history] .version-list{display:flex}
 .versions-page[data-version-pane=history] #lyrics-form{display:none}
 .versions-page #lyrics-form>.section-title>.btn{display:none}
 .versions-page .version-song-heading>.cover{width:36px;height:36px}
 .versions-page .version-song-heading h1{font-size:1.05rem}
 .versions-page .version-song-heading>.btn{padding:6px;font-size:.75rem}
}
@media(max-width:600px){
 .main[data-page=versions]{padding:5px}
 .versions-page.page-panel{padding:8px;border-radius:12px}
 .versions-page .version-song-heading{gap:7px;min-height:44px}
 .versions-page .version-song-heading>.cover{display:none}
 .versions-page .version-song-heading p{font-size:.75rem;max-width:160px}
 .version-status{font-size:.7rem;min-height:22px;gap:4px}
 .versions-page .versions-layout>#lyrics-form,.versions-page .versions-layout>.version-list,.versions-page .versions-layout>.lyric-comparison{padding:8px}
 .versions-page #lyrics-form>.section-title h3{display:none}
 .versions-page #lyrics-form>.section-title{justify-content:center;min-height:28px}
 .version-editor-tools{gap:2px}
 .versions-page .version-editor-tools .btn{padding:5px;font-size:.75rem}
 .versions-page .version-editor-tools .btn svg{display:none}
 .version-more>summary{font-size:.75rem;padding:6px}
 .version-more-panel{top:160px;right:14px;max-height:calc(100dvh - 250px)}
 .versions-page .lyric-edit-table table,.versions-page .lyric-edit-table tbody{display:block}
 .versions-page .lyric-edit-table thead{display:none}
 .versions-page .lyric-edit-table tr{display:grid;grid-template-columns:26px minmax(0,1fr) 62px;grid-template-rows:30px 34px;border-bottom:1px solid #eee7eb;padding:3px 2px}
 .versions-page .lyric-edit-table td{height:auto;padding:0 3px;border:0;min-width:0}
 .versions-page .lyric-edit-table td:first-child{grid-column:1;grid-row:1;align-self:center}
 .versions-page .lyric-edit-table td:nth-child(2){grid-column:2;grid-row:1}
 .versions-page .lyric-edit-table td:nth-child(3){grid-column:1/-1;grid-row:2}
 .versions-page .lyric-edit-table td:nth-child(4){grid-column:3;grid-row:1}
 .versions-page .lyric-edit-table td:nth-child(2) input{height:28px;min-height:28px;font-size:.8rem}
 .versions-page .lyric-edit-table td:nth-child(3) input{font-size:.85rem}
 .version-pagination{font-size:.7rem;gap:4px}
 .version-pagination>.pagination>span{display:none}
 .versions-page .pagination .btn{padding:4px;font-size:.7rem}
 .versions-page .pagination .btn svg{display:none}
 .version-name{font-size:.75rem;gap:5px}
 .version-footer{flex-wrap:wrap;padding-top:6px;gap:6px}
 .version-playback{justify-content:center;width:100%;font-size:.75rem}
 .version-playback>.icon-btn{width:28px;height:28px}
 .versions-page .lyrics-save-actions{width:100%;gap:6px}
 .versions-page .lyrics-save-actions .btn{flex:1;padding:7px 5px;font-size:.8rem;min-height:36px}
 .versions-page .lyrics-save-actions .btn svg{display:none}
}
@media(max-height:620px){.versions-page .version-status:not(.needs-attention){display:none}.versions-page .version-song-heading{min-height:34px}.versions-page .version-song-heading>.cover{display:none}.versions-page.page-panel{gap:5px;padding-block:6px}.version-footer{padding-top:5px}.versions-page #lyrics-form{gap:3px}}
.versions-page .version-more{padding:0;margin:0 0 0 auto;border:0;background:none;min-height:0}
.versions-page .version-more>summary{margin:0;min-height:30px}
.versions-page .version-name input{min-height:32px!important;height:32px!important}

.lyric-production-actions .btn{min-height:50px;min-width:150px;font-size:16px;padding:12px 24px}
.singing-voice-field{margin:0 0 20px}.singing-voice-field select{min-height:46px;width:100%}
@media(max-width:480px){.lyric-production-actions .btn{flex:1;min-width:0}}
