/* Challenges — admin panel extras (loads after app.css). */
.small{font-size:13px}
.center{text-align:center}
.login{max-width:420px;margin:60px auto 0;padding:28px;display:flex;flex-direction:column;gap:14px}
.login h1{font-size:28px;font-weight:900}

.adm-tabs{position:sticky;top:61px;z-index:29;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
.adm-tabs-in{max-width:1280px;margin:0 auto;display:flex;gap:6px;overflow-x:auto;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));scrollbar-width:none}
.adm-tabs a{white-space:nowrap;text-decoration:none;color:var(--text);font-weight:800;padding:9px 15px;border-radius:12px;border:1px solid transparent;display:flex;align-items:center;gap:6px}
.adm-tabs a:hover{background:var(--surface2)}
.adm-tabs a[aria-current="page"]{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.adm-tabs .n{background:#ff3d6e;color:#fff;border-radius:99px;font-size:12px;padding:1px 8px;font-weight:900}
.adm-tabs a[aria-current="page"] .n{background:#fff;color:var(--accent)}
.adm-head{margin:22px 0 12px}
.adm-head h1{font-size:30px;font-weight:900}

.chips,.quick{display:flex;gap:8px;flex-wrap:wrap}
.chips{margin-bottom:14px}
.chip{border:1px solid var(--border);background:var(--glass);border-radius:999px;padding:8px 14px;font-weight:800;font-size:14px}
.chip.on{background:var(--text);color:var(--bg);border-color:transparent}
.chip.sm{padding:4px 10px;font-size:12.5px;font-weight:700}
.chip:hover{border-color:var(--accent)}

.rv-list{display:flex;flex-direction:column;gap:14px}
.rv{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:16px;border-left:6px solid var(--cat)}
.rv-card .ccard{cursor:default}
.rv-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.rv-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rv-who .av{width:40px;height:40px;font-size:24px}
.rv-who b{font-family:var(--round);font-size:19px}
.work{display:flex;flex-direction:column;gap:10px}
.thumbs{display:flex;gap:10px;flex-wrap:wrap}
.thumbs img{width:128px;height:128px;object-fit:contain;border-radius:12px;background:#eef2fb;border:1px solid var(--border);cursor:zoom-in}
.facts.left{justify-content:flex-start}
.note{padding:10px 14px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);white-space:pre-line}
.row-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row-btns.col{flex-direction:column;align-items:stretch}
.score-ed{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px dashed var(--border)}
.score-ed textarea{border:2px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:15px;resize:vertical}
.score-ed textarea:focus{outline:none;border-color:var(--accent)}
.scores{display:grid;grid-template-columns:repeat(11,minmax(36px,1fr));gap:6px;max-width:620px}
.sc{height:46px;border-radius:12px;border:2px solid var(--border);background:var(--surface2);font-family:var(--round);font-weight:900;font-size:19px;transition:.1s}
.sc:hover{border-color:var(--gold)}
.sc.on{background:linear-gradient(160deg,#fff3b8,#ffc93c 60%,#f0a400);color:#4a2c00;border-color:#f0a400;transform:scale(1.06)}
.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}
.time-sm,.num{width:90px!important;min-height:40px;border:2px solid var(--border);background:var(--surface);border-radius:10px;padding:6px 10px;font-size:16px}
.color{width:90px;height:46px;border:2px solid var(--border);border-radius:10px;background:var(--surface);padding:3px}

.legend{color:var(--muted);font-size:14px;margin-bottom:10px}
.table-wrap{overflow:auto;padding:0;max-height:75vh}
.grid-t{border-collapse:separate;border-spacing:0;width:100%;font-size:15px}
.grid-t th,.grid-t td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}
.grid-t thead th{position:sticky;top:0;background:var(--surface);z-index:2;font-family:var(--round);font-weight:900}
.grid-t thead th.cc{border-top:5px solid var(--cat)}
.grid-t .sticky{position:sticky;left:0;background:var(--surface);z-index:1;text-align:left}
.grid-t thead .sticky{z-index:3}
.grid-t .who{display:flex;align-items:center;gap:8px;font-weight:800}
.grid-t .who .av{width:30px;height:30px;font-size:18px}
.grid-t .cell{cursor:pointer;min-width:46px;font-weight:900;font-family:var(--round);font-size:17px}
.grid-t .cell:hover{background:var(--surface2)}
.grid-t .cell.s-approved{color:#4a2c00;background:color-mix(in srgb,#ffc93c 55%,transparent)}
.grid-t .cell.s-done{background:color-mix(in srgb,var(--warn) 18%,transparent)}
.grid-t .cell.s-redo{background:color-mix(in srgb,var(--danger) 16%,transparent)}
.grid-t .pts{font-weight:900;color:var(--gold);font-family:var(--round);font-size:18px}
.cell-wrap{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.cell-dlg{display:flex;flex-direction:column;gap:12px;min-width:0}
.danger-zone{padding-top:10px;border-top:1px dashed var(--border)}

.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px}
.st-list{display:flex;flex-direction:column;gap:8px}
.st-row{display:grid;grid-template-columns:48px minmax(120px,1fr) 90px auto auto;align-items:center;gap:12px;padding:10px 14px}
.st-row .av{width:44px;height:44px;font-size:26px}
.st-name{display:flex;flex-direction:column;line-height:1.2}
.st-name b{font-family:var(--round);font-size:18px}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:17px;font-weight:700;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:4px 10px;text-align:center}
.st-pts{color:var(--muted);font-weight:750;white-space:nowrap}
.code-field{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:800;text-transform:lowercase;max-width:140px}
.avatars.small{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}
.avatars.small button{font-size:26px;height:50px;border-radius:12px}

.deck-ed{padding:16px;margin-top:16px;border-left:6px solid var(--cat)}
.deck-ed-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.deck-ed-head .ico{font-size:28px}
.deck-ed-head h2{font-size:22px;font-weight:900}
.card-rows{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.card-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:8px;border-radius:14px;background:var(--surface2);border:1px solid var(--border)}
.card-row.off{opacity:.55}
.cr-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.cr-txt b{font-family:var(--round);font-size:17px}

.form{display:flex;flex-direction:column;gap:12px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.form .fld input:not([type=checkbox]):not([type=radio]):not([type=color]),.form .fld select,.form .fld textarea{width:100%}
.form .fld input.num{width:90px!important}
.check{display:flex;align-items:center;gap:8px;font-weight:650;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--accent)}
.sec h2{margin-bottom:4px}
.form.sec{margin-bottom:16px}
dialog.dlg.wide{width:min(1020px,calc(100vw - 24px))}
.ed{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}
.ed-prev{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.ed-prev .ccard{--w:280px}
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}
.art-pick{aspect-ratio:1;border-radius:12px;border:2px solid var(--border);background:#eef2fb;padding:4px}
.art-pick img{width:100%;height:100%;object-fit:contain;display:block}
.art-pick.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.stage.tall{height:min(60vh,520px)}
.print-box{padding:16px 18px;margin-top:4px;display:flex;flex-direction:column;gap:10px;border:2px dashed color-mix(in srgb,var(--accent) 40%,var(--border))}
.print-box h2{font-size:21px;font-weight:900}
.print-opts{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.print-opts .fld select{min-width:170px}
.print-box .btn small{font-weight:600;opacity:.8}

@media (max-width: 860px){
  .ed{grid-template-columns:1fr}
  .ed-prev{position:static}
  .ed-prev .ccard{--w:220px}
  .cell-wrap{grid-template-columns:1fr}
  .cell-wrap>.ccard{display:none}
}
@media (max-width: 640px){
  .rv{grid-template-columns:1fr}
  .rv-card{display:none}
  .scores{grid-template-columns:repeat(6,1fr)}
  .st-row{grid-template-columns:44px 1fr auto;row-gap:6px}
  .st-row .st-pts{grid-column:2/4}
  .st-row .row-btns{grid-column:1/-1}
  .form .two,.form .three{grid-template-columns:1fr}
  .card-row{grid-template-columns:auto 1fr}
  .card-row .row-btns{grid-column:1/-1;flex-direction:row}
}
