/* ---- abuse (9/26/26, #126 Referee Abuse Reports) ---- */
.ab-tiles{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.ab-tiles.ab-t5{ grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
.ab-tiles.ab-t4{ grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.ab-tiles .tile .n{ font-size:12px; color:var(--muted); }
.ab-red{ color:var(--danger); }
.pill.ab-sent{ background:var(--gold-wash); color:var(--ink); border-color:transparent; }
.pill.ab-review{ background:var(--hi-wash); color:var(--hi-text); border-color:transparent; }
.pill.ab-refn{ background:var(--navy); color:#fff; border-color:transparent; }
.ab-steps{ list-style:none; margin:14px 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.ab-steps li{ border-top:4px solid var(--line); padding-top:6px; font-size:12.5px; display:flex; flex-direction:column; min-width:0; }
.ab-steps li b{ font-size:12.5px; overflow-wrap:anywhere; }
.ab-steps li span{ color:var(--muted); }
.ab-steps li.done{ border-top-color:var(--green); }
.ab-steps li.now{ border-top-color:var(--gold); }
.ab-grid{ display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:16px; align-items:start; }
.ab-kv{ grid-template-columns:minmax(90px,auto) minmax(0,1fr); }
.ab-kv dd{ overflow-wrap:anywhere; }
.ab-narr{ white-space:pre-wrap; overflow-wrap:anywhere; background:var(--sunken); border:1px solid var(--hair); border-radius:10px; padding:12px 14px; margin:12px 0; font-size:14px; line-height:1.55; }
.ab-ppl{ display:flex; flex-direction:column; gap:10px; font-size:13.5px; }
.ab-ppl > div{ overflow-wrap:anywhere; }
.ab-tl{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.ab-tl li{ border-left:3px solid var(--line); padding-left:10px; font-size:13px; overflow-wrap:anywhere; }
.ab-tl li.k-sent, .ab-tl li.k-closed{ border-left-color:var(--green); }
.ab-tl li.k-received{ border-left-color:var(--gold); }
.ab-tl li.k-status{ border-left-color:var(--hi); }
.ab-setcard{ margin-top:16px; }
.ab-acts button, .ab-acts2 button{ white-space:nowrap; }
@media (max-width:820px){ .ab-grid{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:460px){ .ab-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); } .ab-tiles.ab-t4, .ab-tiles.ab-t5{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-color-scheme: dark){ .pill.ab-refn{ background:var(--gold); color:#1B2652; } .pill.ab-sent{ color:var(--gold); } }
/* ---- end abuse ---- */
/* ---- mentor2 (9/26/26, #123 Mentor Assignments, #124 lapsed referees) ---- */
.m2-bar #m2new{ white-space:nowrap; }
.m2-sub{ font-size:12.5px; color:var(--muted); line-height:1.4; overflow-wrap:anywhere; }
.m2-asg{ border-top:1px solid var(--hair); padding:10px 0; }
.m2-asg:first-child{ border-top:0; padding-top:0; }
.m2-ahead{ gap:8px; align-items:center; }
.m2-note{ white-space:pre-wrap; overflow-wrap:anywhere; background:var(--sunken); border:1px solid var(--hair); border-radius:10px; padding:8px 10px; margin:6px 0; font-size:13.5px; }
.plist > .m2-item{ align-items:flex-start; }
.m2-it{ min-width:0; flex:1 1 auto; overflow-wrap:anywhere; }
.m2-item .r{ display:flex; gap:6px; align-items:center; flex:none; }
.m2-x{ min-width:36px; padding:4px 8px; }
.m2-sec{ display:flex; flex-direction:column; gap:6px; border:1px solid var(--hair); border-radius:10px; padding:10px; }
.m2-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.m2-chip{ display:inline-flex; align-items:center; gap:4px; background:var(--gold-wash); border-radius:99px; padding:2px 4px 2px 10px; font-size:12.5px; max-width:100%; overflow-wrap:anywhere; }
.m2-chip button{ border:0; background:transparent; color:var(--ink); padding:2px 6px; min-height:28px; cursor:pointer; }
.m2-g{ display:flex !important; gap:8px; align-items:flex-start; cursor:pointer; }
.m2-g input{ margin-top:3px; flex:none; }
.m2-g > span{ min-width:0; overflow-wrap:anywhere; }
#m2gl, #m2rr{ max-height:260px; overflow:auto; }
/* #124: lapsed / never-licensed referees read greyed in search results and pickers */
.person.m2-lapsed .nm, tr.m2-lapsed td{ color:var(--muted); }
.sugg a.m2-lapsed .nm{ color:var(--muted); }
@media (max-width:600px){ .m2-item .r{ flex-direction:column; align-items:flex-end; } }

/* ---- eval (9/26/26, #98 evaluation requests + coach assignment board) ---- */
.ev-wt{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.ev-late{ color:var(--danger); }
.pill.ev-kind{ background:var(--sunken); border-color:var(--line); color:var(--ink); }
.pill.ev-kind.ev-nat{ background:var(--navy-2); border-color:var(--navy-2); color:var(--surface); }
.pill.ev-asg{ background:var(--gold-wash); color:var(--ink); border-color:transparent; }
.ev-count{ display:inline-block; min-width:22px; text-align:center; background:var(--gold); color:#1B2652; border-radius:99px; font-size:12px; padding:0 7px; margin-left:4px; letter-spacing:0; }
.ev-board{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; align-items:start; }
.ev-col{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.ev-cards{ display:flex; flex-direction:column; gap:10px; }
.ev-card{ border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:12px; padding:10px 12px; background:var(--surface); display:flex; flex-direction:column; gap:3px; min-width:0; }
.ev-card[draggable="true"]{ cursor:grab; }
.ev-card.dragging{ opacity:.5; }
.ev-card.sel{ box-shadow:0 0 0 3px rgba(242,194,48,.6); border-color:var(--gold-2); }
.ev-card.attn{ border-left-color:var(--danger); }
.ev-ch{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.ev-ch b{ font-size:15px; }
.ev-meta{ font-size:13px; overflow-wrap:anywhere; }
.ev-ret{ font-size:12.5px; background:var(--warn-wash); color:var(--warn); border-radius:8px; padding:3px 8px; align-self:flex-start; }
.ev-attn, .ev-warn{ font-size:12.5px; background:var(--danger-wash); color:var(--danger); border-radius:8px; padding:4px 8px; margin-top:4px; }
.ev-warn{ background:var(--warn-wash); color:var(--warn); }
.ev-acts{ margin-top:6px; gap:6px; }
.ev-acts button, .ev-acts .btn{ min-height:34px; font-size:13px; }
.ev-tiles{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; }
.ev-tile{ border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:var(--surface); display:flex; flex-direction:column; gap:6px; min-width:0; }
.ev-tile.pickable{ border-style:dashed; border-color:var(--gold-2); }
.ev-tile.cur{ opacity:.6; }
.ev-tile.over{ box-shadow:0 0 0 3px rgba(242,194,48,.7); border-style:solid; }
.ev-th{ display:flex; gap:10px; align-items:center; }
.ev-th b{ overflow-wrap:anywhere; }
.ev-av{ width:38px; height:38px; flex:none; border-radius:99px; display:grid; place-items:center; font-weight:800; font-size:12px; background:#1B2652; color:#F2C230; }
.ev-meter{ height:6px; border-radius:99px; background:var(--track); overflow:hidden; }
.ev-meter span{ display:block; height:100%; background:var(--green); }
.ev-meter.behind span{ background:var(--danger); }
.ev-stats{ display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12.5px; color:var(--muted); }
.ev-stats b{ color:var(--ink); }
.ev-mail{ display:flex; align-items:center; gap:4px; overflow-wrap:anywhere; }
.ev-mail .ev-em{ min-height:26px; padding:0 8px; font-size:12px; margin-left:auto; }
.ev-go{ min-height:36px; }
.ev-selbar{ position:sticky; bottom:10px; z-index:20; display:flex; gap:10px; align-items:center; background:#1B2652; color:#fff; border-radius:12px; padding:10px 14px; box-shadow:0 8px 24px rgba(0,0,0,.25); }
.ev-selbar span{ flex:1; min-width:0; font-size:13.5px; }
.ev-selbar button{ color:#fff; border-color:rgba(255,255,255,.4); min-height:34px; }
.ev-dgrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ev-kv{ grid-template-columns:minmax(80px,auto) minmax(0,1fr); }
.ev-kv dd{ overflow-wrap:anywhere; }
@media (prefers-color-scheme: dark){
  .ev-av{ background:#F2C230; color:#1B2652; }
  .ev-selbar{ background:#F2C230; color:#1B2652; }
  .ev-selbar button{ color:#1B2652; border-color:rgba(27,38,82,.4); }
}
@media (max-width:900px){ .ev-board, .ev-dgrid{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px){ .ev-wt{ grid-template-columns:minmax(0,1fr); } .ev-tiles{ grid-template-columns:minmax(0,1fr); } }

/* ---- fitness (#119, 9/26/26): .fit-* only. Colours come from index.html's tokens, so light/dark follow them. ---- */
.fit-tiles{ grid-template-columns:repeat(auto-fit,minmax(112px,1fr)); }
.fit-v{ font-size:20px; }
.fit-hint{ font-size:12px; color:var(--muted); }
.fit-of{ font-size:14px; color:var(--muted); font-weight:600; }
.fit-set{ display:flex; flex-direction:column; gap:6px; margin-top:10px; font-size:13px; color:var(--muted); }
.fit-set > span{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.fit-set button{ min-height:28px; font-size:12px; padding:2px 10px; }
.fit-dates{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.fit-date{ display:flex; flex-direction:column; gap:4px; border:1px solid var(--line); border-radius:12px; padding:12px; color:inherit; text-decoration:none; background:var(--sunken); min-width:0; }
.fit-date:hover{ border-color:var(--gold); }
.fit-dd{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.fit-dd .pill{ margin-left:auto; }
.fit-nums{ display:flex; flex-wrap:wrap; gap:4px 12px; font-size:13px; }
.fit-bar{ gap:8px; flex-wrap:wrap; margin-top:12px; }
.fit-acts{ display:inline-flex; gap:4px; flex-wrap:wrap; }
.fit-acts button{ min-height:28px; font-size:12px; padding:2px 8px; }
.fit-in{ width:34px; min-height:34px; padding:0; font-size:18px; font-weight:800; border-radius:8px; }
.fit-in.on{ background:var(--green); border-color:var(--green); color:#fff; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .fit-in.on{ color:#0E1526; } }
:root[data-theme="dark"] .fit-in.on{ color:#0E1526; }
.fit-gone{ margin-top:12px; font-size:13px; }
.fit-gone summary{ cursor:pointer; color:var(--muted); }
.fit-form{ display:flex; flex-direction:column; gap:10px; }
.fit-form label{ display:flex; flex-direction:column; gap:4px; font-size:13px; font-weight:600; min-width:0; }
.fit-form label.chk{ flex-direction:row; font-weight:500; }
.fit-form input[type=time], .fit-form input[type=datetime-local], .fit-form input[type=date], .fit-res select, .fit-res input[type=text]{
  font:inherit; font-size:14px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:6px 8px; min-height:34px; min-width:0; max-width:100%; box-sizing:border-box; }
.fit-lab{ font-size:13px; font-weight:600; margin-bottom:4px; display:block; }
.fit-two{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; }
.fit-fee{ width:80px !important; display:inline-block; margin-left:4px; }
.fit-std{ display:flex; flex-direction:column; gap:12px; max-height:60vh; overflow:auto; }
.fit-stdrow{ border-top:1px solid var(--hair); padding-top:8px; }
.fit-stdrow .fit-two{ grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); margin-top:6px; }
.fit-stdrow label{ display:flex; flex-direction:column; gap:3px; font-size:12px; }
.fit-grp{ margin-top:16px; }
.fit-grp h3{ margin:0; }
.fit-res{ border:1px solid var(--line); border-left:4px solid var(--line); border-radius:12px; padding:10px 12px; margin-top:10px; background:var(--surface); min-width:0; }
.fit-res.saved{ border-left-color:var(--green); }
.fit-res.dirty{ border-left-color:var(--gold); }
.fit-rhead{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.fit-overall{ display:inline-flex; flex-wrap:wrap; gap:4px; align-items:center; font-size:12.5px; color:var(--muted); }
.fit-all .pill{ font-size:12px; }
.fit-rbody{ display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:8px; align-items:flex-end; }
.fit-rbody.fit-off .fit-f:not(:first-child):not(.fit-note):not(.fit-save){ opacity:.4; }
.fit-f{ display:flex; flex-direction:column; gap:4px; font-size:12.5px; font-weight:600; min-width:0; }
.fit-times{ display:flex; flex-wrap:wrap; gap:4px; }
.fit-times input{ width:54px; text-align:center; padding:6px 4px !important; }
.fit-times input.fit-lap{ width:52px; }
.fit-ov{ font-size:12px !important; min-height:28px !important; padding:2px 6px !important; color:var(--muted) !important; }
.fit-note{ flex:1 1 180px; }
.fit-note input{ width:100%; }
.fit-save{ flex-direction:row; gap:6px; }
.fit-check{ display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.fit-check:empty{ display:none; }
/* print sheet */
.fit-shead{ display:flex; gap:12px; align-items:center; border-bottom:2px solid var(--navy); padding-bottom:8px; margin-bottom:8px; }
.fit-shead img{ width:48px; height:48px; }
.fit-sorg{ font-size:12px; color:var(--muted); }
.fit-stype{ font-family:'Oswald',sans-serif; font-size:20px; font-weight:700; color:var(--navy); }
.fit-sstd{ font-size:12px; }
.fit-sheet{ overflow-x:auto; }
.fit-ptable{ width:100%; border-collapse:collapse; font-size:12px; }
.fit-ptable th, .fit-ptable td{ border:1px solid var(--line); padding:4px; text-align:center; height:30px; }
.fit-ptable th small{ display:block; font-weight:500; color:var(--muted); }
.fit-ptable td.fit-pn{ text-align:left; min-width:150px; }
.fit-pu{ font-size:10px; color:var(--muted); }
.fit-sfoot{ font-size:11px; color:var(--muted); margin-top:6px; }
@media print{
  @page{ size:landscape; margin:10mm; }
  .fit-sheet{ break-after:page; page-break-after:always; overflow:visible; border:0; padding:0; }
  .fit-ptable th, .fit-ptable td{ border-color:#8791A3; }
}
@media (max-width:600px){
  .fit-times input{ width:50px; }
  .fit-save{ width:100%; }
  .fit-save button{ flex:1; }
}

.fit-howto{ margin-top:10px; padding:10px 12px; border-radius:10px; background:var(--gold-wash); font-size:13px; }
.fit-howto ol{ margin:4px 0 0; padding-left:20px; }
.fit-howto li{ margin:2px 0; }
