/* Панель управления курсом.
   Та же дизайн-система, что в кабинете (system.css даёт токены и стекло),
   но плотнее: здесь работают, а не изучают. Меньше воздуха, крупнее списки,
   всё действие — в один клик без переходов между экранами. */

body{padding-bottom:80px}
.aw{width:100%;max-width:1100px;margin:0 auto;padding:0 clamp(16px,3vw,32px)}

/* ── шапка панели ── */
.ahead{display:flex;align-items:center;gap:var(--s4);padding:20px 0 18px;flex-wrap:wrap}
.ahead .mark{width:34px;height:34px;flex:none;display:grid;place-items:center}
.ahead .mark img{height:34px;width:auto;display:block}
.ahead h1{font-family:var(--font-head);font-size:17px;font-weight:700;letter-spacing:-.01em}
.ahead .sub{font-size:12px;color:var(--muted);margin-top:2px}
.ahead .sp{margin-left:auto}
.ahead .who{font-size:13px;color:var(--ink2)}
.ahead .quiet{border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:12.5px;padding:6px}
.ahead .quiet:hover{color:var(--ink)}

/* ── вход ── */
/* Пока панель не открыта, на экране одна карточка — ей место по центру,
   а не прижатой к верху: смотреть выше и ниже нечего. */
body.vhod .aw{min-height:100svh;display:grid;place-items:center;padding-block:var(--s6)}
.enter{width:100%;max-width:420px;margin:0;border-radius:var(--r-xl);padding:var(--s7)}
.enter h2{font-family:var(--font-head);font-size:26px;font-weight:700;letter-spacing:-.02em}
.enter p{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ink2)}
.enter label{display:block;margin:var(--s5) 0 7px;font-size:12px;font-weight:650;color:var(--sub);
  letter-spacing:.06em;text-transform:uppercase}
.enter .box{display:flex;align-items:center;gap:8px;height:50px;padding:0 15px;border-radius:14px;
  border:1px solid var(--chip-line);background:var(--chip-bg)}
.enter .box:focus-within{border-color:var(--open-line)}
.enter .box span{color:var(--muted)}
.enter input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:15px}
.enter .btn{width:100%;justify-content:center;margin-top:var(--s5);height:50px}
.enter .note{margin-top:12px;font-size:12px;min-height:1.2em}
.enter .note.bad{color:var(--alarm-ink)}
.enter .note.ok{color:var(--ok-ink)}
.codes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.codes input{height:52px;text-align:center;font-size:19px;font-weight:700;border-radius:12px;
  border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--ink)}

/* ── ступени и уроки ── */
.stage-h{display:flex;align-items:baseline;gap:var(--s3);margin:var(--s7) 0 var(--s3)}
.stage-h h2{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:-.02em}
.stage-h .cnt{font-family:var(--mono);font-size:12px;color:var(--muted)}
.stage-h .sp{margin-left:auto}

.rows{display:flex;flex-direction:column;gap:8px}
.row{display:flex;align-items:center;gap:var(--s4);padding:14px 16px;border-radius:var(--r-m);
  border:1px solid var(--chip-line);background:var(--pane);cursor:pointer;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.row:hover{border-color:var(--open-line);transform:translateX(2px)}
.row .num{font-family:var(--mono);font-size:12px;color:var(--muted);width:26px;flex:none}
.row .tx{flex:1;min-width:0}
.row .tx b{display:block;font-size:14.5px;font-weight:650}
.row .tx i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .meta{display:flex;align-items:center;gap:8px;flex:none}

.tag{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;
  font-size:11.5px;font-weight:650;white-space:nowrap;color:var(--chip-ink);
  border:1px solid var(--chip-line);background:var(--chip-bg)}
.tag.on{color:var(--ok-ink);background:var(--chip-on);border-color:transparent}
.tag.warn{color:var(--alarm-ink);background:var(--alarm-bg);border-color:var(--alarm-line)}

/* ── правка урока ── */
.edit{margin-top:8px;border-radius:var(--r-l);padding:var(--s6);border:1px solid var(--open-line)}
.edit .fld{margin-bottom:var(--s4)}
.edit label{display:block;font-size:12px;font-weight:650;color:var(--sub);margin-bottom:7px;
  letter-spacing:.06em;text-transform:uppercase}
.edit input[type=text],.edit textarea{width:100%;border-radius:12px;padding:12px 14px;
  border:1px solid var(--chip-line);background:var(--chip-bg);color:var(--ink);font:inherit;font-size:14.5px}
.edit textarea{min-height:80px;resize:vertical;line-height:1.5}
.edit input:focus,.edit textarea:focus{border-color:var(--open-line)}
.edit .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
@media (max-width:640px){ .edit .two{grid-template-columns:1fr} }

.drop{display:flex;align-items:center;gap:var(--s4);padding:16px;border-radius:14px;
  border:1.5px dashed var(--chip-line);background:var(--chip-bg);cursor:pointer;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.drop:hover,.drop.over{border-color:var(--blue);background:var(--blue-soft)}
.drop .tx{flex:1;min-width:0}
.drop .tx b{display:block;font-size:14px;font-weight:650}
.drop .tx i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:2px}
.drop{position:relative;padding:13px 14px}
.drop.has{border-style:solid;border-color:var(--open-line);background:var(--pane)}
.drop .x{position:absolute;top:6px;right:8px;width:24px;height:24px;border:0;border-radius:50%;
  background:none;color:var(--muted);font-size:17px;line-height:1;cursor:pointer}
.drop .x:hover{color:var(--alarm-ink);background:var(--alarm-bg)}
.drop input[type=file]{display:none}

.acts{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}
.acts .sp{margin-left:auto}
.acts .note{font-size:12.5px}
.acts .note.ok{color:var(--ok-ink)}
.acts .note.bad{color:var(--alarm-ink)}
.danger{color:var(--alarm-ink) !important;border-color:var(--alarm-line) !important;
  background:var(--alarm-bg) !important}
.hide{display:none !important}

/* ── навигация панели ── */
.anav{display:flex;gap:4px;margin-left:var(--s5)}
.anav a{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:999px;
  font-size:13.5px;font-weight:560;color:var(--ink2);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.anav a:hover{background:var(--hover-bg);color:var(--ink)}
.anav a[aria-current="page"]{color:var(--ink);background:var(--seg-on);font-weight:640}
@media (max-width:640px){ .anav{margin-left:0;order:5;width:100%} }

/* ── участники ── */
.tools{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin:var(--s6) 0 var(--s4)}
.tools .find{flex:1 1 260px;display:flex;align-items:center;gap:9px;height:44px;padding:0 14px;
  border-radius:14px;border:1px solid var(--chip-line);background:var(--chip-bg)}
.tools .find:focus-within{border-color:var(--open-line)}
.tools .find svg{color:var(--sub);flex:none}
.tools .find input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:14.5px}
.tools .cnt{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}

.plist{display:flex;flex-direction:column;gap:6px}
.pline{display:flex;align-items:center;gap:var(--s4);padding:12px 16px;border-radius:var(--r-m);
  border:1px solid var(--chip-line);background:var(--pane);cursor:pointer;
  transition:border-color var(--dur) var(--ease)}
.pline:hover{border-color:var(--open-line)}
.pline .who{flex:1 1 220px;min-width:0}
.pline .who b{display:block;font-size:14.5px;font-weight:650}
.pline .who i{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pline .cell{flex:0 0 auto;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.pline .prog{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}
@media (max-width:820px){ .pline .cell.hidesm{display:none} }

/* карточка участника */
.card-p{margin-top:8px;border-radius:var(--r-l);padding:var(--s6);border:1px solid var(--open-line)}
.card-p h3{font-family:var(--font-head);font-size:15px;font-weight:700;margin:var(--s5) 0 var(--s3)}
.card-p h3:first-child{margin-top:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s3) var(--s5)}
.facts div{font-size:13.5px}
.facts span{display:block;font-size:11.5px;color:var(--sub);text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:3px}
.mini{display:flex;flex-direction:column;gap:2px;margin-top:var(--s3)}
.mini .r{display:flex;align-items:center;gap:var(--s3);padding:9px 2px;font-size:13.5px}
.mini .r + .r{border-top:1px solid var(--hair)}
.mini .r .t{flex:1;min-width:0}
.mini .r .d{font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}
.sel{height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--chip-line);
  background:var(--chip-bg);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
