/* Size against available CSS pixels, including OS scaling and browser zoom. */
.import-tabs{gap:20px;flex-wrap:nowrap;min-width:0}
.import-tabs button{min-height:36px;padding:6px 0;font-size:.928571rem}
.modal.song-package-dialog[open]{width:900px;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
.song-package-dialog .modal-titlebar{padding:10px 16px}
.song-package-dialog>.modal-content{padding:12px 16px;scroll-padding-bottom:64px}
.song-package,.song-package form{display:grid;gap:10px;min-width:0}
.song-package .notice{margin:0;padding:8px 10px;min-height:0;line-height:1.5}
.song-package .drop-field{margin:0;padding:12px;min-width:0}
.song-package input[type=file]{width:100%;max-width:100%;min-width:0}
.song-package .field{margin:0;gap:4px;min-width:0}
.song-package .field input,.song-package .field select{min-height:36px;max-width:100%;padding:6px 10px}
.song-package [data-package-step=prepare]{grid-template-columns:repeat(2,minmax(0,1fr))}
.song-package [data-package-step=prepare]>:not(.field){grid-column:1/-1}
.song-package .form-error:empty,.song-package [data-package-status]:empty{display:none}
.song-package .form-error,.song-package [data-package-status]{margin:0;overflow-wrap:anywhere}
.song-package .modal-footer{margin:0;padding:10px 0 0;bottom:-12px;gap:10px;flex-wrap:nowrap}
.package-guide{border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:0}
.package-guide summary{cursor:pointer;color:var(--primary);font-weight:600}
.package-guide figure{margin:10px 0}
.package-guide svg{display:block;width:100%;max-width:640px;height:auto;margin:auto}
.package-list-heading,.package-song header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.package-list-heading .text-btn{padding:4px 8px}
.package-song-list{display:grid;gap:8px;max-height:40dvh;overflow:auto;min-width:0;padding:2px;overscroll-behavior:contain}
.package-song{border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:0;overflow-wrap:anywhere}
.package-song header label{display:flex;align-items:center;gap:8px;min-width:0}
.package-song header input{flex-shrink:0}
.package-song [data-song-status]{font-size:.857143rem;color:var(--muted)}
.package-song[data-status=succeeded]{border-color:#82bba1}
.package-song[data-status=failed]{border-color:#e7aa8c}
.package-song[data-status=failed] [data-song-status],.package-warning{color:#a44730}
.package-track-list{margin:4px 0;font-size:.857143rem;color:var(--muted)}
.package-song details{margin-top:6px}
.package-song [data-package-warnings][hidden]{display:none!important}
.package-song summary{cursor:pointer;font-size:.857143rem;color:var(--primary)}
.package-song-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;min-width:0}
.package-song-fields select{width:100%;min-width:0}
.package-warning{margin:4px 0;font-size:.857143rem}
.song-package form>.muted{margin:0;font-size:.857143rem}
.package-guide figcaption,.package-guide li{font-size:.857143rem;line-height:1.6;overflow-wrap:anywhere}
.package-guide figcaption{margin-top:8px;color:var(--muted)}
.package-guide ul{margin:8px 0 0;padding-left:20px}
@media(max-width:600px){
 .package-song header{align-items:flex-start;flex-direction:column}
 .package-song-fields{grid-template-columns:minmax(0,1fr)}
 .package-song-list{max-height:36dvh}
 .song-package-dialog .modal-titlebar{padding:8px 12px}
 .song-package-dialog>.modal-content{padding:10px 12px}
 .song-package,.song-package form{gap:8px}
 .song-package [data-package-step=prepare]{grid-template-columns:minmax(0,1fr)}
 .song-package .modal-footer{bottom:-10px;padding-top:8px}
 .song-package .modal-footer .btn{flex:1;padding-inline:8px}
 .package-guide{padding:6px 8px}
 .song-package [data-package-step=save] table,.song-package [data-package-step=save] tbody,.song-package [data-package-step=save] tr,.song-package [data-package-step=save] td{display:block;width:100%;min-width:0}
 .song-package [data-package-step=save] thead{display:none}
 .song-package [data-package-step=save] tr{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:6px 10px}
 .song-package [data-package-step=save] td{padding:3px 0;border:0;white-space:normal;overflow-wrap:anywhere}
 .song-package [data-package-step=save] td:first-child{font-weight:600;color:var(--primary)}
}
@media(max-height:600px){
 .song-package-dialog .modal-titlebar{padding-block:6px}
 .song-package-dialog>.modal-content{padding-block:8px}
 .song-package,.song-package form{gap:6px}
 .song-package .notice{padding:6px 8px}
 .song-package .drop-field{padding:8px}
 .song-package .modal-footer{bottom:-8px;padding-top:6px}
 .song-package .modal-footer .btn{min-height:34px;padding-block:5px}
 .import-tabs button{min-height:32px;padding-block:4px}
}
.modal.import-dialog[open]{width:780px;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
.import-dialog .modal-titlebar{padding:10px 16px}
.import-dialog>.modal-content{padding:12px 16px;scrollbar-gutter:auto;scroll-padding-bottom:64px}
#import-form{display:grid;gap:10px;min-width:0}
#import-form .tabs{gap:20px;flex-wrap:nowrap;min-width:0}
#import-form .tabs button{min-height:36px;padding:6px 0;font-size:.928571rem}
#import-form .notice{margin:0;padding:8px 10px;min-height:0;line-height:1.5}
#import-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#import-form .field{margin:0;gap:4px}
#import-form .field input{min-height:36px;padding:6px 10px}
#import-form .import-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
#import-form .import-stems{grid-template-columns:repeat(3,minmax(0,1fr))}
#import-form .drop-field{display:grid;grid-template-columns:24px minmax(0,1fr);align-content:start;align-items:center;gap:6px 8px;margin:0;padding:10px;border-radius:12px}
#import-form .drop-field>svg{width:24px;height:24px}
#import-form .drop-field>span{min-width:0;gap:2px}
#import-form .drop-field small{line-height:1.4;overflow-wrap:anywhere}
#import-form .drop-field input[type=file]{grid-column:1/-1;min-width:0;width:100%;max-width:100%;margin:0;padding:2px 0!important;line-height:1.5}
#import-form .drop-field input::file-selector-button{padding:5px 8px;margin-right:6px}
#import-form .form-error:empty{display:none}
#import-form .form-error{margin:0;overflow-wrap:anywhere}
#import-form .modal-footer{margin:0;padding:10px 0 0;bottom:-12px;gap:10px;flex-wrap:nowrap}
#import-form .modal-footer .btn{min-height:38px;padding:7px 18px}
@media(max-width:600px){
 .import-dialog .modal-titlebar{padding:8px 12px}
 .import-dialog>.modal-content{padding:10px 12px}
 #import-form{gap:8px}
 #import-form .form-grid{gap:8px}
 #import-form .import-tracks,#import-form .import-stems{grid-template-columns:minmax(0,1fr);gap:8px}
 #import-form .drop-field{padding:8px 10px;gap:4px 8px}
 #import-form .drop-field>span{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:2px 8px}
 #import-form .drop-field small{font-size:.785714rem}
 #import-form .modal-footer{bottom:-10px;padding-top:8px}
 #import-form .modal-footer .btn{flex:1;padding-inline:8px}
}
@media(max-height:600px){
 .import-dialog .modal-titlebar{padding-block:6px}
 .import-dialog>.modal-content{padding-block:8px}
 #import-form{gap:6px}
 #import-form .tabs button{min-height:32px;padding-block:4px}
 #import-form .notice{padding:6px 8px}
 #import-form .field input{min-height:32px;padding-block:4px}
 #import-form .drop-field{padding:6px 8px;gap:3px 6px}
 #import-form .modal-footer{bottom:-8px;padding-top:6px}
 #import-form .modal-footer .btn{min-height:34px;padding-block:5px}
}
@media(max-width:600px) and (max-height:600px){
 #import-form{gap:4px}
 #import-form .import-tracks{gap:6px}
 #import-form .drop-field{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2px 6px}
 #import-form .drop-field>svg{display:none}
 #import-form .drop-field>span{display:contents}
 #import-form .drop-field strong{grid-column:1;grid-row:1}
 #import-form .drop-field small{grid-column:1/-1;grid-row:2}
 #import-form .drop-field input[type=file]{grid-column:2;grid-row:1}
}
