/* UX 합의 · 2026-09-27: 현재 작업 그룹을 항상 드러내고, 메뉴 간 동일한 범위를 유지한다. */
:root{--workspace-top:65px;--context-height:64px}#work-context{position:sticky;top:var(--workspace-top);z-index:18}.work-context-bar{min-height:var(--context-height);padding:11px 37px;border-bottom:1px solid var(--line);background:#f4f5f7;display:flex;align-items:center;gap:13px}.work-context-bar>label{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:13px;white-space:nowrap}.work-context-bar select{max-width:270px;min-height:39px;padding:7px 32px 7px 12px;color:var(--navy);border:1px solid var(--line);border-radius:4px;background:#fffefa;font-size:14px}.work-context-bar>span{font-size:12px;color:var(--muted);flex:1}.work-context-bar>.btn{white-space:nowrap}.summary-scope-label{font-size:12px;color:var(--muted);margin-bottom:12px}.has-work-context .members-sticky-tools{top:calc(var(--workspace-top) + var(--context-height))}
/* UX 합의 · 2026-09-27: 긴 명단에서는 검색·정렬·선택 작업을 잃지 않고 표 제목을 보며 편집한다. */
.members-sticky-tools{position:sticky;top:var(--workspace-top);z-index:12;background:var(--bg);padding-top:12px;padding-bottom:1px;border-bottom:1px solid var(--line);margin-bottom:18px}.members-sticky-tools .table-toolbar{margin:0 0 13px;gap:14px;flex-wrap:wrap}.members-sticky-tools .toolbar-right{gap:12px;flex-wrap:wrap}.member-sort-label{display:flex;align-items:center;gap:8px}.member-sort-label>span{font-size:12px;color:var(--muted)}.members-sticky-tools #selection-bar:empty{display:none}.members-sticky-tools .selection-bar{margin:0 0 12px;gap:12px}.member-scroll-region{max-height:64vh;overflow:auto;scrollbar-gutter:stable;scroll-padding-top:55px;overscroll-behavior:contain}.member-scroll-region table{border-collapse:separate;border-spacing:0}.member-scroll-region thead th{position:sticky;top:0;z-index:2;background:#edf0f6;box-shadow:0 1px 0 var(--line);height:51px}.member-scroll-region tbody tr:last-child td{border-bottom:0}.member-scroll-region:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.group-change-summary{background:var(--studio);border:1px solid var(--line);border-radius:4px;padding:17px 19px;margin:20px 0;color:var(--navy)}.group-change-summary>strong{font-size:15px;font-weight:600}.group-change-summary p{font-size:13px;color:var(--secondary);line-height:1.8;margin-top:9px}.group-change-summary>small{display:block;font-size:12px;color:var(--muted);margin-top:9px}.sheet .dialog-actions{position:sticky;bottom:-24px;background:#fffefa;z-index:3;padding-top:18px;padding-bottom:15px;border-top:1px solid var(--line)}
/* UX 합의 · 2026-09-27: 자동 보관·실패·재시도 상태는 주변 문맥을 지우지 않는 인라인 안내로 표시한다. */
#workspace-status:empty{display:none}.connection-banner,.draft-resume-bar{display:flex;align-items:center;flex-wrap:wrap;gap:13px;border:1px solid var(--line);border-radius:5px;margin-bottom:22px;padding:17px 20px;font-size:13px;color:var(--navy);background:var(--studio)}.connection-banner{background:#f3ead6;border-color:#ddcca3}.connection-banner>span{flex:1;line-height:1.7}.draft-resume-bar>span{display:flex;gap:9px;align-items:center;font-weight:500}.draft-resume-bar>div{display:flex;gap:7px;flex-wrap:wrap;flex:1}.draft-resume-bar small{width:100%;font-size:12px;color:var(--muted)}.draft-resume-bar .btn{max-width:100%;white-space:normal;text-align:left;line-height:1.6}.draft-editor-status{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 17px;margin-bottom:23px;background:var(--studio);border-radius:4px;color:var(--secondary);font-size:12px;line-height:1.8}.save-feedback{display:flex;align-items:center;gap:12px;padding:16px;margin-top:18px;border-radius:4px;border:1px solid var(--line);font-size:13px;line-height:1.8}.save-feedback>span{flex:1}.save-feedback.pending{background:var(--studio);color:var(--navy)}.save-feedback.error{background:#f7ede8;border-color:#dbc2b6;color:#854831}.save-feedback.success{background:var(--studio);color:var(--navy)}.save-feedback .btn{white-space:nowrap}.save-feedback.pending .icon{animation:saving-rotate 1.2s linear infinite}.prototype-state-tools{border:1px solid var(--line);padding:17px;margin:24px 0;border-radius:4px}.prototype-state-tools summary{cursor:pointer;color:var(--navy);font-size:14px}.prototype-state-tools p{margin-top:15px;font-size:13px}.prototype-state-tools .dialog-actions{justify-content:flex-start}form[aria-busy=true]{opacity:.85}.modal .dialog-body,.sheet .dialog-body{scroll-padding-bottom:90px}button,input,select,textarea{scroll-margin-top:calc(var(--workspace-top) + var(--context-height) + 140px)}
@keyframes saving-rotate{to{transform:rotate(360deg)}}
@media(max-width:1100px){.work-context-bar{padding-left:28px;padding-right:28px}.work-context-bar>span{display:none}.work-context-bar select{flex:1;max-width:none}.members-sticky-tools .search-field{flex:1;min-width:220px}}
@media(max-width:700px){:root{--workspace-top:60px;--context-height:66px}.work-context-bar{padding:10px 20px;gap:8px}.work-context-bar>label{font-size:0;gap:0}.work-context-bar>label .icon{width:20px;height:20px}.work-context-bar select{font-size:13px;max-width:calc(100% - 135px);flex:1;min-width:0}.work-context-bar>.btn{font-size:12px;padding:8px;min-height:44px}.members-sticky-tools{position:relative;top:auto!important}.member-scroll-region{max-height:62vh}.members-sticky-tools .toolbar-right{width:100%;justify-content:space-between;gap:9px}.member-sort-label>span{display:none}.members-sticky-tools .selection-bar .btn{font-size:12px;padding:8px}.draft-resume-bar,.connection-banner{padding:15px}.draft-resume-bar>div{flex-basis:100%}.draft-editor-status{align-items:flex-start;flex-direction:column}.save-feedback{align-items:flex-start;flex-wrap:wrap}.save-feedback>.btn{margin-left:30px}.sheet .dialog-actions{bottom:-18px}.work-context-bar select:only-child{max-width:none}}
@media(prefers-reduced-motion:reduce){.save-feedback.pending .icon{animation:none}}

.members-toolbar [hidden] { display: none !important; }

/* ★D4 — 계약이 읽기 전용(일시 정지 · 시작 전 · 끝난 뒤 읽기 기간)일 때: 위 한 줄 띠 · 잠긴 쓰기 단추(대표님 10-01 「이대로 가자」 · 미리 보기 그대로) */
.phase-banner{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin:0 0 16px;border:1px solid #e9dec0;background:#faf6eb;border-radius:5px;color:#8a6d33;font-size:13px;line-height:1.7}
.phase-banner svg{flex:none;margin-top:3px}
.is-phase-locked{opacity:.42;cursor:not-allowed!important}
