.long-voice-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:1px 6px;border:1px solid #ddc7f0;border-radius:5px;background:#f3eafa;color:#8250b0;font-size:11px;font-weight:600;line-height:18px;vertical-align:middle}
.catalog-voice button.voice-select .long-voice-badge{flex:0 0 auto}
.long-recording-hint{display:flex;align-items:center;gap:8px;margin:12px 0;padding:12px 16px;border:1px solid #e8daee;border-radius:10px;background:#faf5fc;color:#82558f;font-size:13px}.long-recording-hint strong{margin-left:auto;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.voice-long-filter{margin:8px 0 14px;font-size:12px}.voice-card-heading .long-voice-badge{margin-right:6px}
.modal:has(.compact-production){width:min(770px,calc(100vw - 32px));max-width:770px;max-height:calc(100dvh - 32px)}
.modal:has(.compact-production) .modal-titlebar{padding:10px 22px;min-height:40px}
.modal:has(.compact-production) .modal-content{padding:14px 24px 20px}
.modal:has(.compact-production) .modal-content>h2{font-size:20px;margin:0 0 12px}
.compact-production .production-song-summary{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--border)}
.production-song-summary strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-song-summary>span{color:var(--muted);font-size:12px}
.compact-production fieldset{padding:0;border:0;margin:0;min-width:0}.compact-production legend{padding:0;margin:0 0 9px;font-size:14px;font-weight:600}.compact-production legend small{color:var(--muted);font-size:12px;font-weight:400}
.production-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.production-method{display:flex;position:relative;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:13px 8px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--surface)}
.production-method:has(:checked){border-color:#b38acb;background:#f9f0fc;box-shadow:0 0 0 1px #c39bd280}.production-method:has(:disabled){opacity:.5;cursor:default}.production-method input{position:absolute;top:9px;right:9px;width:12px;height:12px;margin:0;accent-color:#aa6eba}.production-method strong{font-size:14px;font-weight:600}.production-method small{font-size:11px;color:var(--muted)}
.production-voice-heading{margin:16px 0 8px;font-size:13px}.production-chosen-voice{width:100%;display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 12px;border:1px solid #e5d5e8;border-radius:9px;background:#fcf8fd;color:var(--text);text-align:left;font:inherit}.production-chosen-voice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px}.production-chosen-voice>span:not(.long-voice-badge):not(.production-voice-avatar){margin-left:auto;font-size:12px;color:var(--muted)}.production-chosen-voice>svg{flex:none;color:#aa7dba}
.compact-production .production-reference-modes{margin-top:15px}.production-reference-modes>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.production-reference-modes label{cursor:pointer}.production-reference-modes input{position:absolute;opacity:0;pointer-events:none}.production-reference-modes span{display:block;border:1px solid var(--border);border-radius:8px;text-align:center;padding:9px 5px;font-size:12px}.production-reference-modes :checked+span{border-color:#ba8cca;background:#f9f0fc;color:#8a509d}.production-reference-modes :focus-visible+span,.production-method:has(:focus-visible){outline:2px solid var(--purple);outline-offset:2px}
.compact-production .production-rights{margin:14px 0 8px;font-size:12px;line-height:20px;align-items:flex-start}.production-rights input{flex:none;margin-top:3px}.compact-production .production-price,.production-small-note{margin:6px 0;color:var(--muted);font-size:11px;line-height:18px}.production-unavailable{margin:6px 0;color:#a05665;font-size:12px}.production-short-gate{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 12px;border-radius:8px;background:#fff6e9;color:#a5733d;font-size:12px}.production-short-gate .btn{min-height:28px;padding:4px 10px;margin:0}
.compact-production .singing-production-actions{display:flex;gap:12px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border)}.compact-production .singing-production-actions .btn{flex:1;min-height:40px;padding:9px 14px;gap:8px;font-size:13px}.compact-production .singing-full-cta{background:var(--sunset);color:#fff;border-color:transparent}.compact-production .singing-preview-cta{background:var(--surface);color:#9c617e;border-color:#dec6d5}.compact-production [hidden]{display:none!important}
@media(max-width:650px){.modal:has(.compact-production){width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.modal:has(.compact-production) .modal-content{padding:12px 15px 16px}.production-method-grid{gap:6px}.production-method{padding:25px 4px 10px}.production-method small{font-size:10px}.production-reference-modes>div{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-production legend small{font-size:10px}.long-recording-hint{flex-wrap:wrap}}

.compact-production .singing-production-actions{position:static;background:transparent}.compact-production .singing-production-actions .btn.singing-preview-cta{background:#fff;color:#9c617e;border:1px solid #dec6d5}.compact-production .singing-production-actions .btn:disabled{opacity:.45;cursor:not-allowed}.compact-production{display:block}

.voice-picker-list>[hidden]{display:none!important}.voice-filter-toolbar{display:flex;justify-content:flex-end;margin:0 0 14px}

/* Approved design fidelity; review-only chrome and example data are excluded. */
.long-voice-badge{width:22px;height:22px;padding:0;border-radius:6px;background:#f1e6fc;color:#8951b3;font-weight:650}
.modal.production-design-dialog{width:min(770px,calc(100vw - 32px));max-width:770px;border-radius:20px;background:#fffcfb;box-shadow:0 24px 70px #2c16342c}
.modal.production-design-dialog .modal-titlebar{min-height:59px;padding:13px 24px;border-bottom:1px solid #eee4ef;justify-content:space-between}
.modal.production-design-dialog .modal-titlebar h2{display:block;margin:0;font-size:18px;font-weight:650;line-height:24px}
.modal.production-design-dialog .modal-titlebar .icon-btn{width:33px;height:33px;min-height:33px;padding:6px;border:1px solid #e9e0ee;border-radius:8px;background:#fff;color:#796784}
.modal.production-design-dialog .modal-content{padding:16px 24px 18px}
.compact-production .production-song-summary{gap:13px;padding:0;margin:0 0 14px;border:0;min-height:44px}
.production-song-summary>.cover{width:44px;height:44px;flex:none;margin:0;object-fit:cover;border-radius:9px}
.production-song-summary>div{display:grid;gap:5px;min-width:0}
.production-song-summary strong{display:block;font-size:14px;color:#211d3c}
.production-song-summary small{font-size:11px;color:#858198}
.compact-production legend{margin-bottom:7px;font-size:13px;color:#211d3c}
.compact-production legend small{color:#8f7a9d;font-size:12px}
.production-method-grid{gap:11px}
.production-method{align-items:flex-start;justify-content:center;gap:8px;min-height:76px;padding:12px;border:1px solid #e4d8ed;border-radius:12px;background:#fff}
.production-method strong{padding-right:17px;font-size:15px;color:#211d3c;line-height:20px}
.production-method small{padding:3px 6px;background:#f3e9fa;color:#9067ad;border-radius:5px;font-size:12px;line-height:16px}
.production-method input{width:14px;height:14px;top:14px;right:11px;accent-color:#aa7ccb}
.production-method:has(:checked){background:#fcf6ff;border-color:#b185d6;box-shadow:0 0 0 1px #b185d6}
.production-voice-heading{margin:14px 0 7px}
.production-chosen-voice{min-height:52px;padding:8px 12px;gap:12px;background:#fff;border:1px solid #e5d9ee;border-radius:11px}
.production-chosen-voice strong{font-size:16px;color:#211d3c}
.production-voice-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#f2e7fa;color:#a374c5}
.compact-production .production-reference-modes{margin-top:14px}
.production-reference-modes span{min-height:38px;padding:8px 6px;border-color:#e7dcf0;border-radius:9px;background:#fff}
.compact-production .production-rights{margin-top:11px;color:#95839d;font-size:12px}
.compact-production .singing-production-actions{margin-top:14px;padding-top:14px}
.compact-production .singing-production-actions .btn{min-height:44px;border-radius:10px;font-size:13px}
.compact-production .singing-production-actions .btn.singing-preview-cta{background:#fdfaff;color:#8052bc;border-color:#c5abdf}
.compact-production .singing-full-cta{background:linear-gradient(115deg,#ffa15d,#ff656d 54%,#dd3e8e);box-shadow:0 3px 8px #ef627527}
.production-design-dialog .voice-picker-search{margin-bottom:12px;min-height:42px}
.production-design-dialog .voice-picker-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;min-height:30px;color:#9b89a5}
.voice-picker-meta>small{font-size:11px}.voice-picker-meta strong{color:#825c9e;font-weight:500}
.voice-picker-filters{display:flex;align-items:center;gap:8px;flex:none}
.voice-picker-filters>button,.voice-picker-filters>.voice-long-filter{position:relative;display:flex;align-items:center;margin:0;border:0;border-radius:8px;padding:6px 11px;min-height:30px;background:transparent;color:#9b8aa4;font-size:12px;cursor:pointer}
.voice-picker-filters>[aria-pressed=true],.voice-picker-filters>.voice-long-filter:has(:checked){background:#f4ebfa;color:#8b57ae}
.voice-picker-filters .voice-long-filter input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.voice-picker-filters .voice-long-filter:has(:focus-visible){outline:2px solid #9b73cf;outline-offset:2px}
.production-design-dialog .voice-picker-list{gap:9px;max-height:365px;min-height:0;padding:0;overflow:auto}
.production-design-dialog .voice-picker-card{padding:13px 14px;min-height:66px;border-color:#e4d8ed;border-radius:10px;box-shadow:none}
.production-design-dialog .voice-picker-card.active{border-color:#bc93d8;background:#fcf8ff}
.production-design-dialog .voice-picker-card .voice-card-heading{flex:0 1 auto}
.production-design-dialog .voice-picker-card .voice-card-name{font-size:14px;font-weight:550}
.production-design-dialog .voice-picker-card .voice-default-stamp{font-size:11px}
.production-design-dialog .voice-picker-card .voice-card-preview{min-height:31px;font-size:12px;padding:5px 9px;border-radius:8px}
.voice-picker-footer{gap:10px}.voice-picker-footer .voice-picker-record{margin-right:auto}
.production-design-dialog .voice-picker-footer{padding-top:15px;margin-top:20px}
.main[data-page=voices] .page-panel,.main[data-page=recording] .recording-sunset{padding:22px 24px}
.main[data-page=voices] .voice-workspace .voice-upload{min-height:98px;padding:10px 18px;gap:16px;grid-template-columns:68px minmax(0,1fr) auto;background:linear-gradient(100deg,#fff4ef,#faf5fd);margin-bottom:23px}
.main[data-page=voices] .voice-upload>img{width:68px;height:72px;object-fit:contain}
.main[data-page=voices] .voice-upload-actions{gap:10px}.main[data-page=voices] .voice-upload-actions .btn{min-height:38px}
.voice-filter-toolbar{align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.voice-filter-toolbar h3{margin:0;font-size:14px;color:#211d3c}.voice-filter-toolbar h3 small{font-size:12px;color:#858198;font-weight:400}
.voice-library-filters{display:flex;gap:8px}.voice-library-filters button{padding:6px 11px;border:0;border-radius:8px;background:transparent;color:#9b8aa4;font-size:12px;min-height:30px}
.voice-library-filters button[aria-pressed=true]{background:#f4ebfa;color:#8b57ae}
.main[data-page=voices] .voice-card{min-height:157px}.main[data-page=voices] .voice-card .voice-card-created{font-size:11px}
.voice-new-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:170px;padding:18px 16px;border:1px dashed #ded5eb;border-radius:13px;background:#fffcff;color:#b09bc0;font:inherit}
.voice-new-card small{font-size:12px}.voice-library-note{display:flex;align-items:center;gap:5px;margin:20px 0 0;color:#a28bab;font-size:12px}
.recording-sunset .page-title{margin-bottom:20px}.recording-sunset .recording-input-device{width:230px}
.recording-sunset .long-recording-hint{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin:0 0 18px;padding:16px 20px;background:linear-gradient(110deg,#fcf5fe,#fff5ef);border:1px solid #eadcf2;border-radius:13px;color:#211d3c;min-height:104px}
.recording-goal-time h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:14px}
.long-recording-hint .recording-goal-time>strong{font-size:32px;font-weight:650;letter-spacing:-1px;color:#211d3c;margin:0}
.recording-goal-time>small{color:#858198;font-size:12px;margin-left:8px}
.recording-goal-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9b6db1}
.recording-goal-progress>div strong{margin:0;font-size:12px}.recording-goal-progress small{font-size:12px;color:#858198}
.recording-goal-progress progress{display:block;appearance:none;width:100%;height:6px;margin:9px 0;border:0;border-radius:5px;overflow:hidden;background:#eee6f3}
.recording-goal-progress progress::-webkit-progress-bar{background:#eee6f3;border-radius:5px}.recording-goal-progress progress::-webkit-progress-value{background:linear-gradient(115deg,#ffa15d,#ff656d 54%,#dd3e8e);border-radius:5px}
.recording-goal-progress p{margin:0;font-size:11px;color:#a087aa}
.recording-sunset .recording-clock{margin:17px 0 10px;gap:12px}.recording-sunset .editor-wave{height:92px}
.recording-sunset .record-controls{padding:7px;margin:9px 0;border:1px solid #fcf6fa;border-radius:14px}.recording-sunset .recording-file-actions{margin:13px 0 20px}
.recording-save-box{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px;border:1px solid #eadff0;border-radius:12px;background:#fff}
.recording-save-box label{display:flex;align-items:center;gap:9px;font-size:12px}.recording-save-box input{width:180px;min-width:0;padding:10px 12px;border:1px solid #e9e0ee;border-radius:10px;background:#fffcfc;font:inherit}
.recording-save-box>div{display:flex;gap:10px}.recording-save-box .btn{min-height:38px;margin:0}
@media(min-width:1000px){.modal.production-design-dialog{transform:translateX(50px)}}
@media(max-width:650px){
 .modal.production-design-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
 .modal.production-design-dialog .modal-titlebar{padding:11px 15px;min-height:55px}.modal.production-design-dialog .modal-titlebar h2{font-size:16px}
 .modal.production-design-dialog .modal-content{padding:12px 15px 14px}
 .production-method-grid{gap:6px}.production-method{padding:25px 7px 10px;min-height:76px;gap:7px}.production-method strong{font-size:12px;padding:0}.production-method small{font-size:10px;padding:3px 4px;white-space:nowrap}
 .production-method input{top:8px;right:7px;width:11px;height:11px}.production-chosen-voice{gap:7px;padding:8px}.production-chosen-voice strong{font-size:13px}.production-chosen-voice>span:not(.long-voice-badge):not(.production-voice-avatar){font-size:10px}
 .compact-production legend small{font-size:10px}.production-design-dialog .voice-picker-meta{align-items:flex-start;flex-wrap:wrap;gap:7px}
 .voice-picker-filters{margin-left:auto}.voice-picker-filters>button,.voice-picker-filters>.voice-long-filter{font-size:11px;padding:6px 9px}
 .production-design-dialog .voice-picker-card{padding:10px;min-height:58px}.production-design-dialog .voice-picker-card .voice-card-name{font-size:12px}
 .voice-picker-footer{flex-wrap:wrap}.voice-picker-footer .btn{font-size:11px;padding:7px 10px}
 .main[data-page=voices] .page-panel,.main[data-page=recording] .recording-sunset{padding:16px 13px}
 .main[data-page=voices] .voice-workspace .voice-upload{grid-template-columns:60px minmax(0,1fr);padding:10px 12px;gap:8px}
 .main[data-page=voices] .voice-upload>img{width:60px;height:65px}.main[data-page=voices] .voice-upload-copy h2{font-size:16px}.main[data-page=voices] .voice-upload-actions{grid-column:1/-1;justify-content:center}
 .main[data-page=voices] .voice-upload-actions .btn{font-size:11px;padding:7px 10px}.voice-filter-toolbar{flex-wrap:wrap}.voice-library-note{align-items:flex-start;font-size:11px;line-height:1.8}
 .recording-sunset .long-recording-hint{grid-template-columns:1fr;padding:14px;gap:10px}.recording-goal-progress small{font-size:10px}
 .recording-sunset .recording-input-device{width:125px}.recording-save-box{padding:12px;gap:11px}.recording-save-box label{width:100%;flex-wrap:wrap}.recording-save-box input{flex:1;width:100px}
 .recording-save-box>div{width:100%;gap:8px}.recording-save-box .btn{flex:1;font-size:11px;padding:7px 10px}
}
.production-chosen-voice>.production-voice-avatar{margin-left:0;font-size:16px;color:#fff}
.online-catalog-page .catalog-controls-row .catalog-voice{flex-basis:330px}
.online-catalog-page .catalog-controls-row .catalog-voice button.voice-select{height:44px;min-height:44px;padding:8px 13px;border-radius:11px;gap:8px;background:#fcf7ff}
.online-catalog-page .catalog-voice button.voice-select .catalog-voice-avatar{flex:0 0 18px;width:18px;height:18px;border-radius:0;background:none;color:#9970b6}
.online-catalog-page .catalog-voice button.voice-select .catalog-voice-avatar::before,.online-catalog-page .catalog-voice button.voice-select .catalog-voice-avatar::after{content:none}
.online-catalog-page .catalog-voice-label{font-size:12px;color:#8e769e;white-space:nowrap}
.online-catalog-page .catalog-voice-name{padding-left:8px;font-size:13px;line-height:22px;border-left:1px solid #e8dff0}
.online-catalog-page .catalog-voice button.voice-select .catalog-voice-arrow{flex:0 0 18px;width:18px;height:18px;background:none;box-shadow:none}
.online-catalog-page .catalog-controls-row .catalog-tabs{height:44px}
.online-catalog-page .catalog-processing>.svc-catalog{display:grid;grid-template-columns:minmax(0,880px);gap:16px}
.online-catalog-page .catalog-processing-song.svc-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 20px;min-height:0;padding:22px;border-radius:15px}
.online-catalog-page .catalog-processing-song>header{display:contents}
.online-catalog-page .catalog-processing-song>header>.cover{grid-column:1;grid-row:1/5;width:110px;height:110px;border-radius:12px}
.online-catalog-page .catalog-processing-song>header>div{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
.online-catalog-page .catalog-processing-song>header h3{font-size:18px;line-height:24px;margin:0;grid-column:1;grid-row:1}
.online-catalog-page .catalog-processing-song>header small{grid-column:1/-1;grid-row:2;font-size:12px}
.online-catalog-page .catalog-task-status{grid-column:2;grid-row:1;align-self:center;margin:0}
.online-catalog-page .catalog-processing-start{grid-column:2;margin:0;padding:0;border:0;font-size:11px}
.online-catalog-page .catalog-task-progress,.online-catalog-page .catalog-task-error,.online-catalog-page .catalog-task-actions{grid-column:2;margin:0}
.online-catalog-page .catalog-task-actions{justify-content:flex-end}
.online-catalog-page .catalog-task-progress p{margin:0 0 7px;font-size:12px}
@media(max-width:650px){
 .online-catalog-page .catalog-controls-row .catalog-voice{flex-basis:100%}
 .online-catalog-page .catalog-processing-song.svc-card{grid-template-columns:66px minmax(0,1fr);padding:14px;gap:10px}
 .online-catalog-page .catalog-processing-song>header>.cover{width:66px;height:66px;grid-row:1/3}
 .online-catalog-page .catalog-processing-song>header h3{font-size:14px}
 .online-catalog-page .catalog-task-progress,.online-catalog-page .catalog-task-error,.online-catalog-page .catalog-task-actions{grid-column:1/-1}
}

.main[data-page=voices] .voice-upload-copy h2{font-size:20px}
@media(max-width:650px){.main[data-page=voices] .voice-upload-copy h2{font-size:16px}}
.modal.production-design-dialog.voice-picker-dialog{height:auto;max-height:calc(100dvh - 24px)}
.modal.production-design-dialog.voice-picker-dialog>.modal-content{gap:0;flex:0 1 auto}
.modal.production-design-dialog.voice-picker-dialog .voice-picker-list{flex:0 1 auto;max-height:min(365px,calc(100dvh - 275px));min-height:66px}
.production-chosen-voice>.production-voice-avatar{color:#a374c5}
.online-catalog-page .catalog-processing-song .catalog-processing-start{padding:0;border:0;align-items:center;line-height:18px}
.online-catalog-page .catalog-processing-start time{display:inline}
.online-catalog-page .catalog-processing-song .catalog-task-progress{margin:0}
.online-catalog-page .catalog-processing-song .catalog-task-error{margin:0}
.online-catalog-page .catalog-processing-song .catalog-task-retry{width:auto;margin:0}
.online-catalog-page .catalog-processing>.svc-catalog{grid-auto-rows:auto}
.modal.production-design-dialog.voice-picker-dialog{height:fit-content}
.online-catalog-page .catalog-task-actions .catalog-task-retry{flex:none}
