/* UX 결정 · 2026-09-26: 실제 배포 판단에 필요한 파일·파트·인원을 14–15px 본문으로 함께 읽게 합니다. */
.score-workflow{color:#1a2a4d;font-size:14px}
.score-workflow .dialog-description{font-size:15px;line-height:1.8;color:#67738a}
.score-workflow .dialog-description strong{font-weight:550;color:#233454}
.score-workflow .steps{margin-bottom:22px}
.score-workflow .steps small{font-size:12px;line-height:1.55;white-space:normal}
.score-workflow .steps>div.active small{color:#1a2a4d;font-weight:600}
.score-workflow .steps>div.active>span,.score-workflow .steps>div.done>span{background:#1a2a4d;color:#fff}
.score-workflow .form-field>span{font-size:14px;color:#425575}
.score-workflow .form-field input,.score-workflow .form-field select{font-size:14px;min-height:43px;border-color:#dce0e6;background:#fff;border-radius:5px;color:#273c5f}
.score-workflow .form-field small{font-size:13px;color:#788295}
.score-workflow .btn{font-size:14px;min-height:37px}
.score-workflow .badge{font-size:12px}
.score-workflow .form-error{font-size:13px;line-height:1.7;color:#ab5c4e}
.score-workflow .dialog-actions{margin-top:22px;padding-top:20px;gap:10px;border-color:#e5e6e6}
.score-work-context{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e4e2d8;background:#f4f3ed;border-radius:6px;padding:13px 16px;margin-bottom:24px;color:#757b83;font-size:13px}
.score-work-context>span:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.score-work-context strong{font-size:14px;font-weight:550;color:#263956}
.score-work-context .icon{color:#a68b50}
.score-work-context>span:last-child{white-space:nowrap;font-weight:500;color:#435778}
.score-workflow .wide-search{padding:11px 13px;margin-bottom:18px}
.score-workflow .wide-search input{font-size:15px}
.score-workflow .imslp-result{border-color:#e4e6ea;padding:18px 16px;gap:13px;border-radius:6px;transition:background .18s,border-color .18s}
.score-workflow .imslp-result:hover{background:#f8f9fb;border-color:#c7cfdd}
.score-workflow .imslp-result.selected{background:#f0f3f8;border-color:#a2b1cc}
.score-workflow .imslp-result strong{font-size:15px;font-weight:550;color:#22385c}
.score-workflow .imslp-result p{font-size:13px;color:#7c8697;line-height:1.75;white-space:normal}
.score-workflow .imslp-result>.icon{color:#697d9c}
.score-workflow .distribution-summary{border-color:#e1e4ea;background:#f7f8fa;border-radius:6px;padding:17px 18px;gap:13px}
.score-workflow .distribution-summary h3{font-size:17px;line-height:1.6;color:#263752;font-weight:550}
.score-workflow .distribution-summary p{font-size:13px;color:#75839a;line-height:1.7}
.score-workflow .distribution-summary>.icon{color:#9b864f}
.score-workflow .edition-option{padding:20px 18px;border-color:#dce1e9;border-radius:6px;background:#fff}
.score-workflow .edition-option strong{font-size:15px;font-weight:550;color:#2e4265}
.score-workflow .edition-option span,.score-workflow .edition-option small{font-size:13px;color:#738197;line-height:1.8}
.score-workflow .rights-check{font-size:14px;color:#364b6c;line-height:1.75;align-items:flex-start;padding:18px 0;gap:10px}
.score-workflow .rights-check input{margin-top:5px;flex-shrink:0;width:15px;height:15px;accent-color:#1a2a4d}
.score-workflow .file-drop{padding:26px 20px;border-color:#cbd2df;background:#f8f9fc;border-radius:8px;gap:10px;color:#79869b;transition:background .2s,border-color .2s}
.score-workflow .file-drop>strong{font-size:16px;font-weight:550;color:#3c5273}
.score-workflow .file-drop>span{font-size:13px;line-height:1.8;text-align:center}
.score-workflow .file-drop.drag-over{background:#eaf0f8;border-color:#1a2a4d}
.score-workflow .file-drop label{font-size:13px;cursor:pointer}
.score-workflow .file-drop label:focus-within{outline:2px solid #8b9dbb;outline-offset:4px}
.score-selected-files{margin:14px 0 20px;display:flex;flex-direction:column;gap:0;max-height:285px;overflow:auto;border-radius:5px}
.score-selected-file{display:flex;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid #e8e9ed;min-width:0}
.score-selected-file>.icon{color:#8d9ab0;flex-shrink:0}
.score-selected-file>span:not(.icon):not(.badge){flex:1;min-width:0}
.score-selected-file strong{font-size:14px;font-weight:450;color:#415879;display:block;overflow-wrap:anywhere}
.score-selected-file small{display:block;font-size:12px;line-height:1.65;color:#8a94a5;margin-top:2px}
.score-selected-file>.btn{font-size:12px;white-space:nowrap;padding:6px;min-height:30px}
.score-file-warning{display:flex;align-items:flex-start;gap:11px;background:#fbf7ec;border:1px solid #e6d9b5;border-radius:6px;padding:16px 17px;margin:16px 0 20px;color:#927641}
.score-file-warning>.icon{margin-top:4px;flex-shrink:0}
.score-file-warning strong{font-size:14px;color:#8c6c32;font-weight:550}
.score-file-warning p{font-size:13px;line-height:1.85;margin-top:4px;color:#947f56}
.score-file-warning .btn{font-size:13px;color:#84632f;padding:7px 0 0;min-height:30px}
.score-assignment-labels,.score-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,.8fr) 106px;gap:14px;align-items:center}
.score-assignment-labels{padding:10px 8px;border-bottom:1px solid #dfe3e9;color:#818b9b;font-size:12px}
.score-assignment-list{max-height:400px;overflow:auto}
.score-assignment-row{padding:14px 8px;border-bottom:1px solid #e9ebef;min-height:69px}
.score-assignment-file{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;line-height:1.65;color:#435675}
.score-assignment-file>.icon{color:#95a0b2;flex-shrink:0}
.score-assignment-file>span:not(.icon){min-width:0;overflow-wrap:anywhere}
.score-assignment-file>.icon-btn{color:#8d9bb0;width:28px;height:28px;flex-shrink:0;margin-left:auto}
.score-assignment-row>label{min-width:0}
.score-assignment-row select{width:100%;min-height:39px;border:1px solid #dce1e8;border-radius:5px;background:white;color:#354c70;font-size:13px;padding:7px 8px;outline-color:#8297b8}
.score-assignment-count{font-size:13px;color:#7d889b;line-height:1.6}
.score-assignment-count.is-unassigned{color:#a47e38}
.score-review-target{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:22px}
.score-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 13px}
.score-review-heading h3{font-size:16px;font-weight:550;color:#2e4365}
.score-review-heading>.btn{font-size:13px;min-height:30px;padding:5px 0;color:#677f9f}
.score-review-table-wrap{border:1px solid #e1e4e9;border-radius:6px;overflow:auto}
.score-review-table{font-size:14px;table-layout:fixed;white-space:normal;min-width:420px;background:white}
.score-review-table th{height:40px;font-size:12px;padding:10px 12px;background:#f5f6f9;color:#738298;border-color:#e1e4e9;font-weight:500}
.score-review-table th:first-child{width:43%}.score-review-table th:nth-child(2){width:32%}.score-review-table th:last-child{width:25%}
.score-review-table td{padding:13px 12px;height:auto;min-height:56px;border-color:#e8ebef;color:#455976;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.score-review-table td:first-child>div{display:flex;align-items:center;gap:7px;min-width:0}
.score-review-table td:first-child .icon{color:#9ba7b9;flex-shrink:0}
.score-review-table td:first-child>div>span:not(.icon){min-width:0}
.score-review-table td .icon-btn{height:25px;width:25px;margin-left:auto;flex-shrink:0;color:#8398b7}
.score-review-table tr.is-unassigned td{background:#fcf9f0}
.score-review-table .badge{font-size:12px}
.recipient-assigned{font-weight:500;color:#435b7e;font-variant-numeric:tabular-nums}
.recipient-unassigned{color:#a07b35}
.recipient-empty-part{color:#9a8272}
.recipient-roles{color:#9095a0;font-size:12px}
.score-review-note{font-size:13px;line-height:1.85;color:#7c889a;margin-top:13px;margin-bottom:14px}
.score-review-note strong{font-weight:500;color:#61738c}
.score-assignment-alert{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin-bottom:13px;border:1px solid #e9dec0;background:#faf6eb;border-radius:5px;color:#9a7c42;font-size:13px;line-height:1.75}
.score-assignment-alert>.icon{flex-shrink:0;margin-top:3px}
.score-assignment-alert strong{font-weight:600}
.score-review-recipients{display:flex;align-items:center;gap:11px;margin-top:20px;border-top:1px solid #e5e7eb;padding-top:18px;color:#7f8b9d;flex-wrap:wrap;font-size:13px}
.score-review-recipients>span:first-child{display:flex;align-items:center;gap:6px;color:#78869c}
.score-review-recipients strong{font-size:17px;font-weight:550;color:#3b5173}
.score-review-recipients>span:last-child{font-size:12px;margin-left:auto}
.score-draft-status{display:flex;align-items:center;gap:6px;color:#9299a4;font-size:12px;line-height:1.7;padding-top:12px;margin-top:10px}
.score-draft-status>.icon{color:#9aab94}
.score-draft-card{display:flex;align-items:flex-start;gap:14px;border:1px solid #e1e4e8;background:#f6f8fb;border-radius:8px;padding:20px;margin-bottom:20px}
.score-draft-card h3{font-size:16px;color:#344b6b;font-weight:550;line-height:1.6}
.score-draft-card p{font-size:13px;color:#7c8ca2;margin:5px 0 8px}
.score-draft-card>div>span{font-size:12px;color:#98a1af}
.score-resume-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border:1px solid #e0e4ea;background:#f6f8fb;border-radius:6px;margin-bottom:20px}
.score-resume-banner strong{display:block;font-size:14px;font-weight:550;color:#38506e}
.score-resume-banner span{display:block;font-size:12px;color:#8b97a8;line-height:1.8;margin-top:3px}
.score-resume-banner>.btn{font-size:12px;white-space:nowrap}
.score-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.score-preview-caption>div{min-width:0}
.score-preview-caption strong{display:block;font-size:15px;color:#344b70;font-weight:500;overflow-wrap:anywhere}
.score-preview-caption span{display:block;font-size:12px;color:#8a96a9;margin-top:4px;line-height:1.7}
.score-preview-caption>a{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.score-pdf-frame{display:block;width:100%;height:min(58vh,600px);border:1px solid #e0e4e9;border-radius:5px;background:#eeeff2}
.score-pdf-preview .dialog-actions .btn{font-size:14px}
.score-mapping-changes{background:#f7f8fa;border:1px solid #e4e7ec;border-radius:6px;padding:15px 16px;margin-top:20px;color:#8190a4;font-size:13px;line-height:1.8}
.score-mapping-changes>strong{display:block;font-size:14px;font-weight:550;color:#4b6180;margin-bottom:9px}
.score-mapping-changes>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-top:1px solid #e8ebef;font-size:12px}
.score-mapping-changes>div>span:last-child{display:flex;align-items:center;gap:7px;text-align:right;flex-wrap:wrap;justify-content:flex-end}
.score-mapping-changes>div strong{font-weight:500;color:#536d92}
.score-workflow .detail-list>div{font-size:14px;line-height:1.75;gap:20px}
.score-workflow .detail-list>div>span{color:#8994a5;flex-shrink:0}
.score-workflow .detail-list strong{font-weight:500;color:#4c6080;text-align:right}
.sheet .score-review-table{min-width:380px}
.score-workflow .detail-score-hero h2{font-size:23px;color:#2a3b57;line-height:1.5}
.score-workflow .detail-score-hero p{font-size:13px;line-height:1.8;color:#8492a7}
.score-workflow .detail-score-hero .composer{font-size:14px;color:#9a8350}
@media(max-width:700px){
 .score-workflow .steps{gap:5px;margin-bottom:18px}.score-workflow .steps small{font-size:11px}.score-workflow .steps>div{min-width:0;flex:1}.score-workflow .steps>div>span{width:23px;height:23px;font-size:11px}.score-workflow .dialog-description{font-size:14px}.score-workflow .btn{font-size:13px}.score-work-context{padding:12px 13px;font-size:12px;margin-bottom:21px}.score-work-context strong{font-size:13px}.score-work-context>span:first-child{gap:6px}.score-review-target{grid-template-columns:1fr;gap:0}.score-review-heading h3{font-size:15px}.score-review-heading>.btn{font-size:13px}.score-review-table{font-size:13px;min-width:410px}.score-review-table td{font-size:13px;padding:12px 10px}.score-review-table th{font-size:12px;padding:10px}.score-review-note{font-size:12px}.score-review-recipients>span:last-child{width:100%;margin-left:0}.score-assignment-labels{display:none}.score-assignment-row{grid-template-columns:minmax(0,1fr) 106px;gap:10px 13px;padding:15px 3px}.score-assignment-file{grid-column:1/-1;font-size:14px;align-items:flex-start}.score-assignment-file>.icon{margin-top:3px}.score-assignment-file>.icon-btn{margin-top:-3px}.score-assignment-row select{min-height:40px;font-size:14px}.score-assignment-count{font-size:12px}.score-workflow .file-drop{padding:23px 16px}.score-workflow .file-drop>strong{font-size:15px}.score-workflow .file-drop>span{font-size:12px}.score-selected-file strong{font-size:13px}.score-selected-file small{font-size:12px}.score-selected-file>.btn{font-size:12px}.score-file-warning{padding:14px;gap:9px}.score-file-warning strong{font-size:13px}.score-file-warning p{font-size:12px}.score-workflow .distribution-summary h3{font-size:16px}.score-workflow .distribution-summary p{font-size:13px}.score-workflow .distribution-summary>.badge{font-size:11px}.score-workflow .edition-option{padding:16px}.score-workflow .edition-option strong{font-size:14px}.score-workflow .edition-option span,.score-workflow .edition-option small{font-size:12px}.score-workflow .rights-check{font-size:14px}.score-workflow .form-row{grid-template-columns:1fr;gap:0}.score-workflow .form-field input,.score-workflow .form-field select{font-size:14px}.score-preview-caption{align-items:flex-start;flex-wrap:wrap;gap:12px}.score-preview-caption>a{font-size:12px;margin-left:auto}.score-pdf-frame{height:54vh}.score-resume-banner{padding:14px;gap:10px;flex-wrap:wrap}.score-resume-banner>.btn{margin-left:auto}.score-draft-card{padding:17px}.score-draft-card h3{font-size:15px}.score-mapping-changes{padding:13px}.score-mapping-changes>div{flex-direction:column;gap:3px}.score-mapping-changes>div>span:last-child{justify-content:flex-start;text-align:left}.score-workflow .detail-list>div{font-size:13px}.score-workflow .detail-score-hero h2{font-size:21px}.score-workflow .detail-score-hero p{font-size:12px}.score-workflow .dialog-actions{flex-wrap:wrap}.score-workflow .dialog-actions>.btn{min-height:39px}
}
@media(prefers-reduced-motion:reduce){.score-workflow *,.score-workflow *::before,.score-workflow *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.score-pdf-canvas{padding:16px;background:#edf0f5;border:1px solid var(--line);border-radius:5px;max-height:65vh;overflow:auto;min-height:180px}.score-pdf-canvas p{font-size:13px;color:var(--reading-muted);line-height:1.8;margin-bottom:12px}.score-pdf-canvas canvas{display:block;background:white;box-shadow:0 2px 10px #1a2a4d18}.score-pdf-canvas canvas[hidden]{display:none}
/* UX 합의 · 2026-09-27: 휴대폰에서는 파일 하나를 한 묶음으로 읽어 대상 인원이 가로 스크롤에 가려지지 않게 한다. */
@media(max-width:700px){
 .score-review-table,.sheet .score-review-table{display:block;min-width:0;width:100%}
 .score-review-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .score-review-table tbody{display:block}
 .score-review-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line)}
 .score-review-table tr:last-child{border-bottom:0}
 .score-review-table td{display:block;border:0;padding:10px 13px}
 .score-review-table td:first-child{grid-column:1/-1;padding-bottom:0}
 .score-review-table td:before{display:block;font-size:12px;color:var(--reading-muted);margin-bottom:6px}
 .score-review-table td:first-child:before{content:'악보 파일';content:'악보 파일' / ''}
 .score-review-table td:nth-child(2):before{content:'받는 파트';content:'받는 파트' / ''}
 .score-review-table td:last-child:before{content:'대상 인원';content:'대상 인원' / ''}
}
/* 받는 파트 — 파일 하나에 파트 여럿(10-01 · D3-1 시안) */
.part-picker,.part-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.part-chip{display:inline-flex;align-items:center;gap:2px;padding:3px 3px 3px 9px;border:1px solid var(--line);border-radius:4px;background:#fffefa;color:var(--navy);font-size:12px;line-height:1.5;white-space:nowrap}
.part-chip.is-static{padding:3px 9px}
.part-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:3px;background:transparent;color:var(--muted);cursor:pointer}
.part-chip-remove:hover{background:var(--studio);color:var(--navy)}
.part-picker-empty{font-size:12px;color:#b59759}
/*  「+ 파트」 — 줄의 일반 선택 상자 규칙(넓이 100% · 높이 40px)을 덮는다 · 휴대폰은 글자 16px 그대로(iOS 가 작은 칸을 누르면 화면을 키운다) */
.score-assignment-row .part-add select{appearance:none;-webkit-appearance:none;width:auto;min-height:0;border:1px dashed #c9cfd9;border-radius:4px;background:transparent;color:var(--secondary);line-height:1.5;padding:3px 10px;cursor:pointer}
.score-assignment-row .part-add select:hover,.score-assignment-row .part-add select:focus-visible{border-color:var(--navy);color:var(--navy)}
@media (min-width:700px){.score-assignment-row .part-add select{font-size:12px}}

/* D3-2 IMSLP 링크로 배포(10-01 · 시안 승인) */
.link-steps{margin:16px 0 14px;padding-left:20px;color:#55637a;font-size:13.5px;line-height:1.9}
.link-read{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;margin:10px 0 0;border-radius:5px;font-size:13px;line-height:1.7}
.link-read>.icon{flex-shrink:0;margin-top:4px}
.link-read.is-ok{background:#edf3ef;color:#496d58}
.link-read.is-error{background:#f6eeee;color:#8c4a45}
.link-read.is-checking{background:#f4f5f7;color:#5f6b7d}
.link-nc{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin-top:14px;border:1px solid #e9dec0;background:#faf6eb;border-radius:5px;color:#8a6d33;font-size:12.5px;line-height:1.7}
.link-nc>.icon{flex-shrink:0;margin-top:3px}
.link-auto{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;margin:14px 0;border:1px solid #e1e4ea;background:#f7f8fa;border-radius:6px}
.link-auto strong{display:block;font-size:13.5px;color:#263752;font-weight:550}
.link-auto p{margin:3px 0 0;font-size:12.5px;color:#75839a;line-height:1.7}
.link-auto>.icon{flex-shrink:0;margin-top:3px;color:#9b864f}
.part-chip.is-auto{color:#75839a;background:#f7f8fa;border-style:dashed}
.score-workflow .distribution-summary .link-open{margin-left:auto;flex-shrink:0;align-self:center}
@media (max-width:600px){.score-workflow .distribution-summary{flex-wrap:wrap}.score-workflow .distribution-summary .link-open{margin-left:0;width:100%;justify-content:center}}
