/* ===========================================================
   MAX3 Momentum OS — Progress section styles
   Scoped under .progress. pg- prefixed classes; reuses the global
   sk- chrome (toolbar / drawer / sections / help) from schedule.css.
   Dark/utilitarian brand; lime is the only loud accent.
   =========================================================== */
.progress{display:flex;flex-direction:column;min-width:0;flex:1;min-height:0;overflow:hidden;height:100%}
.progress .sk-body{padding:0}

/* small shared bits */
.pg-tape-sw{width:11px;height:11px;border-radius:3px;flex:0 0 auto;border:1px solid rgba(255,255,255,.18)}
.pg-sec-lab{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);
  margin:20px 0 10px;display:flex;align-items:baseline;gap:8px}
.pg-sec-lab b{color:var(--m3-text);text-transform:none;letter-spacing:-.2px;font-size:13px}
.pg-sec-lab span{font-weight:600;text-transform:none;letter-spacing:0;font-size:11px;color:var(--m3-text-3)}

/* stepper (season count / min attendance / thresholds) */
.pg-minatt{display:flex;align-items:center;gap:9px}
.pg-step{width:28px;height:28px;border-radius:7px;border:1px solid var(--m3-line);background:var(--m3-surface-3);color:var(--m3-text);
  font-size:16px;font-weight:800;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.pg-step:hover{border-color:var(--m3-gray)}
.pg-minatt-n{font-size:20px;font-weight:800;font-family:var(--mono);min-width:30px;text-align:center}
.pg-minatt-l{font-size:11.5px;color:var(--m3-text-3);font-weight:600;margin-left:4px}

/* =========================================================
   CURRICULUM BUILDER
   ========================================================= */
.pg-cur{padding:18px 20px 40px;max-width:1180px}

/* global settings strip */
.pg-globals{display:flex;align-items:stretch;gap:22px;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:13px;padding:15px 18px}
.pg-glob-item{display:flex;flex-direction:column;gap:9px}
.pg-glob-lab{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3)}
.pg-glob-sep{width:1px;background:var(--m3-line);align-self:stretch}
.pg-offsets{display:flex;gap:8px;flex-wrap:wrap}
.pg-offset{display:flex;align-items:center;gap:7px;background:var(--m3-surface-3);border:1px solid var(--m3-line);
  border-radius:8px;padding:6px 10px}
.pg-off-l{font-size:11.5px;font-weight:700;color:var(--m3-text-2)}
.pg-off-eq{font-size:9.5px;font-weight:700;color:var(--m3-text-3);text-transform:uppercase}
.pg-off-n{font-size:12.5px;font-weight:800;font-family:var(--mono);color:var(--m3-text)}

/* season cards */
.pg-seasons{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.pg-seasoncard{position:relative;text-align:left;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:12px;padding:13px 15px;cursor:pointer;transition:.12s;display:flex;flex-direction:column;gap:6px}
.pg-seasoncard:hover{border-color:var(--m3-gray)}
.pg-seasoncard.sel{border-color:var(--m3-lime);box-shadow:0 0 0 1px var(--m3-lime),0 0 0 4px var(--m3-lime-wash)}
.pg-seasoncard.done{opacity:.72}
.pg-se-top{display:flex;align-items:center;gap:8px}
.pg-se-n{font-size:14.5px;font-weight:800;letter-spacing:-.2px}
.pg-se-flag{font-size:8.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-left:auto}
.pg-se-flag.now{background:var(--m3-lime);color:#15200a}
.pg-se-flag.done{background:var(--m3-surface-3);color:var(--m3-text-3);border:1px solid var(--m3-line)}
.pg-se-dates{font-size:12px;font-weight:700;font-family:var(--mono);color:var(--m3-text-2)}
.pg-se-grad{font-size:10.5px;color:var(--m3-text-3);font-weight:600}

/* level blocks */
.pg-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:12px}
.pg-levelcard{position:relative;text-align:left;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;
  padding:13px 14px;transition:.12s;display:flex;flex-direction:column;gap:8px;min-height:128px;overflow:hidden}
.pg-levelcard.open{grid-column:1/-1;border-color:var(--m3-gray);min-height:0}
.pg-lv-hit{display:flex;flex-direction:column;gap:8px;flex:1;background:none;border:0;padding:0;margin:0;
  font-family:var(--ff);color:inherit;text-align:left;cursor:pointer}
.pg-levelcard.open .pg-lv-hit{flex:0 0 auto}
.pg-lv-body{display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--m3-line-2);padding-top:13px;margin-top:5px;cursor:default}
.pg-lv-inlinenote{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-lv-minatt{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--m3-line-2);padding-top:12px}
.pg-lv-bodyfoot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--m3-line-2);padding-top:11px}
.pg-levelcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.pg-levelcard:hover{border-color:var(--m3-gray)}
.pg-levelcard.empty{border-style:dashed;background:transparent}
.pg-lv-h{display:flex;align-items:center;gap:7px}
.pg-lv-n{font-size:13.5px;font-weight:800;letter-spacing:-.2px}
.pg-lv-bb{font-size:8px;font-weight:800;letter-spacing:.3px;color:#06121c;background:var(--c);padding:1px 5px;border-radius:4px}
.pg-lv-range{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-lv-tapes{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
.pg-lv-tdot{width:13px;height:6px;border-radius:2px;border:1px solid rgba(255,255,255,.15)}
.pg-lv-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--m3-line-2);padding-top:8px}
.pg-lv-count{font-size:10.5px;color:var(--m3-text-3);font-weight:700}
.pg-lv-edit{font-size:10.5px;color:var(--m3-text-2);font-weight:800}
.pg-levelcard:hover .pg-lv-edit{color:var(--m3-lime)}
.pg-lv-empty{margin-top:auto;font-size:12px;font-weight:800;color:var(--m3-text-3);display:flex;align-items:center;gap:6px}
.pg-levelcard.empty:hover .pg-lv-empty{color:var(--m3-text-2)}

/* requirement list (block editor) */
.pg-reqlist{display:flex;flex-direction:column;gap:8px}
.pg-req{background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:10px;overflow:hidden;transition:border-color .12s}
.pg-req.open{border-color:var(--m3-gray)}
.pg-req-head{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer}
.pg-req-grip{color:var(--m3-text-3);font-size:11px;letter-spacing:-2px;flex:0 0 auto}
.pg-tape-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.pg-req-title{font-size:12.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.pg-req-summary{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pg-mini-tape{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.pg-req-req{font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-lime);background:var(--m3-lime-wash);padding:1px 6px;border-radius:4px}
.pg-req-vidcount{font-size:10px;font-weight:700;color:var(--m3-text-3)}
.pg-req-caret{color:var(--m3-text-3);font-size:11px;transition:transform .16s;flex:0 0 auto}
.pg-req-caret.open{transform:rotate(180deg)}
.pg-req-body{padding:4px 12px 13px;display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--m3-line-2)}

/* tape picker */
.pg-tape-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.pg-tape-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:9px 10px;border:1px solid var(--m3-line);
  border-radius:9px;background:var(--m3-surface);cursor:pointer;transition:.12s}
.pg-tape-opt:hover{border-color:var(--m3-gray)}
.pg-tape-opt.on{border-color:color-mix(in oklab,var(--tape) 60%,transparent);background:color-mix(in oklab,var(--tape) 12%,var(--m3-surface))}
.pg-tape-opt .pg-tape-sw{width:18px;height:7px;border-radius:3px}
.pg-tape-l{font-size:11.5px;font-weight:800}
.pg-tape-wk{font-size:9.5px;font-weight:700;font-family:var(--mono);color:var(--m3-text-3)}

/* markdown editor */
.pg-md{border:1px solid var(--m3-line);border-radius:9px;overflow:hidden;background:var(--m3-surface)}
.pg-md-bar{display:flex;align-items:center;gap:3px;padding:6px 7px;border-bottom:1px solid var(--m3-line);background:var(--m3-surface-2)}
.pg-md-btn{width:28px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--m3-text-2);cursor:pointer;font-size:13px}
.pg-md-btn:hover:not(:disabled){background:var(--m3-surface-3);color:var(--m3-text)}
.pg-md-btn:disabled{opacity:.35;cursor:default}
.pg-md-prev{margin-left:auto;border:1px solid var(--m3-line);background:var(--m3-surface-3);color:var(--m3-text-2);
  font-size:11px;font-weight:700;padding:4px 11px;border-radius:6px;cursor:pointer}
.pg-md-prev.on{border-color:var(--m3-blue);color:var(--m3-blue);background:var(--m3-blue-wash)}
.pg-md-ta{width:100%;min-height:120px;border:0;background:transparent;color:var(--m3-text);padding:11px 12px;
  font-family:var(--ff);font-size:12.5px;line-height:1.6;resize:vertical;outline:none}
.pg-md-render{padding:11px 13px;font-size:12.5px;line-height:1.6;color:var(--m3-text-2);min-height:120px}
.pg-md-render h3{font-size:14px;font-weight:800;color:var(--m3-text);margin:8px 0 5px}
.pg-md-render h4{font-size:12.5px;font-weight:800;color:var(--m3-text);margin:8px 0 4px}
.pg-md-render h5{font-size:11.5px;font-weight:800;color:var(--m3-text-2);margin:6px 0 3px}
.pg-md-render p{margin:5px 0}
.pg-md-render ul,.pg-md-render ol{margin:5px 0 5px 20px}
.pg-md-render li{margin:2px 0}
.pg-md-render blockquote{border-left:2px solid var(--m3-lime);padding-left:10px;color:var(--m3-text-3);margin:6px 0}
.pg-md-render code{font-family:var(--mono);font-size:11px;background:var(--m3-surface-3);padding:1px 4px;border-radius:4px}
.pg-md-render strong{color:var(--m3-text)}
.pg-md-render .empty{color:var(--m3-text-3)}
.pg-md-edit{outline:none;cursor:text;color:var(--m3-text)}
.pg-md-edit:focus{background:rgba(59,158,232,.05)}
.pg-md-edit:empty:before{content:attr(data-ph);color:var(--m3-text-3);pointer-events:none}
.pg-md-foot{padding:6px 12px;border-top:1px solid var(--m3-line-2);font-size:10px;color:var(--m3-text-3);font-weight:600;background:var(--m3-surface-2)}
.pg-md-foot b{color:var(--m3-text-2)}

/* video list */
.pg-vids{display:flex;flex-direction:column;gap:7px}
.pg-vidrow{display:flex;align-items:center;gap:7px}
.pg-vid-th{width:30px;height:30px;border-radius:6px;background:var(--m3-surface-2);border:1px solid var(--m3-line);
  display:flex;align-items:center;justify-content:center;color:var(--m3-text-3);font-size:11px;flex:0 0 auto}
.pg-vid-rm{background:transparent;border:0;color:var(--m3-text-3);cursor:pointer;font-size:16px;padding:0 3px;flex:0 0 auto}
.pg-vid-rm:hover{color:var(--m3-red)}

/* requirement flags */
.pg-req-flags{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--m3-line-2);padding-top:11px}
.pg-check{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--m3-text-2);cursor:pointer}
.pg-check input{width:15px;height:15px;accent-color:var(--m3-lime)}
.pg-gatewrap{display:flex;align-items:center;gap:8px}
.pg-gate-lab{font-size:11px;font-weight:700;color:var(--m3-text-3)}
.pg-req-del{margin-left:auto;background:transparent;border:0;color:var(--m3-text-3);font-size:11px;font-weight:700;cursor:pointer}
.pg-req-del:hover{color:var(--m3-red)}

/* reuse sk-seg sizing inside flags */
.pg-gatewrap .sk-seg button{padding:5px 10px;font-size:11px}

/* =========================================================
   TESTING
   ========================================================= */
.pg-testing{padding:18px 20px 40px;max-width:1180px}
.pg-stageseg button{padding:6px 13px;white-space:nowrap}
/* the seg must never shrink below its 3 buttons (overflow:hidden zeroes min-width) —
   the sk-ctx label truncates gracefully and absorbs the squeeze instead */
.sk-seg.pg-stageseg{flex-shrink:0}

/* registration */
.pg-reg{display:flex;flex-direction:column;gap:14px}
.pg-regdays{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px;align-items:start}
.pg-regday{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:10px}
.pg-regday-h{display:flex;align-items:baseline;gap:8px}
.pg-regday-d{font-size:14px;font-weight:800}
.pg-regday-date{font-size:11px;font-weight:700;font-family:var(--mono);color:var(--m3-text-3)}
.pg-regslot{background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:9px;padding:10px 11px;display:flex;flex-direction:column;gap:8px}
.pg-regslot-top{display:flex;align-items:center;gap:9px}
.pg-regslot-t{font-size:13px;font-weight:800;font-family:var(--mono)}
.pg-regslot-g{font-size:11.5px;font-weight:700;color:var(--m3-text-2)}
.pg-regslot-cap{display:flex;align-items:center;gap:9px}
.pg-cap-track{flex:1;height:6px;border-radius:4px;background:var(--m3-surface-2);overflow:hidden}
.pg-cap-track i{display:block;height:100%;background:var(--m3-lime)}
.pg-cap-track i.full{background:var(--m3-amber)}
.pg-cap-n{font-size:10.5px;font-weight:800;font-family:var(--mono);color:var(--m3-text-3);flex:0 0 auto}
.pg-cap-n.full{color:var(--m3-amber)}

/* score entry */
.pg-score{display:flex;flex-direction:column;gap:13px}
.pg-score-bar{display:flex;align-items:flex-start;gap:14px}
.pg-slotsel{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.pg-slotsel-lab{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);flex:0 0 auto}
.pg-slotchips{display:flex;gap:7px;flex-wrap:wrap}
.pg-slotchip{text-align:left;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:9px;padding:7px 11px;cursor:pointer;transition:.12s;display:flex;flex-direction:column;gap:1px}
.pg-slotchip:hover{border-color:var(--m3-gray)}
.pg-slotchip.on{border-color:var(--m3-lime);background:var(--m3-lime-wash)}
.pg-slotchip-d{font-size:12px;font-weight:800;font-family:var(--mono)}
.pg-slotchip-g{font-size:10px;font-weight:600;color:var(--m3-text-3)}
.pg-slotchip.on .pg-slotchip-g{color:var(--m3-text-2)}
.pg-score-ctx{display:flex;align-items:center;gap:12px;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:10px;padding:11px 14px}
.pg-score-judge{display:flex;align-items:center;gap:10px}
.pg-jav{width:32px;height:32px;border-radius:9px;background:var(--m3-lime);color:#15200a;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pg-jn{font-size:13px;font-weight:800}
.pg-jr{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-score-prog{margin-left:auto;font-size:11.5px;font-weight:800;font-family:var(--mono);color:var(--m3-text-2)}
.pg-score-list{display:flex;flex-direction:column;gap:8px}
.pg-scorecard{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:11px;overflow:hidden;transition:border-color .12s}
.pg-scorecard.open{border-color:var(--m3-gray)}
.pg-scorecard.submitted{border-color:color-mix(in oklab,var(--m3-lime) 40%,var(--m3-line))}
.pg-scorecard-h{display:grid;grid-template-columns:30px 1fr auto auto 18px;align-items:center;gap:13px;padding:11px 14px;cursor:pointer}
.pg-sc-seq{width:24px;height:24px;border-radius:50%;background:var(--m3-surface-3);border:1px solid var(--m3-line);
  font-size:11px;font-weight:800;font-family:var(--mono);color:var(--m3-text-3);display:flex;align-items:center;justify-content:center}
.pg-sc-who{display:flex;flex-direction:column;min-width:0}
.pg-sc-n{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-sc-meta{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-sc-avg{text-align:right}
.pg-sc-avgline{font-size:11px;font-weight:700;color:var(--m3-text-3)}
.pg-sc-avgline b{font-family:var(--mono);color:var(--m3-text-2);font-size:13px}
.pg-sc-avgline small{font-size:9px}
.pg-sc-avgline.none{font-style:italic;opacity:.7}
.pg-sc-mine{min-width:54px;text-align:right}
.pg-sc-tot{font-family:var(--mono);font-weight:800;font-size:15px}
.pg-sc-tot small{font-size:9px;color:var(--m3-text-3)}
.pg-sc-tot.done{color:var(--m3-lime)}
.pg-sc-tot.ready{color:var(--m3-text)}
.pg-sc-tot.empty{color:var(--m3-text-3)}
.pg-scorecard-b{padding:0 14px 13px;border-top:1px solid var(--m3-line-2)}
.pg-events{display:flex;gap:9px;flex-wrap:wrap;padding:13px 0}
.pg-event{flex:1;min-width:96px;background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:9px;padding:9px 11px;display:flex;flex-direction:column;gap:7px}
.pg-event.total{background:var(--m3-surface-2);border-color:var(--m3-gray)}
.pg-event-l{font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3)}
.pg-event-in{display:flex;align-items:baseline;gap:6px}
.pg-event-input{width:48px;height:34px;border:1px solid var(--m3-line);background:var(--m3-bg);color:var(--m3-text);
  border-radius:7px;text-align:center;font-family:var(--mono);font-size:16px;font-weight:800;outline:none}
.pg-event-input:focus{border-color:var(--m3-lime)}
.pg-event-input:disabled{opacity:.7}
.pg-event-max{font-size:11px;font-weight:700;color:var(--m3-text-3)}
.pg-event-tot{font-family:var(--mono);font-size:18px;font-weight:800;color:var(--m3-lime)}
.pg-score-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--m3-line-2);padding-top:11px}
.pg-score-hint{font-size:11px;color:var(--m3-text-3);font-weight:600;flex:1;text-wrap:pretty}
.pg-score-actions .sk-btn{margin-left:auto}

/* ---- v4 score sheets: folder nav (days → sessions → sheet) ---- */
.pg-sheets{display:flex;flex-direction:column;gap:13px}
.pg-crumbs{display:flex;align-items:center;gap:8px}
.pg-crumb{background:none;border:0;padding:0;font-family:var(--ff);font-size:12px;font-weight:700;color:var(--m3-text-3);cursor:pointer}
.pg-crumb:hover{color:var(--m3-text)}
.pg-crumb.here{color:var(--m3-text);cursor:default}
.pg-crumb-sep{font-size:10px;color:var(--m3-text-3)}
.pg-daygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px;align-items:start}
.pg-daycard{
  background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;padding:13px 14px;
  display:flex;flex-direction:column;gap:10px;cursor:pointer;text-align:left;font-family:var(--ff);color:inherit;
  transition:border-color .12s
}
.pg-daycard:hover{border-color:var(--m3-gray)}
.pg-daycard-h{display:flex;align-items:center;gap:8px;justify-content:space-between}
.pg-daycard-cap{display:flex;align-items:center;gap:9px}
.pg-daycard-slots{display:flex;flex-direction:column;gap:4px}
.pg-daycard-slot{font-size:11.5px;color:var(--m3-text-2);font-weight:600}
.pg-daycard-slot b{font-family:var(--mono);font-size:11px;color:var(--m3-text)}
.pg-daycard-go{font-size:11px;font-weight:800;color:var(--m3-lime)}
.pg-shstatus{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--m3-line);border-radius:5px;padding:2px 7px;white-space:nowrap;color:var(--m3-text-3)}
.pg-shstatus.live{color:var(--m3-amber);border-color:rgba(245,166,35,.4);background:var(--m3-amber-wash)}
.pg-shstatus.full{color:var(--m3-lime);border-color:rgba(170,221,68,.4);background:var(--m3-lime-wash)}
.pg-shstatus.committed{color:var(--m3-lime);border-color:rgba(170,221,68,.4)}
.pg-sesslist{display:flex;flex-direction:column;gap:8px}
.pg-sessrow{
  display:grid;grid-template-columns:64px minmax(140px,1fr) minmax(180px,1.2fr) auto auto auto auto;align-items:center;gap:14px;
  background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:11px;padding:13px 15px;
  cursor:pointer;text-align:left;font-family:var(--ff);color:inherit;transition:border-color .12s
}
.pg-sessrow:hover{border-color:var(--m3-gray)}
.pg-sess-g{font-size:13px;font-weight:700;display:flex;align-items:center;gap:9px}
.pg-sess-cap{display:flex;align-items:center;gap:9px}
.pg-sess-judges,.pg-sess-prog{font-size:11px;font-weight:700;font-family:var(--mono);color:var(--m3-text-3);white-space:nowrap}
.pg-sess-go{font-size:11px;font-weight:800;color:var(--m3-lime);white-space:nowrap}

/* ---- v4 score sheet: the spreadsheet ---- */
.pg-judgesel{
  background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:6px;color:var(--m3-text);
  font-family:var(--ff);font-size:12px;font-weight:800;padding:2px 6px
}
.pg-autosave{font-size:10.5px;font-weight:700;font-family:var(--mono);color:var(--m3-text-3);margin-left:auto;white-space:nowrap}
.pg-autosave.on{color:var(--m3-lime)}
.pg-mydone{font-size:11px;font-weight:700;color:var(--m3-text-3);display:flex;align-items:center;gap:7px;white-space:nowrap}
.pg-committedpill{font-size:11px;font-weight:800;color:var(--m3-lime);white-space:nowrap}
.pg-commitbanner{
  font-size:11.5px;color:var(--m3-text-2);background:var(--m3-lime-wash);border:1px solid rgba(170,221,68,.35);
  border-radius:9px;padding:9px 13px;font-weight:600
}
.pg-sheetwrap{overflow:auto;max-height:min(58vh,560px);border:1px solid var(--m3-line);border-radius:12px;background:var(--m3-surface)}
.pg-sheet{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}
.pg-sheet th,.pg-sheet td{border-bottom:1px solid var(--m3-line-2);border-right:1px solid var(--m3-line-2)}
.pg-sheet tr:last-child th,.pg-sheet tr:last-child td{border-bottom:0}
.pg-sheet thead th{
  position:sticky;top:0;z-index:3;background:var(--m3-surface-2);
  font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);
  padding:10px 13px;text-align:left;white-space:nowrap
}
.pg-sheet thead th small{font-weight:700;color:var(--m3-text-3);text-transform:none;letter-spacing:0}
.pg-sh-corner{position:sticky;left:0;z-index:4 !important}
.pg-sheet tbody th.pg-sh-stud{
  position:sticky;left:0;z-index:2;background:var(--m3-surface);
  display:flex;align-items:center;gap:11px;padding:10px 13px;min-width:188px;text-align:left;border-right:1px solid var(--m3-line)
}
.pg-sh-who{display:flex;flex-direction:column;min-width:0}
.pg-sheet td{padding:0;vertical-align:middle}
.pgt-cell{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-width:118px;min-height:54px;
  background:none;border:0;cursor:pointer;font-family:var(--ff);color:inherit;padding:7px 10px;transition:background .1s
}
.pgt-cell:hover{background:var(--m3-surface-3)}
.pgt-cell.open{background:var(--m3-surface-3);box-shadow:inset 0 0 0 1.5px var(--m3-lime)}
.pgt-cell-avg{font-family:var(--mono);font-size:16px;font-weight:800}
.pgt-cell.empty .pgt-cell-avg{color:var(--m3-text-3)}
.pgt-cell-sub{font-size:9.5px;font-weight:700;color:var(--m3-text-3);white-space:nowrap}
.pgt-cell.empty .pgt-cell-sub{color:var(--m3-amber)}
.pgt-cell.mine .pgt-cell-sub{color:var(--m3-text-2)}
.pg-sh-totcell{padding:7px 14px !important;text-align:right;min-width:108px;background:var(--m3-surface-2)}
.pg-sh-totnum{font-family:var(--mono);font-size:16px;font-weight:800;display:block}
.pg-sh-totnum small{font-size:9px;color:var(--m3-text-3)}
.pg-sh-totnum.pass{color:var(--m3-lime)}
.pg-sh-totnum.low{color:var(--m3-text)}
.pg-sh-totnum.partial{color:var(--m3-text-2)}
.pg-unjudged{
  display:inline-block;margin-top:3px;font-size:9.5px;font-weight:800;color:var(--m3-amber);
  background:var(--m3-amber-wash);border:1px solid rgba(245,166,35,.4);border-radius:5px;padding:1px 6px;white-space:nowrap
}

/* cell popover */
.pg-pop-scrim{position:fixed;inset:0;z-index:60}
.pg-pop{
  position:fixed;z-index:61;background:var(--m3-surface-2);border:1px solid var(--m3-gray);border-radius:12px;
  padding:13px 14px;display:flex;flex-direction:column;gap:11px;box-shadow:0 14px 38px rgba(0,0,0,.5)
}
.pg-pop-h{display:flex;align-items:baseline;gap:8px}
.pg-pop-t{font-size:12.5px;font-weight:800;flex:1;min-width:0}
.pg-pop-max{font-size:11px;font-weight:700;font-family:var(--mono);color:var(--m3-text-3)}
.pg-pop-judges{display:flex;flex-direction:column;gap:5px}
.pg-pop-j{display:flex;align-items:center;gap:9px}
.pg-pop-j.you{background:var(--m3-surface-3);border-radius:7px;padding:3px 7px;margin:0 -7px}
.pg-jav.sm{width:22px;height:22px;border-radius:6px;font-size:9px}
.pg-pop-jn{font-size:11.5px;font-weight:700;flex:1;min-width:0}
.pg-pop-jn small{color:var(--m3-text-3);font-weight:600}
.pg-pop-js{font-family:var(--mono);font-size:13px;font-weight:800}
.pg-pop-none{font-size:10.5px;color:var(--m3-amber);font-weight:600;text-wrap:pretty}
.pg-pop-f{display:flex;align-items:center;gap:10px;justify-content:space-between}
.pg-pop-auto{font-size:10px;font-weight:700;color:var(--m3-lime)}
.pg-pop-clear{background:none;border:0;padding:0;font-family:var(--ff);font-size:10.5px;font-weight:700;color:var(--m3-text-3);cursor:pointer;text-decoration:underline}
.pg-pop-clear:hover{color:var(--m3-text)}

/* tap-input: button pad + slider */
.pg-pad{display:flex;flex-direction:column;gap:8px}
.pg-padgrid{display:flex;gap:6px}
.pg-padbtn{
  flex:1;min-width:40px;height:40px;border-radius:9px;border:1px solid var(--m3-line);background:var(--m3-surface-3);
  color:var(--m3-text);font-family:var(--mono);font-size:14px;font-weight:800;cursor:pointer;transition:border-color .1s
}
.pg-padbtn:hover:not(:disabled){border-color:var(--m3-gray)}
.pg-padbtn:disabled{opacity:.4;cursor:default}
.pg-padbtn.on{background:var(--m3-lime);color:#15200a;border-color:var(--m3-lime)}
.pg-padbtn.base{border-color:var(--m3-lime)}
.pg-padbtn.q{flex:0 0 auto;min-width:52px;height:32px;font-size:12px}
.pg-padbtn.q.dim{min-width:32px;color:var(--m3-text-3)}
.pg-padq{display:flex;align-items:center;gap:6px}
.pg-padq-l{font-size:11px;font-weight:800;font-family:var(--mono);color:var(--m3-text-2)}
.pg-padhint{font-size:10px;color:var(--m3-text-3);font-weight:600}
.pg-slider{display:flex;align-items:center;gap:11px}
.pg-slider input[type=range]{flex:1;accent-color:var(--m3-lime)}
.pg-slider-v{font-family:var(--mono);font-size:15px;font-weight:800;min-width:52px;text-align:right}
.pg-slider-v small{font-size:9px;color:var(--m3-text-3)}

/* ---- progress ▸ assistants (v4 correction change 6) ---- */
.pa-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;align-items:start}
.pa-teamcard{
  position:relative;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;
  display:flex;flex-direction:column;overflow:hidden;transition:border-color .12s
}
.pa-teamcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.pa-teamcard:hover{border-color:var(--m3-gray)}
.pa-teamcard.inactive{opacity:.65;border-style:dashed}
.pa-teamhit{display:flex;flex-direction:column;gap:8px;padding:14px 15px 10px;background:none;border:0;cursor:pointer;font-family:var(--ff);color:inherit;text-align:left}
.pa-th{display:flex;align-items:center;gap:8px}
.pa-tn{font-size:14.5px;font-weight:800;letter-spacing:-.2px}
.pa-offtag{font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-amber);background:var(--m3-amber-wash);border:1px solid rgba(245,166,35,.4);border-radius:4px;padding:1px 6px}
.pa-tdesc{font-size:11px;color:var(--m3-text-3);font-weight:600;text-wrap:pretty}
.pa-tmeta{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--m3-text-3);font-weight:600}
.pa-tmeta b{color:var(--m3-text);font-family:var(--mono)}
.pa-go{margin-left:auto;font-size:11px;font-weight:800;color:var(--m3-lime)}
.pa-acttoggle{display:flex;align-items:center;gap:9px;padding:9px 15px;border-top:1px solid var(--m3-line-2);font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3)}
.pa-detail{display:flex;flex-direction:column;gap:13px}
.pa-dhead{display:flex;align-items:center;gap:12px;background:var(--m3-surface);border:1px solid var(--m3-line);border-left:3px solid var(--c);border-radius:11px;padding:13px 16px}
.pa-dn{font-size:15px;font-weight:800;display:flex;align-items:center;flex-wrap:wrap}
.pa-dd{font-size:11px;color:var(--m3-text-3);font-weight:600;margin-top:2px}
.pa-dd b{color:var(--m3-text-2);font-family:var(--mono)}
.pa-teamchip{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--c);border:1px solid color-mix(in oklab,var(--c) 55%,transparent);border-radius:5px;padding:2px 7px}
.pa-memlist{display:flex;flex-direction:column;border:1px solid var(--m3-line);border-radius:11px;background:var(--m3-surface);overflow:hidden}
.pa-memrow{
  display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--m3-line-2);
  background:none;border-left:0;border-right:0;border-top:0;cursor:pointer;font-family:var(--ff);color:inherit;text-align:left;transition:background .1s
}
.pa-memrow:last-child{border-bottom:0}
.pa-memrow:hover{background:var(--m3-surface-3)}
.pa-memrow.inactive{opacity:.55}
.pa-mname{font-size:13px;font-weight:700;white-space:nowrap}
.pa-mmeta{font-size:10.5px;color:var(--m3-text-3);font-weight:600;white-space:nowrap}
.pa-mspacer{flex:1}
.pa-mcmts{font-size:11px;font-weight:700;color:var(--m3-text-2);white-space:nowrap}
/* flat all-assistants list */
.pa-flat{display:flex;flex-direction:column;gap:13px}
.pa-flatbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pa-flatspacer{flex:1}
.pa-flatcount{font-size:10.5px;font-weight:800;font-family:var(--mono);color:var(--m3-text-3);white-space:nowrap}
.pa-teamfilter{display:inline-flex;align-items:center;gap:6px}
.pa-teamfilter.off{opacity:.6}
.pa-fdot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.pa-memrow.flat .pa-mname{flex:0 0 auto}
.pa-cert{font-size:10px;font-weight:800;letter-spacing:.2px;color:var(--m3-text-2);background:var(--m3-surface-2);border:1px solid var(--m3-line);border-radius:5px;padding:2px 8px;white-space:nowrap}
.pa-cert.none{color:var(--m3-text-3);border-style:dashed;font-weight:700;font-family:var(--mono);opacity:.8}
.pa-certinline{color:var(--m3-text-2);font-weight:800}
/* add-assistant search panel */
.pa-addpanel{border:1px solid var(--m3-line);border-radius:11px;background:var(--m3-surface);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.pa-addhead{display:flex;align-items:center;gap:8px}
.pa-addtitle{font-size:12.5px;font-weight:800;letter-spacing:-.1px}
.pa-addto{font-size:11px;color:var(--m3-text-3);font-weight:700;display:inline-flex;align-items:center}
.pa-addpanel .pg-award-search{margin-bottom:0}
.pa-addgo{font-size:10.5px;font-weight:800;color:var(--m3-lime);white-space:nowrap}
/* per-assistant progress notes (member detail) */
.pa-notes{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:11px;padding:13px 15px;display:flex;flex-direction:column;gap:9px}
.pa-noteshd{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.pa-notestitle{font-size:12.5px;font-weight:800;letter-spacing:-.1px}
.pa-notessub{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pa-notesarea{width:100%;box-sizing:border-box;min-height:78px;resize:vertical;background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:9px;padding:10px 12px;color:var(--m3-text);font-family:var(--ff);font-size:12.5px;font-weight:500;line-height:1.55;outline:none;transition:border-color .12s}
.pa-notesarea:focus{border-color:var(--m3-gray)}
.pa-notesarea::placeholder{color:var(--m3-text-3);font-weight:500}
.pa-noteshint{font-size:10px;color:var(--m3-text-3);font-weight:600;text-wrap:pretty}
.pa-addmem{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pa-hint{font-size:10.5px;color:var(--m3-text-3);font-weight:600;text-wrap:pretty}
.pa-cmtlist{display:flex;flex-direction:column;gap:8px}
.pa-cmtrow{
  display:flex;align-items:center;gap:11px;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:10px;padding:10px 13px
}
.pa-cmtrow.done{opacity:.6}
.pa-cmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.pa-cpat{font-size:12.5px;font-weight:700}
.pa-cdates{display:flex;align-items:center;gap:8px}
.pa-ctally{font-size:11px;color:var(--m3-text-3);font-weight:600;white-space:nowrap}
.pa-ctally b{color:var(--m3-lime);font-family:var(--mono);font-size:13px}
.pa-cmtadd{border:1px dashed var(--m3-line);border-radius:10px;padding:11px 13px;background:var(--m3-surface-3);display:flex;flex-direction:column;gap:10px}
.pa-cmtaddacts{display:flex;align-items:center;gap:9px}
.pa-cmtaddacts .pa-hint{flex:1}

/* guest judge standalone */
.pg-guest{display:flex;flex-direction:column;gap:0;min-height:100%}
.pg-guest-bar{display:flex;align-items:center;gap:14px;padding:0 0 14px}
.pg-guest-note{font-size:11px;color:var(--m3-text-3);font-weight:600;text-wrap:pretty}
.pg-guest-note b{color:var(--m3-blue);font-family:var(--mono)}
.pg-guest-page{background:#0a0a0a;border:1px solid var(--m3-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px}
.pg-guest-head{display:flex;align-items:center;gap:13px;padding-bottom:14px;border-bottom:1px solid var(--m3-line)}
.pg-guest-logo{width:42px;height:42px;border-radius:11px;background:var(--m3-lime);color:#15200a;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pg-guest-school{font-size:14px;font-weight:800}
.pg-guest-slot{font-size:11.5px;color:var(--m3-text-3);font-weight:600}
.pg-guest-token{margin-left:auto;font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-lime);background:var(--m3-lime-wash);border:1px solid rgba(170,221,68,.3);padding:4px 9px;border-radius:6px}
.pg-guest-list{display:flex;flex-direction:column;gap:8px}
.pg-guest-row{display:flex;align-items:center;gap:13px;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:10px;padding:11px 13px}
.pg-guest-row.done{border-color:color-mix(in oklab,var(--m3-lime) 40%,var(--m3-line))}
.pg-guest-who{display:flex;flex-direction:column;min-width:96px;flex:0 0 auto}
.pg-guest-events{display:flex;gap:9px;flex:1;flex-wrap:wrap}
.pg-guest-ev{display:flex;flex-direction:column;gap:4px}
.pg-guest-evl{font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3)}
.pg-guest-evin{display:flex;align-items:baseline;gap:4px}
.pg-guest-evin small{font-size:10px;color:var(--m3-text-3);font-weight:700}
.pg-guest-tot{font-family:var(--mono);font-size:15px;font-weight:800;color:var(--m3-lime);min-width:50px;text-align:right}
.pg-guest-tot small{font-size:9px;color:var(--m3-text-3)}

/* results & promotion */
.pg-results{display:flex;flex-direction:column}
.pg-summary{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.pg-scard{flex:1;min-width:120px;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:9px;padding:12px 15px}
.pg-scard-n{font-size:22px;font-weight:800;font-family:var(--mono);line-height:1}
.pg-scard-l{font-size:9.5px;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3);font-weight:700;margin-top:6px}
.pg-scard.pass .pg-scard-n{color:var(--m3-lime)}
.pg-scard.nc .pg-scard-n{color:var(--m3-amber)}

.pg-filterbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.pg-fl-lab{font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3);margin-left:4px}
.pg-filterbar .sk-seg button{padding:6px 12px}

.pg-ttable{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;overflow:hidden}
.pg-trow{display:grid;grid-template-columns:1.7fr 1.5fr 1.6fr 1.05fr;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--m3-line);font-size:13px}
.pg-trow:last-child{border-bottom:0}
.pg-trow.head{background:var(--m3-surface-3);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);font-weight:700}
.pg-who-c{display:flex;flex-direction:column;min-width:0}
.pg-nm{font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:7px}
.pg-day{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-allstar{font-size:8px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#1a2400;background:var(--m3-lime);padding:1px 6px;border-radius:4px}
.pg-scores{display:flex;align-items:center;gap:4px}
.pg-jscore{width:24px;height:24px;border-radius:5px;background:var(--m3-surface-2);border:1px solid var(--m3-line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:var(--mono);color:var(--m3-text-2)}
.pg-total{font-family:var(--mono);font-weight:800;font-size:15px;margin-left:5px}
.pg-total small{font-size:10px;color:var(--m3-text-3);font-weight:600}
.pg-total.passing{color:var(--m3-lime)}
.pg-total.failing{color:var(--m3-amber)}
.pg-thresh{font-size:10px;color:var(--m3-text-3);margin-left:6px}
.pg-rankprom{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}
.pg-belt{display:inline-flex;align-items:center;font-size:10px;font-weight:800;padding:3px 9px;border-radius:6px;border:1.5px solid currentColor;background:transparent;white-space:nowrap;flex:0 0 auto}
.pg-arrow{color:var(--m3-text-3);flex:0 0 auto}
.pg-stays{color:var(--m3-text-3);font-size:11.5px}
.pg-promsel{background:var(--m3-bg);border:1px solid var(--m3-line);color:var(--m3-text);border-radius:6px;padding:5px 7px;font-family:var(--ff);font-size:11.5px;outline:none;font-weight:700;cursor:pointer}
.pg-promsel.skipped{border-color:var(--m3-lime);color:var(--m3-lime)}
.pg-res-cell{display:flex;justify-content:flex-end}
.pg-restoggle{display:flex;background:var(--m3-surface-2);border:1px solid var(--m3-line);border-radius:7px;overflow:hidden;width:fit-content}
.pg-restoggle button{border:0;background:transparent;color:var(--m3-text-3);padding:5px 11px;font-size:10.5px;font-weight:800;cursor:pointer;font-family:var(--ff)}
.pg-restoggle button.pass.on{background:var(--m3-lime);color:#15200a}
.pg-restoggle button.nc.on{background:var(--m3-amber);color:#3a2a00}

/* publish modal */
.pg-pubexplain{font-size:12px;color:var(--m3-text-2);background:rgba(59,158,232,.08);border:1px solid rgba(59,158,232,.3);border-radius:9px;padding:12px 14px;line-height:1.55;text-wrap:pretty;margin-bottom:14px}
.pg-pubexplain b{color:#9fd0f5}
.pg-pubgroups{display:flex;flex-direction:column}
.pg-pubgroup{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--m3-line-2)}
.pg-pubgroup:last-child{border-bottom:0}
.pg-pub-name{font-size:13px;font-weight:700;flex:1;display:flex;flex-direction:column;gap:1px}
.pg-pub-count{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-pub-fires{font-size:10.5px;color:var(--m3-text-3);font-weight:600;text-align:right;flex:1}

/* =========================================================
   TEAMS / CLUBS
   ========================================================= */
.pg-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;padding:18px 20px 40px;align-items:start}
.pg-club{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:13px;padding:15px 16px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.pg-club::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.pg-club-h{display:flex;align-items:flex-start;gap:10px}
.pg-club-id{display:flex;align-items:center;gap:10px}
.pg-club-dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in oklab,var(--c) 22%,transparent);flex:0 0 auto}
.pg-club-n{font-size:15px;font-weight:800;letter-spacing:-.2px}
.pg-club-trig{font-size:10.5px;color:var(--m3-text-3);font-weight:600}
.pg-club-trig b{color:var(--m3-text-2)}
.pg-club-counts{margin-left:auto;display:flex;gap:7px;flex:0 0 auto}
.pg-club-count{font-size:10px;font-weight:700;color:var(--m3-text-3);background:var(--m3-surface-3);border:1px solid var(--m3-line);padding:3px 8px;border-radius:6px}
.pg-club-count b{font-family:var(--mono);color:var(--m3-text-2);font-size:12px}
.pg-club-count.joined b{color:var(--m3-lime)}
.pg-club-blurb{font-size:11px;color:var(--m3-text-3);line-height:1.5;text-wrap:pretty;border-bottom:1px solid var(--m3-line-2);padding-bottom:11px}
.pg-cand-list{display:flex;flex-direction:column;gap:7px}
.pg-cand{background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:9px;overflow:hidden}
.pg-cand.joined{border-color:color-mix(in oklab,var(--m3-lime) 35%,var(--m3-line))}
.pg-cand.declined{opacity:.78}
.pg-cand-main{display:flex;align-items:center;gap:10px;padding:9px 11px}
.pg-cand-belt{font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:5px;border:1.5px solid currentColor;white-space:nowrap;flex:0 0 auto}
.pg-cand-who{min-width:0;flex:1}
.pg-cand-n{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pg-linger{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-amber);background:var(--m3-amber-wash);padding:1px 6px;border-radius:4px}
.pg-declined-mark{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3);border:1px solid var(--m3-line);padding:1px 6px;border-radius:4px}
.pg-cand-lvl{font-size:10.5px;color:var(--m3-text-3);font-weight:600;margin-top:2px}
.pg-cand-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pg-stagesel{cursor:pointer}
.pg-stagesel.joined{border-color:var(--m3-lime);color:var(--m3-lime)}
.pg-stagesel.declined{border-color:var(--m3-line);color:var(--m3-text-3)}
.pg-cascade{border-top:1px solid var(--m3-line-2);background:var(--m3-lime-wash);padding:10px 12px}
.pg-cascade-h{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-lime);margin-bottom:8px}
.pg-cascade-list{display:flex;flex-direction:column;gap:5px}
.pg-cascade-row{display:flex;align-items:center;gap:9px;padding:6px 9px;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:7px;font-size:11.5px}
.pg-cascade-row.task{cursor:pointer;border-color:rgba(245,166,35,.4);background:var(--m3-amber-wash)}
.pg-cascade-row.task.done{border-color:rgba(170,221,68,.4);background:var(--m3-lime-wash)}
.pg-cascade-ic{width:18px;height:18px;border-radius:5px;background:var(--m3-surface-2);display:flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto}
.pg-cascade-row.task .pg-cascade-ic{color:var(--m3-amber)}
.pg-cascade-row.task.done .pg-cascade-ic{color:var(--m3-lime)}
.pg-cascade-l{flex:1;font-weight:600;color:var(--m3-text-2)}
.pg-cascade-tag{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-text-3)}
.pg-cascade-row.task.done .pg-cascade-tag{color:var(--m3-lime)}
.pg-decline-note{border-top:1px solid var(--m3-line-2);padding:9px 12px;font-size:10.5px;color:var(--m3-text-3);font-weight:600;line-height:1.5;text-wrap:pretty}

/* =========================================================
   BADGES
   ========================================================= */
.pg-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:13px;padding:18px 20px 40px;align-items:start}
.pg-badge{display:flex;gap:13px;text-align:left;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;padding:14px 15px;cursor:pointer;transition:.12s}
.pg-badge:hover{border-color:var(--m3-gray)}
.pg-badge.inactive{opacity:.55}
.pg-badge-ic{width:52px;height:52px;border-radius:13px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:26px;
  background:color-mix(in oklab,var(--t) 18%,var(--m3-surface-2));border:1px solid color-mix(in oklab,var(--t) 40%,transparent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.pg-badge-ic.sm{width:38px;height:38px;font-size:19px;border-radius:10px}
.pg-badge-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.pg-badge-top{display:flex;align-items:center;gap:8px}
.pg-badge-n{font-size:13.5px;font-weight:800;letter-spacing:-.2px}
.pg-badge-type{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-left:auto;flex:0 0 auto}
.pg-badge-type.auto{background:var(--m3-blue-wash);color:var(--m3-blue)}
.pg-badge-type.instructor{background:var(--m3-lime-wash);color:var(--m3-lime)}
.pg-badge-desc{font-size:11px;color:var(--m3-text-3);line-height:1.45;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pg-badge-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.pg-badge-trig{font-size:9.5px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;color:var(--m3-text-2);background:var(--m3-surface-3);border:1px solid var(--m3-line-2);padding:2px 7px;border-radius:5px}
.pg-badge-earned{font-size:10.5px;font-weight:700;color:var(--m3-text-3)}
.pg-badge-roster{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-lime)}
.pg-badge-off{font-size:8.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--m3-amber);margin-left:auto}

/* badge editor */
.pg-png-drop{display:flex;align-items:center;gap:13px;background:var(--m3-surface-3);border:1px dashed var(--m3-line);border-radius:11px;padding:13px}
.pg-png-copy{flex:1;min-width:0}
.pg-png-t{font-size:12px;font-weight:700;color:var(--m3-text-2)}
.pg-png-s{font-size:10.5px;color:var(--m3-text-3);font-weight:600;margin-top:2px}
.pg-awardtype{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pg-at-opt{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--m3-line);border-radius:9px;background:var(--m3-surface-3);cursor:pointer;transition:.12s;text-align:left}
.pg-at-opt.on{border-color:var(--m3-lime);background:var(--m3-lime-wash)}
.pg-at-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--m3-line);flex:0 0 auto;position:relative}
.pg-at-opt.on .pg-at-radio{border-color:var(--m3-lime)}
.pg-at-opt.on .pg-at-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--m3-lime)}
.pg-at-l{font-size:12px;font-weight:800;display:block}
.pg-at-s{font-size:10px;color:var(--m3-text-3);font-weight:600;display:block}
.pg-toggle-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--m3-line-2)}
.pg-toggle-row:last-child{border-bottom:0}
.pg-tog-l{font-size:12.5px;font-weight:700}
.pg-tog-s{font-size:10.5px;color:var(--m3-text-3);font-weight:600;margin-top:2px;text-wrap:pretty}
.pg-switch{width:40px;height:23px;border-radius:13px;border:1px solid var(--m3-line);background:var(--m3-surface-2);cursor:pointer;flex:0 0 auto;padding:0;position:relative;transition:.14s;margin-left:auto}
.pg-switch span{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--m3-text-3);transition:.14s}
.pg-switch.on{background:var(--m3-lime);border-color:var(--m3-lime)}
.pg-switch.on span{left:19px;background:#15200a}

/* award picker */
.pg-award-search{display:flex;align-items:center;gap:8px;background:var(--m3-surface-3);border:1px solid var(--m3-line);border-radius:9px;padding:8px 11px;margin-bottom:10px}
.pg-award-search span{color:var(--m3-text-3);font-size:14px}
.pg-award-search input{flex:1;background:transparent;border:0;outline:none;color:var(--m3-text);font-family:var(--ff);font-size:12.5px;font-weight:600}
.pg-award-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}
.pg-award-row{display:flex;align-items:center;gap:10px;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left}
.pg-award-row:hover{background:var(--m3-surface-3)}
.pg-award-row.on{background:var(--m3-lime-wash);border-color:rgba(170,221,68,.3)}
.pg-award-check{width:18px;height:18px;border-radius:5px;border:1px solid var(--m3-line);background:var(--m3-surface-2);color:var(--m3-lime);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pg-award-row.on .pg-award-check{background:var(--m3-lime);color:#15200a;border-color:var(--m3-lime)}
.pg-award-av{width:28px;height:28px;border-radius:8px;background:var(--m3-surface-2);font-size:10px;font-weight:800;color:var(--m3-text-2);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pg-award-n{font-size:12.5px;font-weight:700}
.pg-award-done{font-size:13px;font-weight:700;color:var(--m3-lime);text-align:center;padding:20px}

@media (max-width:1100px){
  .pg-teams{grid-template-columns:1fr}
  .pg-trow{grid-template-columns:1.5fr 1.3fr 1.5fr 1fr}
}

/* The shared sk- overlays animate FROM opacity:0 (sk-fade/sk-pop/sk-slide) with
   no fill-mode. When animations are frozen/paused (some preview & reduced-motion
   environments hold frame 0), they'd stay invisible. Neutralize the entrance
   animation in Progress so the visible base state always applies. */
.progress .sk-helpbar,
.progress .sk-scrim,
.progress .sk-drawer,
.progress .sk-modal-scrim,
.progress .sk-modal{animation:none}
/* the shared modal header doesn't float its close button (only .sk-dh does) */
.progress .sk-modal-h .sk-dx{margin-left:auto;background:transparent;border:0;color:var(--m3-text-3);font-size:20px;cursor:pointer;line-height:1;padding:2px 4px;flex:0 0 auto}
.progress .sk-modal-h .sk-dx:hover{color:var(--m3-text)}

/* ===========================================================
   Testing score sheet settings (post-Freeze redesign · step 1)
   pgs-* — in-context sub-view opened from Progress ▸ Testing
   =========================================================== */
.pgs{display:flex;flex-direction:column;gap:12px;max-width:880px}
.pgs-back{font-size:12px;font-weight:700;color:var(--m3-text-3);display:flex;gap:7px;align-items:center}
.pgs-back a{color:var(--m3-blue);cursor:pointer}
.pgs-back .sep{color:var(--m3-line)}
.pgs-title{font-size:17px;font-weight:800;color:var(--m3-text)}
.pgs-sub{font-size:11.5px;font-weight:600;color:var(--m3-text-3);margin-top:3px;line-height:1.55;text-wrap:pretty;max-width:640px}
.pgs-ranks{align-self:flex-start}
.pgs-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pgs-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--m3-text-2);
  background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:8px;padding:5px 10px}
.pgs-chip b{color:var(--m3-text);font-size:13px}
.pgs-chip input{width:42px;height:24px;text-align:center;padding:0 4px}
.pgs-chip.gate{color:var(--m3-amber, #F5A623);border-color:rgba(245,166,35,.35);background:rgba(245,166,35,.07)}
.pgs-advisory{font-size:10.5px;font-weight:600;color:var(--m3-text-3)}
.pgs-bad{font-size:11px;font-weight:700;color:var(--m3-red)}
.pgs-sech{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--m3-text-3);margin-top:6px;
  display:flex;align-items:baseline;gap:10px}
.pgs-sechs{font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--m3-text-3)}
.pgs-cats{display:flex;flex-direction:column;gap:10px}
.pgs-cat{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;padding:12px 14px;
  display:flex;flex-direction:column;gap:9px}
.pgs-cath{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pgs-catname{width:180px;font-weight:800}
.pgs-typeseg button{font-size:11px}
.pgs-max{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--m3-text-3)}
.pgs-max input{width:42px;height:28px;text-align:center;padding:0 4px}
.pgs-gatechip{border:1px dashed var(--m3-line);background:none;border-radius:7px;padding:4px 9px;cursor:pointer;
  font-size:10.5px;font-weight:800;color:var(--m3-text-3);font-family:var(--ff)}
.pgs-gatechip.on{color:#F5A623;border:1px solid rgba(245,166,35,.45);background:rgba(245,166,35,.08)}
.pgs-rm{margin-left:auto;border:0;background:none;color:var(--m3-text-3);cursor:pointer;font-size:13px;padding:2px 4px}
.pgs-rm:hover{color:var(--m3-red)}
.pgs-rm.sm{margin-left:0;font-size:11px}
.pgs-gaterow{display:flex;align-items:center;gap:9px;border:1px solid rgba(245,166,35,.3);background:rgba(245,166,35,.05);
  border-radius:9px;padding:7px 10px}
.pgs-gatelab{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#F5A623;flex:0 0 auto}
.pgs-gaterow .sk-input{height:26px;font-size:12px}
.pgs-gatehint{font-size:10px;font-weight:600;color:var(--m3-text-3);flex:0 0 auto}
.pgs-body{display:flex;flex-direction:column;gap:6px}
.pgs-sublab{font-size:11px;font-weight:600;color:var(--m3-text-3);line-height:1.5;text-wrap:pretty}
.pgs-sublab b{color:var(--m3-text-2)}
.pgs-subrow{display:flex;align-items:center;gap:8px}
.pgs-subrow .sk-input{height:26px;font-size:12px;width:220px}
.pgs-subdot{width:6px;height:6px;border-radius:50%;background:var(--m3-gray);flex:0 0 auto}
.pgs-vval{width:46px !important;text-align:center}
.pgs-scale{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;color:var(--m3-text-3);
  border-top:1px solid var(--m3-line-2);padding-top:9px}
.pgs-order{display:flex;flex-direction:column;gap:5px;max-width:560px}
.pgs-ordrow{display:flex;align-items:center;gap:10px;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:9px;padding:7px 11px;cursor:grab}
.pgs-ordrow.dragging{opacity:.45;border-style:dashed}
.pgs-grip{color:var(--m3-text-3);font-size:12px;letter-spacing:-1px;flex:0 0 auto}
.pgs-ordnum{font-family:var(--mono);font-size:10.5px;font-weight:800;color:var(--m3-text-3);width:16px;text-align:right}
.pgs-ordlab{font-size:12.5px;font-weight:700;color:var(--m3-text)}
.pgs-ordcat{font-size:10px;font-weight:700;color:var(--m3-text-3);border:1px solid var(--m3-line);border-radius:5px;padding:1px 6px}
.pgs-ordbtns{margin-left:auto;display:flex;gap:3px}
.pgs-ordbtns button{border:1px solid var(--m3-line);background:var(--m3-surface-2);border-radius:6px;color:var(--m3-text-3);
  font-size:9px;width:22px;height:20px;cursor:pointer}
.pgs-ordbtns button:hover{color:var(--m3-text)}
.pgs-buildnote{border:1px dashed var(--m3-line);border-radius:10px;padding:9px 12px;font-size:11px;font-weight:600;
  color:var(--m3-text-3);line-height:1.55;text-wrap:pretty}
.pgs-buildnote b{color:var(--m3-text-2)}
.pgs-q{border:1px solid rgba(245,166,35,.35);background:rgba(245,166,35,.05);border-radius:11px;padding:11px 14px}
.pgs-qh{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#F5A623;margin-bottom:7px}
.pgs-q ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:6px}
.pgs-q li{font-size:11.5px;font-weight:600;color:var(--m3-text-2);line-height:1.55;text-wrap:pretty}

/* ===========================================================
   Element-first Scoring view (score-sheet redesign · step 2)
   pgv-* — element strip, roster rows, fast-entry popup extras
   =========================================================== */
.pgv-strip{display:flex;gap:6px;flex-wrap:wrap}
.pgv-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--m3-line);background:var(--m3-surface);
  border-radius:9px;padding:6px 10px;cursor:pointer;font-family:var(--ff);font-size:11.5px;font-weight:700;color:var(--m3-text-2)}
.pgv-chip-n{font-family:var(--mono);font-size:9.5px;font-weight:800;color:var(--m3-text-3);border:1px solid var(--m3-line);
  border-radius:5px;padding:1px 5px}
.pgv-chip-p{font-family:var(--mono);font-size:9.5px;font-weight:700;color:var(--m3-text-3)}
.pgv-chip.full .pgv-chip-p{color:var(--m3-lime-d, #7CBA2C)}
.pgv-chip.on{border-color:var(--m3-text);color:var(--m3-text);background:var(--m3-surface-2)}
.pgv-chip.on .pgv-chip-n{border-color:var(--m3-text);color:var(--m3-text)}
.pgv-elhead{display:flex;align-items:center;gap:14px;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:12px;padding:12px 16px}
.pgv-nav{width:34px;height:34px;border:1px solid var(--m3-line);background:var(--m3-surface-2);border-radius:9px;
  font-size:16px;color:var(--m3-text-2);cursor:pointer}
.pgv-nav:disabled{opacity:.35;cursor:default}
.pgv-elmain{flex:1;min-width:0}
.pgv-elname{font-size:17px;font-weight:800;color:var(--m3-text);display:flex;align-items:baseline;gap:10px}
.pgv-elnum{font-size:10.5px;font-weight:700;color:var(--m3-text-3);text-transform:uppercase;letter-spacing:.4px}
.pgv-elsub{font-size:11px;font-weight:600;color:var(--m3-text-3);margin-top:2px}
.pgv-next{height:34px}
.pgv-lastel{font-size:11px;font-weight:700;color:var(--m3-text-3)}
.pgv-roster{display:flex;flex-direction:column;gap:6px;max-width:860px}
.pgv-row{display:flex;align-items:center;gap:12px;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:10px;padding:8px 12px}
.pgv-row.out{opacity:.55;border-style:dashed}
.pgv-who{display:flex;flex-direction:column;min-width:0;flex:1}
.pgv-out{font-size:11px;font-weight:600;color:var(--m3-text-3);font-style:italic}
.pgv-avg{font-size:11px;font-weight:600;color:var(--m3-text-3);flex:0 0 auto}
.pgv-avg b{color:var(--m3-text-2)}
.pgv-unj{color:var(--m3-amber,#F5A623);font-weight:700}
.pgv-cell{display:inline-flex;gap:3px;min-width:74px;height:44px;justify-content:center;
  border:1px solid var(--m3-line);background:var(--m3-surface-2);border-radius:10px;cursor:pointer;
  font-family:var(--mono);align-items:center}
.pgv-cell-v{font-size:17px;font-weight:800;color:var(--m3-text-3)}
.pgv-cell.mine .pgv-cell-v{color:var(--m3-text)}
.pgv-cell.mine{border-color:var(--m3-lime-d,#7CBA2C)}
.pgv-cell.open{outline:2px solid var(--m3-text);outline-offset:-1px}
.pgv-cell-m{font-size:10px;font-weight:700;color:var(--m3-text-3)}
.pgv-fracs{display:flex;align-items:center;gap:6px;margin-top:7px}
.pgv-frac-l{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--m3-text-3);min-width:26px;text-align:right}
.pgv-dvals{display:flex;flex-direction:column;gap:6px;padding:10px 12px 4px}
.pgv-dval{display:flex;align-items:center;gap:10px;border:1px solid var(--m3-line);background:var(--m3-surface-2);
  border-radius:9px;padding:9px 12px;cursor:pointer;font-family:var(--ff);font-size:12px;font-weight:700;color:var(--m3-text-2);
  min-height:44px;text-align:left}
.pgv-dval b{font-size:15px;color:var(--m3-text);min-width:18px}
.pgv-dval.on{border-color:var(--m3-lime-d,#7CBA2C);background:rgba(170,221,68,.08)}
.pgv-dval:disabled{opacity:.5;cursor:default}
.pgv-pop-others{display:flex;gap:8px;padding:8px 14px 0;flex-wrap:wrap}
.pgv-pop-o{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--m3-text-3);border:1px solid var(--m3-line);
  border-radius:6px;padding:2px 7px}

/* fast entry v2 — the buttons are the cell (no activation click) */
.pgv-entry{display:inline-flex;gap:4px;align-items:center;flex:0 0 auto}
.pgv-nbtn{min-width:40px;height:44px;border:1px solid var(--m3-line);background:var(--m3-surface-2);border-radius:9px;
  cursor:pointer;font-family:var(--mono);font-size:14.5px;font-weight:800;color:var(--m3-text-2);padding:0 6px;position:relative}
.pgv-nbtn:hover{border-color:var(--m3-text-3)}
.pgv-nbtn.on{border-color:var(--m3-lime-d,#7CBA2C);background:rgba(170,221,68,.1);color:var(--m3-text)}
.pgv-nbtn sup{font-size:10.5px;font-weight:800;color:var(--m3-lime-d,#7CBA2C);margin-left:2px}
.pgv-nbtn.frac{min-width:46px;color:var(--m3-text)}
.pgv-nbtn:disabled{opacity:.35;cursor:default}
.pgv-fbase{font-size:13px;font-weight:800;color:var(--m3-text-3);min-width:26px;text-align:right}
.pgv-xbtn{width:26px;height:44px;border:0;background:none;color:var(--m3-text-3);cursor:pointer;font-size:11px}
.pgv-xbtn:hover{color:var(--m3-red)}
.pgv-dbtn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:72px;
  height:44px;border:1px solid var(--m3-line);background:var(--m3-surface-2);border-radius:9px;cursor:pointer;
  font-family:var(--ff);padding:0 8px}
.pgv-dbtn b{font-family:var(--mono);font-size:13.5px;font-weight:800;color:var(--m3-text-2);line-height:1}
.pgv-dbtn span{font-size:8.5px;font-weight:700;color:var(--m3-text-3);line-height:1.1;max-width:96px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.pgv-dbtn.on{border-color:var(--m3-lime-d,#7CBA2C);background:rgba(170,221,68,.1)}
.pgv-dbtn.on b{color:var(--m3-text)}
.pgv-dbtn:disabled{opacity:.35;cursor:default}
.pgv-val{font-family:var(--mono);font-size:14px;font-weight:800;color:var(--m3-text);min-width:58px;text-align:right}
.pgv-val small{font-size:9.5px;color:var(--m3-text-3);font-weight:700}

/* per-judge detail is TAP-toggled (testing-day iPad has no hover) */
button.pgv-avg{border:0;background:none;padding:0;cursor:pointer;font-family:var(--ff);text-align:right}
button.pgv-avg:disabled{cursor:default}
button.pgv-avg.open{display:inline-flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.pgv-jchip{font-family:var(--mono);font-size:10px;font-weight:800;color:var(--m3-text-2);border:1px solid var(--m3-line);
  border-radius:6px;padding:2px 6px;background:var(--m3-surface-2)}
.pgv-commitnote{font-size:10.5px;font-weight:700;color:var(--m3-text-3)}

/* ===========================================================
   Results grid (score-sheet redesign · step 3) — pgr-*
   =========================================================== */
.pg-scard.zero .pg-scard-n{color:var(--m3-red,#E5484D)}
.pgr-wrap{display:flex;flex-direction:column;gap:14px}
.pgr-sess{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;overflow:hidden}
.pgr-sess-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--m3-line)}
.pgr-sess-t{font-size:13px;font-weight:800;color:var(--m3-text)}
.pgr-sess-s{font-size:11px;font-weight:600;color:var(--m3-text-3)}
.pgr-scroll{overflow-x:auto}
.pgr-table{width:100%;border-collapse:collapse}
.pgr-table th{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--m3-text-3);
  text-align:left;padding:8px 12px;border-bottom:1px solid var(--m3-line-2);white-space:nowrap}
.pgr-table td{padding:9px 12px;border-bottom:1px solid var(--m3-line-2);font-size:12px;vertical-align:middle}
.pgr-table tr:last-child td{border-bottom:0}
.pgr-num{font-family:var(--mono);font-weight:800;color:var(--m3-text-2);font-size:12.5px}
.pgr-num small{color:var(--m3-text-3);font-weight:700;font-size:9px}
.pgr-els{display:block;font-size:9px;font-weight:700;color:var(--m3-amber,#F5A623)}
.pgr-out{color:var(--m3-text-3);font-size:14px}
.pgr-final{font-family:var(--mono);font-size:14.5px;font-weight:800}
.pgr-final small{font-size:9px;font-weight:700;color:var(--m3-text-3)}
.pgr-final.pass{color:var(--m3-lime-d,#7CBA2C)}
.pgr-final.low{color:var(--m3-text-2)}
.pgr-sug{display:inline-flex;font-size:9.5px;font-weight:800;border-radius:6px;padding:2px 7px;letter-spacing:.3px;white-space:nowrap}
.pgr-sug.pass{color:var(--m3-lime-d,#7CBA2C);border:1px solid rgba(170,221,68,.45)}
.pgr-sug.nc{color:var(--m3-text-3);border:1px solid var(--m3-line)}
.pgr-zero{display:inline-flex;font-size:9.5px;font-weight:800;color:#fff;background:var(--m3-red,#E5484D);
  border-radius:6px;padding:2px 7px;margin-left:7px;vertical-align:middle}
.pgr-dec{display:inline-flex;border:1px solid var(--m3-line);border-radius:8px;overflow:hidden}
.pgr-dec button{border:0;background:none;font-size:10px;font-weight:800;padding:7px 10px;cursor:pointer;
  color:var(--m3-text-3);font-family:var(--ff);letter-spacing:.3px}
.pgr-dec button.p.on{background:rgba(170,221,68,.16);color:var(--m3-lime-d,#7CBA2C)}
.pgr-dec button.n.on{background:var(--m3-surface-2);color:var(--m3-text)}
.pgr-manual{display:block;font-size:9px;font-weight:700;color:var(--m3-amber,#F5A623);margin-top:3px}
/* committed-session auto-sort: promoting rows flagged green (name + score), at top */
.pgr-promoting{background:var(--m3-lime-wash)}
.pgr-promoting .pg-sc-n{color:var(--m3-lime)}
.pgr-promoting .pgr-final,.pgr-promoting .pgr-final.pass,.pgr-promoting .pgr-final.low{color:var(--m3-lime)}
/* the Day/Level filter segs hold multi-word labels ("Black Belt") — never wrap/clip */
.pg-filterbar .sk-seg button{white-space:nowrap}

/* ===========================================================
   Testing Archive — pga-* (batch list → week roster → detail)
   =========================================================== */
.pga{display:flex;flex-direction:column;gap:12px}
.pga-list{display:flex;flex-direction:column;gap:10px;max-width:720px}
.pga-bcard{text-align:left;background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:12px;
  padding:13px 16px;cursor:pointer;font-family:var(--ff);display:flex;flex-direction:column;gap:5px}
.pga-bcard:hover{border-color:var(--m3-text-3)}
.pga-bhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pga-bname{font-size:14.5px;font-weight:800;color:var(--m3-text)}
.pga-state{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;border-radius:6px;padding:2px 8px}
.pga-state.live{color:var(--m3-amber,#F5A623);border:1px solid rgba(245,166,35,.45);background:rgba(245,166,35,.07)}
.pga-state.final{color:var(--m3-lime-d,#7CBA2C);border:1px solid rgba(170,221,68,.4)}
.pga-combined{font-size:10px;font-weight:700;color:var(--m3-text-3);border:1px dashed var(--m3-line);border-radius:6px;padding:2px 7px}
.pga-bsub{font-size:11.5px;font-weight:600;color:var(--m3-text-3)}
.pga-bstats{font-size:11px;font-weight:700;color:var(--m3-text-2)}
.pga-batch{display:flex;flex-direction:column;gap:10px}
.pga-livenote{font-size:11px;font-weight:600;color:var(--m3-text-3);padding:8px 14px;border-bottom:1px solid var(--m3-line-2);
  background:rgba(245,166,35,.04)}
.pga-livenote b{color:var(--m3-text-2)}
.pga-row{cursor:pointer}
.pga-row:hover td{background:var(--m3-surface-2)}
.pga-cellsub{font-size:11.5px;font-weight:600;color:var(--m3-text-2)}
.pga-dec{font-size:10px;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.pga-dec.p{color:var(--m3-lime-d,#7CBA2C)}
.pga-dec.n{color:var(--m3-text-3)}
.pga-detail{display:flex;flex-direction:column;gap:12px;max-width:760px}
.pga-dhead{display:flex;gap:18px;align-items:flex-start;background:var(--m3-surface);border:1px solid var(--m3-line);
  border-radius:12px;padding:14px 16px;flex-wrap:wrap}
.pga-dwho{flex:1;min-width:220px}
.pga-dname{font-size:17px;font-weight:800;color:var(--m3-text);display:flex;align-items:center;gap:9px}
.pga-loc{font-size:10px;font-weight:700;color:var(--m3-text-3);border:1px solid var(--m3-line);border-radius:6px;padding:2px 7px}
.pga-dmeta{font-size:11.5px;font-weight:600;color:var(--m3-text-3);margin-top:3px}
.pga-dranks{font-size:12.5px;font-weight:700;color:var(--m3-text-2);margin-top:7px}
.pga-dranks i{font-style:normal;color:var(--m3-text-3);font-size:11px;font-weight:600}
.pga-dranks b{color:var(--m3-lime-d,#7CBA2C)}
.pga-dscore{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.pga-cats{display:flex;flex-direction:column;gap:9px}
.pga-cat{background:var(--m3-surface);border:1px solid var(--m3-line);border-radius:11px;padding:11px 14px}
.pga-cath{display:flex;align-items:baseline;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--m3-line-2);margin-bottom:7px}
.pga-catname{font-size:13px;font-weight:800;color:var(--m3-text)}
.pga-catsub{font-size:10px;font-weight:700;color:var(--m3-text-3)}
.pga-el{display:flex;align-items:center;gap:10px;padding:4px 0}
.pga-elname{font-size:12px;font-weight:700;color:var(--m3-text-2);flex:0 0 170px}
.pga-judges{display:flex;gap:5px;flex-wrap:wrap;flex:1}
.pgv-jchip.zero{color:#fff;background:var(--m3-red,#E5484D);border-color:var(--m3-red,#E5484D)}
.pga-elavg{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--m3-text-2)}

/* ---- commit-lock fix: locked rows render no buttons; unlock affordances ---- */
.pgv-locked{font-size:13px;opacity:.5;padding:4px 8px;cursor:default}
.pgv-unlock{margin-left:10px;border:1px solid var(--m3-line);background:var(--m3-surface);border-radius:7px;
  padding:3px 10px;font-family:var(--ff);font-size:11px;font-weight:700;color:var(--m3-text-2);cursor:pointer;white-space:nowrap}
.pgv-unlock:hover{border-color:var(--m3-text-3);color:var(--m3-text)}
.pgv-unlocknote{margin-left:8px;font-size:10.5px;color:var(--m3-text-3);font-weight:600}
/* ---- element strips under category totals (Results grid) ---- */
.pgr-strip{display:flex;align-items:baseline;margin-top:3px;font-family:var(--mono);font-size:10px;
  font-weight:700;color:var(--m3-text-2);white-space:nowrap}
.pgr-strip i{font-style:normal;padding:1px 4px}
.pgr-strip i:not(:last-child){border-right:1px solid var(--m3-line-2)}
.pgr-strip i.blank{color:var(--m3-text-3)}
.pgr-strip i.zero{color:#fff;background:var(--m3-red,#E5484D);border-radius:4px}

/* ---- decision lock + permission gate (Results grid) ---- */
.pgr-dec.locked{display:inline-flex;align-items:center;gap:6px;cursor:default}
.pgr-decval{font-size:10px;font-weight:800;letter-spacing:.4px;border:1px solid var(--m3-line);border-radius:7px;padding:3px 9px;color:var(--m3-text-3)}
.pgr-decval.p{color:var(--m3-lime-d,#7CBA2C);border-color:rgba(170,221,68,.4)}
.pgr-declock{font-size:11px;opacity:.55}
.pgr-gated{font-size:12px;font-weight:700;color:var(--m3-text-3);border:1px dashed var(--m3-line);border-radius:8px;padding:8px 13px;cursor:default;white-space:nowrap}
