/* 운영 콘솔. design/boards 의 5a·1m·1n·2d·2e·2f·3d 기준.
   대회 선택 → 작업 선택 → 대상 선택 → 필요한 값만 입력 → 저장 */

.console-create{width:100%;margin-bottom:var(--sp-5)}
.console-list-help{margin-bottom:var(--sp-4);color:var(--body);font-size:var(--fs-sm);font-weight:700}

/* 대회 선택 */
.console-tournament-list{display:grid;gap:8px}
.console-tournament-card{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  width:100%;text-align:left;padding:var(--sp-5);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);
}
.console-tournament-card b{display:block;font-size:var(--fs-h2)}
.console-tournament-card small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-cap);font-weight:400}

.console-back-list,.console-back{
  border:0;background:none;padding:0;margin-bottom:var(--sp-4);
  color:var(--mint);font-weight:700;font-size:var(--fs-sm);
}
.simple-picker{margin-bottom:var(--sp-5)}

/* 작업 메뉴 */
.console-menu{display:grid;gap:8px}
.console-menu button{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  width:100%;text-align:left;min-height:64px;padding:var(--sp-5);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);
}
.console-menu button[aria-current]{border-color:var(--mint);background:var(--mint-pale)}
.console-menu b{display:block;font-size:var(--fs-lead)}
.console-menu small{display:block;margin-top:2px;color:var(--muted);font-size:var(--fs-cap);font-weight:400}
.console-menu .attention-dot{
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;
  border-radius:var(--r-pill);background:var(--danger);color:#fff;font-size:var(--fs-xs);font-weight:700;
}

.console-task{margin-bottom:var(--sp-4)}
.console-task h2{font-size:var(--fs-title)}
.console-task p{margin-top:3px;color:var(--body);font-size:var(--fs-sm)}
.console-task-body{display:grid;gap:var(--sp-4)}
.console-hint{padding:var(--sp-5);background:var(--soft);border-radius:var(--r-box);color:var(--muted);font-size:var(--fs-cap)}

.simple-panel,.op-panel{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card)}
.op-panel h2{font-size:var(--fs-h1)}
.op-panel>p{color:var(--muted);font-size:var(--fs-cap)}
.op-title{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}

/* 접기 */
.console-extra,.op-existing,.create-extra{border-top:1px solid var(--soft);padding-top:var(--sp-4)}
.console-extra>summary,.op-existing>summary,.create-extra>summary,.op-panel details>summary{
  cursor:pointer;font-weight:700;font-size:var(--fs-sm);color:var(--mint);
}
.console-extra[open]>summary,.create-extra[open]>summary{margin-bottom:var(--sp-4)}

/* 참가자 관리 */
.op-application{padding:var(--sp-5);background:#f9fbfa;border:1px solid var(--line);border-radius:var(--r-box)}
.op-application>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-4)}
.op-application>header b{display:block;font-size:var(--fs-lead)}
.op-application>header small{display:block;margin-top:2px;color:var(--muted);font-size:var(--fs-xs)}
.op-application>header span{display:flex;gap:6px;flex:none}
.op-application .btn{padding:9px 13px;font-size:var(--fs-cap)}
.op-member-tier{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--soft)}
.op-member-tier span{display:grid;min-width:0}
.op-member-tier b{font-size:var(--fs-sm)}
.op-member-tier small{color:var(--muted);font-size:var(--fs-xs)}
.op-member-tier select{width:104px;margin:0;flex:none}

/* 조 편성 */
.op-line,.op-group{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;border-top:1px solid var(--soft);font-size:var(--fs-sm)}
.op-line small,.op-group small{color:var(--muted);margin-right:auto}
.op-group button{border:0;background:none;color:var(--mint);font-weight:700;font-size:var(--fs-cap)}
.op-select{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--soft);font-size:var(--fs-sm);font-weight:700}
.op-select select{max-width:136px;margin:0}

/* 경기 입력 */
.op-match{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.op-match label{font-size:var(--fs-xs)}
.op-scores{grid-column:1/-1;display:grid;gap:var(--sp-2);color:var(--muted);font-size:var(--fs-xs);font-weight:700}
.op-scores input{width:62px;height:48px;display:inline-block;margin:0 4px;text-align:center;font-size:var(--fs-lead)}
.op-match .btn{grid-column:1/-1}

/* 순위 확정 */
.standing-form{display:grid;gap:var(--sp-3);padding:var(--sp-4) 0;border-top:1px solid var(--soft)}
.standing-form b{font-size:var(--fs-body)}

/* 접수 열기·닫기 */
.quick-status{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5);background:var(--mint-pale);border-radius:var(--r-box)}
.quick-status h3{font-size:var(--fs-body)}
.quick-status p{margin-top:2px;color:var(--mint-dark);font-size:var(--fs-cap)}

/* 위험 구역 */
.danger-zone{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--danger-bg);border:1px solid #f4c7c3;border-radius:var(--r-card)}
.danger-zone h2{font-size:var(--fs-h2);color:var(--danger)}
.danger-zone p{color:#7a2a22;font-size:var(--fs-cap)}

.operator-scope,.operator-empty{margin-top:var(--sp-4);color:var(--muted);font-size:var(--fs-cap)}
.admin-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:var(--sp-5)}
.admin-tabs button{flex:none;padding:9px 15px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--paper);color:var(--body);font-weight:700;font-size:var(--fs-sm)}
.admin-tabs button.active{background:var(--mint);border-color:var(--mint);color:#fff}

/* 확인 시트 */
.confirm-dialog{display:grid;justify-items:center;gap:var(--sp-3);text-align:center}
.confirm-dialog-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--mint-pale);color:var(--mint-dark);font-weight:700;font-size:var(--fs-h1)}
.confirm-dialog-icon.danger{background:var(--danger-bg);color:var(--danger)}
.confirm-dialog h2{font-size:var(--fs-h1)}
.confirm-dialog p{color:var(--body);font-size:var(--fs-sm);white-space:pre-line}
.confirm-dialog footer{display:flex;gap:8px;width:100%;margin-top:var(--sp-4)}
.confirm-dialog footer .btn{flex:1}

/* 운영진 권한 요청 */
.role-request-card,.role-request-row{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:var(--sp-4)}
.role-request-card h2{font-size:var(--fs-h1)}
.role-request-card p{color:var(--body);font-size:var(--fs-sm)}
.review-note{color:var(--muted);font-size:var(--fs-cap)}

/* 파트너 */
.partner-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--soft)}
.partner-row b{flex:1;min-width:0;font-size:var(--fs-body)}
.partner-row small{color:var(--muted);font-size:var(--fs-cap)}
.partner-search{display:grid;gap:var(--sp-4)}

/* 프로필 온보딩 */
.profile-onboarding{display:grid;gap:var(--sp-5)}
.profile-onboarding-head{margin:calc(var(--sp-7) * -1) calc(var(--gutter) * -1) 0;padding:var(--sp-7) var(--gutter);background:var(--mint-dark);color:#fff}
.profile-onboarding-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.16);font-weight:700;font-size:var(--fs-h1)}
.profile-onboarding-head span{display:block;margin-top:var(--sp-5);font-weight:700;font-size:var(--fs-cap);color:#a9d6c8}
.profile-onboarding-head h1{margin-top:var(--sp-1);font-size:26px;line-height:1.3}
.profile-onboarding-head p{margin-top:var(--sp-3);color:#a9d6c8;font-size:var(--fs-sm)}
.profile-editor{display:grid;gap:var(--sp-5)}
.profile-form-section{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card)}
.profile-form-section>header{display:flex;align-items:center;gap:var(--sp-4)}
.profile-form-section>header i{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--mint);color:#fff;font-style:normal;font-weight:700;font-size:var(--fs-xs)}
.profile-form-section>header b{display:block;font-size:var(--fs-lead)}
.profile-form-section>header small{display:block;color:var(--muted);font-size:var(--fs-cap)}
.profile-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.profile-field small{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.profile-required-note{padding:var(--sp-5);background:var(--soft);border-radius:var(--r-box)}
.profile-required-note b{display:block;margin-bottom:4px;font-size:var(--fs-sm)}
.profile-required-note p{color:var(--muted);font-size:var(--fs-cap)}

/* 선택지가 둘 이상인 확인 시트 (기획서 8장 후속 경기 처리) */
.choice-dialog p{white-space:pre-line}
.choice-list{display:grid;gap:8px;width:100%;margin-top:var(--sp-4)}
.choice-list button.btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;padding:var(--sp-5);text-align:left;width:100%}
.choice-list button.btn span{display:block;font-size:var(--fs-body);line-height:1.35}
.choice-list button.btn small{display:block;font-weight:400;font-size:var(--fs-cap);opacity:.85;line-height:1.4}
.choice-dialog footer{width:100%}
