/* 3단계: 훈련 목록·엑셀 올리기·지상훈련 */
.row .dd{flex:none;min-width:62px;height:44px;border-radius:12px;background:var(--black);color:var(--gold);display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:-.02em;padding:0 8px}
.row .dd.g{background:var(--gold-soft);color:var(--gold-ink)}
.row.gr{cursor:default;box-shadow:none;background:var(--panel)}
.daycard .row{margin-top:8px;box-shadow:none;background:var(--panel)}
.daycard .row:hover{box-shadow:0 0 0 1.5px var(--black)}
.daycard .hh{margin-bottom:0}

/* 엑셀 올리기 */
.nrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.nrow.head{border-top:0;font-size:12px;color:var(--mute);padding-bottom:0}
.nrow .nm{width:72px;font-weight:700;font-size:15px;flex:none}
.nrow .cnt{width:60px;flex:none}
.nrow .nsel{display:flex;gap:8px;flex:1;min-width:220px;flex-wrap:wrap}
.nrow select,.nrow input,.rowbulk input{height:44px;border-radius:var(--r-md);border:1.5px solid transparent;background:var(--panel);padding:0 12px;outline:0;min-width:0}
.nrow select{flex:1;min-width:160px}
.nrow input{flex:1;min-width:120px}
.rowbulk{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}
.rowbulk input{flex:1;min-width:160px}
.nrow select:focus,.nrow input:focus,.rowbulk input:focus{border-color:var(--black);background:#fff}
.day.off{opacity:.5}
.dh{cursor:pointer;margin-bottom:0}
.dh .bd{display:flex;align-items:center;gap:8px}
.dbody{margin-top:8px}
.sess{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.sess:first-child{border-top:0;margin-top:0;padding-top:0}
.shd{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.shd b{font-size:16px}
.att{margin:8px 0 12px}
.att>label{display:block;font-size:13px;font-weight:600;color:var(--mute);margin-bottom:6px}
.alert.note{background:var(--panel);color:var(--ink-2)}
.sets{display:flex;flex-direction:column}
.srow{display:grid;grid-template-columns:28px minmax(0,1fr) 110px 90px;gap:8px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.srow:first-child{border-top:0}
.srow .no{width:24px;height:24px;border-radius:8px;background:var(--panel);display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:10px}
.srow .sn b{display:block;font-size:15px;line-height:22px;letter-spacing:-.02em;margin-top:8px}
.srow .sn .cnt{display:block;margin-top:2px;width:auto}
.srow select{height:44px;border-radius:var(--r-md);border:0;background:var(--panel);padding:0 10px;outline:0;font-size:14px;width:100%}
.wn{display:block;font-size:12px;margin-top:4px;color:var(--amb-ink);line-height:18px}
.wn.skip{color:var(--red-ink)}
.ck.mini{min-height:32px;font-size:12px;display:inline-flex;margin-left:6px}
.ck.mini input{width:16px;height:16px}
.barsave{position:sticky;bottom:12px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--black);color:#fff;border-radius:var(--r-xl);padding:12px 12px 12px 20px;margin-top:24px;box-shadow:0 8px 24px rgba(13,13,15,.25)}
.barsave .tx b{display:block;font-size:15px}
.barsave .tx span{display:block;font-size:12px;color:rgba(255,255,255,.7)}
.barsave .btn.blue{background:var(--gold);color:var(--black)}
.barsave .btn.blue i{color:var(--black)}

/* 세션 상세: 바퀴 보기 */
.srow .lapbox{grid-column:1/-1}
.srow>.btn{grid-column:2/-1;justify-self:start}
.laptab{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 4px}
.lp{display:inline-flex;align-items:baseline;gap:6px;background:var(--panel);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600}
.lp i{font-style:normal;font-size:11px;color:var(--mute);min-width:14px}
.lp small{font-size:11px;color:var(--mute);font-weight:500}
.lp.sum{background:var(--gold-soft);color:var(--gold-ink)}

@media (max-width:700px){
  .srow{grid-template-columns:28px minmax(0,1fr)}
  .srow select{grid-column:2;width:100%}
  .nrow .nm{width:auto}
  .barsave{bottom:76px}
}

.barsave .btn{flex:none;white-space:nowrap}
.barsave .tx{flex:1;min-width:0}

/* 선수 프로필 아이콘(스케이터 선 그림 + 등번호) */
.avt{position:relative;display:inline-grid;place-items:center;flex:none;width:var(--s,48px);height:var(--s,48px);border-radius:calc(var(--s,48px) * .3);background:var(--black)}
.avt svg{display:block}
.avt .jno{position:absolute;right:-8px;top:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--gold);color:var(--black);font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid var(--card);letter-spacing:-.02em}
.row .avt{margin-right:6px}
.pf .avt{margin-right:6px}
.avrow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.avprev{flex:none;padding:6px 10px 6px 0}
.avgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;flex:1;min-width:260px}
.avopt{display:grid;place-items:center;height:60px;border-radius:16px;background:var(--panel);box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .15s ease}
.avopt.on{box-shadow:inset 0 0 0 2.5px var(--black);background:#fff}
.avopt .avt{border-radius:14px}
.swatch{width:44px;height:44px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 3px var(--card),0 0 0 1.5px var(--line);flex:none}
.swatch.on{box-shadow:inset 0 0 0 3px var(--card),0 0 0 3px var(--black)}
@media (max-width:700px){.avgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.sts b{overflow:hidden;text-overflow:ellipsis}

.swatch.used{opacity:.28}
.swatch:disabled{cursor:not-allowed}
.swatch.used.on{opacity:1}
