:root{
  --g10:#f4f4f4;--g20:#e0e0e0;--g30:#c6c6c6;--g40:#a8a8a8;--g50:#8d8d8d;
  --g60:#6f6f6f;--g70:#525252;--g80:#393939;--g90:#262626;--g100:#161616;
  --blue10:#edf5ff;--blue40:#78a9ff;--blue60:#0f62fe;--blue70:#0043ce;
  --green:#24a148;--green10:#defbe6;--green70:#0e6027;
  --red:#da1e28;--red10:#fff1f1;--red70:#a2191f;
  --amber:#b28600;--amber10:#fcf4d6;--amber70:#8a6800;
  --purple:#8a3ffc;--teal:#009d9a;
  --font:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --hdr:48px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--g10);color:var(--g100);font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased}
button{font-family:var(--font);cursor:pointer;border:none;background:none;color:inherit}
input,select{font-family:var(--font);font-size:14px}
table{width:100%;border-collapse:collapse;background:#fff}
th{background:var(--g10);text-align:left;font-size:11px;font-weight:600;letter-spacing:.02em;
  text-transform:uppercase;color:var(--g70);padding:11px 13px;border-bottom:1px solid var(--g20);
  white-space:nowrap;position:sticky;top:0;z-index:1}
td{padding:11px 13px;border-bottom:1px solid var(--g20);font-size:13px;vertical-align:top}
tr:last-child td{border-bottom:none}
.mono{font-family:var(--mono);font-size:12px}
.sp{flex:1}

/* ---------- login ---------- */
.login{min-height:100vh;background:var(--g100);display:flex;flex-direction:column}
.login-in{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:44px 24px;width:100%;max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;align-self:flex-start;margin-bottom:auto}
.brand-rule{width:1px;height:22px;background:var(--g70)}
.brand-name{font-size:15px;font-weight:600;color:#fff;white-space:nowrap}
.ibm{display:block}
.lg-h{font-size:34px;font-weight:300;color:#fff;line-height:1.18;margin-top:30px;text-align:left}
.lg-h b{font-weight:600;display:inline}
.lg-s{font-size:14px;color:var(--g40);margin-top:14px;text-align:left;max-width:620px}
.lg-date{display:inline-flex;align-items:center;gap:9px;background:var(--g90);border:1px solid var(--g80);
  color:var(--g30);font-size:12px;padding:7px 14px;margin-top:20px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g80);
  border:1px solid var(--g80);margin-top:34px;width:100%}
.tile{background:var(--g100);padding:22px 20px;text-align:left;display:flex;flex-direction:column;
  gap:9px;transition:background .14s}
.tile:hover{background:var(--g90)}
.tile-i{color:var(--blue40)}
.tile-t{font-size:15px;font-weight:600;color:#fff}
.tile-s{font-size:11.5px;color:var(--g50);line-height:1.45;flex:1}
.tile-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.tile-b{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  color:var(--blue40);border:1px solid var(--g70);padding:7px 11px;background:transparent;
  transition:all .14s}
.tile-b:hover{border-color:var(--blue40);background:rgba(120,169,255,.12)}
.tile-b.pri{background:var(--blue60);border-color:var(--blue60);color:#fff}
.tile-b.pri:hover{background:var(--blue70);border-color:var(--blue70)}
.tile:focus-visible{outline:2px solid var(--blue40);outline-offset:-2px}
.login-foot{border-top:1px solid var(--g80);padding:16px 24px;display:flex;flex-wrap:wrap;gap:9px 26px;
  align-items:center;justify-content:center;color:var(--g30);font-size:12.5px}
.lf-org{display:inline-flex;align-items:center;gap:9px}
.lf-div{width:1px;height:15px;background:var(--g70)}
@media(max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}.lg-h{font-size:26px}}
@media(max-width:520px){.tiles{grid-template-columns:1fr}}

/* ---------- shell ---------- */
.hdr{height:var(--hdr);background:var(--g100);color:#fff;display:flex;align-items:center;
  padding:0 16px;gap:14px;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--g80)}
.hdr-brand{display:flex;align-items:center;gap:12px}
.hdr-name{font-size:13.5px;font-weight:600;white-space:nowrap}
.hdr-rule{width:1px;height:16px;background:var(--g70)}
.hdr-who{font-size:12px;color:var(--g40);white-space:nowrap}
.hdr-btn{color:#fff;padding:8px;display:flex;opacity:.8}
.hdr-btn:hover{opacity:1}
.live{display:inline-flex;align-items:center;gap:7px;background:var(--g90);border:1px solid var(--g80);
  padding:5px 11px;font-size:11px;color:var(--g30);font-weight:600;letter-spacing:.03em}
.live i{width:7px;height:7px;background:var(--green);border-radius:50%;animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.body{display:flex;min-height:calc(100vh - var(--hdr))}
.nav{width:228px;background:#fff;border-right:1px solid var(--g20);flex-shrink:0;padding:10px 0 26px}
.nav-g{padding:14px 15px 7px;font-size:10.5px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--g60)}
.nav-i{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:10px 15px;
  font-size:13px;color:var(--g80);border-left:3px solid transparent}
.nav-i:hover{background:var(--g10)}
.nav-i.on{background:var(--blue10);border-left-color:var(--blue60);color:var(--blue70);font-weight:600}
.main{flex:1;padding:24px 28px 60px;min-width:0;max-width:1500px}
@media(max-width:1180px){.nav{width:206px}.main{padding:20px 18px 50px}}
@media(max-width:560px){.body{flex-direction:column}.nav{width:100%;border-right:none;
  border-bottom:1px solid var(--g20)}.main{padding:16px 14px 40px}}

/* ---------- page furniture ---------- */
.ph{display:flex;align-items:flex-end;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--g20);
  margin-bottom:20px;flex-wrap:wrap}
.ph-t{font-size:24px;font-weight:300;line-height:1.2}
.ph-s{font-size:13px;color:var(--g60);margin-top:6px}
.ph-a{text-align:right}
.ph-a b{font-size:26px;font-weight:600;display:block;line-height:1}
.ph-a span{font-size:11px;color:var(--g60);letter-spacing:.03em}
.sec{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g70);
  margin:26px 0 11px}
.card{background:#fff;border:1px solid var(--g20)}
.card-b{padding:18px}
.note{display:flex;gap:11px;padding:13px 15px;font-size:12.5px;line-height:1.5;align-items:flex-start}
.note.i{background:var(--blue10);border-left:3px solid var(--blue60);color:var(--g90)}
.note.w{background:var(--amber10);border-left:3px solid var(--amber);color:var(--g90)}
.note.g{background:var(--green10);border-left:3px solid var(--green);color:var(--green70)}
.note.r{background:var(--red10);border-left:3px solid var(--red);color:var(--red70)}
.note svg{flex-shrink:0;margin-top:1px}

/* ---------- KPI cards ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.kpi{background:#fff;border:1px solid var(--g20);border-top:3px solid var(--blue60);padding:15px 17px}
.kpi.ok{border-top-color:var(--green)}
.kpi.warn{border-top-color:var(--amber)}
.kpi.bad{border-top-color:var(--red)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--g60)}
.kpi-l{font-size:11px;letter-spacing:.02em}
.kpi-v{font-size:29px;font-weight:600;line-height:1.05;margin-top:9px}
.kpi-v span{font-size:14px;color:var(--g50);font-weight:400;margin-left:3px}
.kpi-f{font-size:11px;color:var(--g60);margin-top:7px;line-height:1.4}
.kpi-bar{height:3px;background:var(--g20);margin-top:11px}
.kpi-bar>i{display:block;height:3px;background:var(--blue60)}

/* ---------- charts ---------- */
.chart{background:#fff;border:1px solid var(--g20);padding:17px 18px}
.chart-t{font-size:14px;font-weight:600}
.chart-s{font-size:11.5px;color:var(--g60);margin-top:4px}
.chart-w{margin-top:16px;overflow-x:auto}
.legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--g60)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;display:block}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:980px){.grid2{grid-template-columns:1fr}}

/* ---------- bars ---------- */
.bars{display:flex;flex-direction:column;gap:13px}
.bar-r{}
.bar-t{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;gap:12px;
  margin-bottom:6px}
.bar-t b{font-weight:600;white-space:nowrap}
.bar-k{background:var(--g20);height:9px;position:relative}
.bar-f{height:9px;background:var(--blue60);transition:width .4s ease}

/* ---------- tags & buttons ---------- */
.tag{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 8px;white-space:nowrap}
.tag.g{background:var(--green10);color:var(--green70)}
.tag.a{background:var(--amber10);color:var(--amber70)}
.tag.r{background:var(--red10);color:var(--red70)}
.tag.b{background:var(--blue10);color:var(--blue70)}
.tag.n{background:var(--g10);color:var(--g70)}
.tag.gold{background:#fcf4d6;color:#8a6800}
.tag.silver{background:var(--g20);color:var(--g70)}
.tag.bronze{background:#fff1e8;color:#8a3800}
.b-pri{display:inline-flex;align-items:center;gap:9px;background:var(--blue60);color:#fff;
  padding:11px 17px;font-size:13.5px;font-weight:600}
.b-pri:hover{background:var(--blue70)}
.b-pri:disabled{background:var(--g30);color:var(--g50);cursor:not-allowed}
.b-sec{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--g80);
  border:1px solid var(--g40);padding:10px 16px;font-size:13.5px;font-weight:600}
.b-sec:hover{border-color:var(--g80)}
.b-sm{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--g30);background:#fff;
  padding:6px 11px;font-size:11.5px;font-weight:600;color:var(--g70)}
.b-sm:hover{border-color:var(--blue60);color:var(--blue70)}
.b-sm.on{background:var(--g100);color:#fff;border-color:var(--g100)}
.b-sm:disabled{opacity:.4;cursor:not-allowed}
.b-add{display:inline-flex;align-items:center;gap:7px;background:var(--g100);color:#fff;
  padding:8px 14px;font-size:12.5px;font-weight:600}
.b-add:hover{background:var(--g80)}
.tbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 11px}
.tbar-t{font-size:13px;font-weight:600}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--g30);background:#fff;
  padding:5px 11px;font-size:11.5px;font-weight:600;color:var(--g70)}
.chip i{font-style:normal;font-size:10px;background:var(--g20);padding:1px 6px}
.chip.on{background:var(--g100);color:#fff;border-color:var(--g100)}
.chip.on i{background:var(--g80);color:#fff}
.chip:hover:not(.on){border-color:var(--blue60);color:var(--blue70)}

/* ---------- search ---------- */
.search{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--g30);
  border-bottom:2px solid var(--g50);padding:11px 14px}
.search:focus-within{border-bottom-color:var(--blue60)}
.search input{flex:1;border:none;outline:none;background:transparent;font-size:14px}
.search svg{color:var(--g60);flex-shrink:0}

/* ---------- wizard ---------- */
.wz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g20);
  border:1px solid var(--g20);margin-bottom:20px}
.wz-st{background:#fff;padding:12px 14px}
.wz-st.on{background:var(--blue10);box-shadow:inset 0 3px 0 var(--blue60)}
.wz-st.done{background:#f6fef9;box-shadow:inset 0 3px 0 var(--green)}
.wz-n{font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--g60);display:flex;
  align-items:center;gap:5px}
.wz-t{font-size:12.5px;font-weight:600;margin-top:5px;line-height:1.3}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fg.one{grid-template-columns:1fr}
@media(max-width:700px){.fg{grid-template-columns:1fr}.wz-steps{grid-template-columns:repeat(2,1fr)}}
.fld label{display:block;font-size:11.5px;color:var(--g70);font-weight:600;margin-bottom:6px}
.fld label i{color:var(--red);font-style:normal}
.fld input,.fld select{width:100%;background:var(--g10);border:none;border-bottom:1px solid var(--g50);
  padding:12px 13px;outline:none;color:var(--g100)}
.fld input:focus,.fld select:focus{border-bottom:2px solid var(--blue60);background:#fff}
.fld input:disabled{color:var(--g60)}
.fld-e{display:flex;align-items:center;gap:5px;color:var(--red);font-size:11.5px;margin-top:5px}
.rev{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g20);border:1px solid var(--g20)}
.rev-i{background:#fff;padding:11px 14px}
.rev-k{font-size:10.5px;color:var(--g60);letter-spacing:.02em}
.rev-v{font-size:13.5px;font-weight:600;margin-top:3px}
@media(max-width:700px){.rev{grid-template-columns:1fr}}
.succ{text-align:center;padding:38px 20px}
.succ-i{width:62px;height:62px;background:var(--green);color:#fff;display:flex;align-items:center;
  justify-content:center;margin:0 auto}
.succ-h{font-size:22px;font-weight:300;margin-top:18px}
.succ-s{font-size:13.5px;color:var(--g60);margin-top:10px;max-width:520px;margin-left:auto;
  margin-right:auto;line-height:1.55}
.succ-id{font-family:var(--mono);font-size:15px;background:var(--g10);border:1px solid var(--g20);
  display:inline-block;padding:9px 18px;margin-top:18px}

/* ---------- drawer ---------- */
.ovl{position:fixed;inset:0;background:rgba(22,22,22,.55);z-index:80;display:flex;justify-content:flex-end}
.dr{background:var(--g10);width:min(880px,100%);height:100%;overflow-y:auto;animation:slide .22s ease}
@keyframes slide{from{transform:translateX(28px);opacity:.4}to{transform:none;opacity:1}}
.dr-hd{background:var(--g100);color:#fff;padding:18px 24px 0}
.dr-x{display:inline-flex;align-items:center;gap:8px;color:var(--g30);font-size:12.5px;padding:6px 0}
.dr-x:hover{color:#fff}
.dr-id{display:flex;gap:16px;align-items:flex-start;margin-top:14px}
.dr-av{width:52px;height:52px;background:var(--g80);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;color:#fff;font-weight:600;font-size:17px}
.dr-nm{font-size:21px;font-weight:300}
.dr-sub{font-size:12.5px;color:var(--g40);margin-top:5px}
.dr-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.dr-pid{font-size:10.5px;background:var(--g80);color:var(--g20);padding:2px 8px;font-family:var(--mono)}
.dr-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g80);margin-top:20px}
.dr-st{background:var(--g90);padding:13px 16px}
.dr-st-v{font-size:20px;font-weight:600;color:#fff;line-height:1}
.dr-st-l{font-size:9.5px;color:var(--g40);letter-spacing:.05em;margin-top:5px}
.dr-bd{padding:22px 24px 50px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g20);border:1px solid var(--g20)}
.kv-i{background:#fff;padding:10px 14px;display:flex;justify-content:space-between;gap:12px}
.kv-k{font-size:12px;color:var(--g60)}
.kv-v{font-size:12.5px;font-weight:600;text-align:right}
@media(max-width:640px){.kv,.dr-strip{grid-template-columns:1fr}.dr-strip{gap:1px}}

/* ---------- offline queue ---------- */
.q-bar{display:flex;align-items:center;gap:14px;background:var(--g100);color:#fff;padding:12px 17px;
  flex-wrap:wrap}
.q-bar.off{background:var(--amber70)}
.q-st{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600}
.q-st i{width:8px;height:8px;border-radius:50%;background:var(--green)}
.q-bar.off .q-st i{background:#fff}
.q-n{font-size:11.5px;color:var(--g30)}
.q-bar.off .q-n{color:rgba(255,255,255,.85)}
.evt{background:#fff;border:1px solid var(--g20);border-left:3px solid var(--blue60);padding:15px 17px;
  margin-bottom:10px}
.evt.done{border-left-color:var(--green);background:#fbfefc}
.evt.queued{border-left-color:var(--amber);background:#fffdf5}
.evt-h{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.evt-t{font-size:14.5px;font-weight:600}
.evt-s{font-size:11.5px;color:var(--g60);margin-top:4px}
.evt-a{display:flex;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--g20);flex-wrap:wrap}
.pos-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--g20)}
.pos-row:last-child{border-bottom:none}
.pos-n{width:26px;height:26px;background:var(--g10);border:1px solid var(--g20);display:flex;
  align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.pos-n.g1{background:#fcf4d6;border-color:#e8d9a0;color:#8a6800}
.pos-n.g2{background:var(--g20);color:var(--g70)}
.pos-n.g3{background:#fff1e8;border-color:#f5d5c0;color:#8a3800}

/* ---------- certificate ---------- */
.cert{background:#fff;border:1px solid var(--g30);padding:30px;max-width:640px;margin:0 auto;
  position:relative}
.cert-b{position:absolute;inset:9px;border:1px solid var(--g20);pointer-events:none}
.cert-in{position:relative;text-align:center}
.cert-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g60)}
.cert-t{font-size:25px;font-weight:300;margin-top:9px}
.cert-nm{font-size:29px;font-weight:600;margin-top:20px}
.cert-d{font-size:13.5px;color:var(--g70);margin-top:12px;line-height:1.6}
.cert-f{display:flex;justify-content:space-between;align-items:flex-end;margin-top:26px;
  padding-top:18px;border-top:1px solid var(--g20);text-align:left;gap:20px}
.cert-sig{font-size:11px;color:var(--g60);line-height:1.5}
.qr{border:1px solid var(--g20);padding:5px;background:#fff}
.verify-in{display:flex;gap:10px;flex-wrap:wrap}
.verify-in input{flex:1;min-width:220px;font-family:var(--mono);background:var(--g10);border:none;
  border-bottom:1px solid var(--g50);padding:12px 13px;outline:none}
.verify-in input:focus{border-bottom:2px solid var(--blue60);background:#fff}

/* ---------- misc ---------- */
.tblwrap{background:#fff;border:1px solid var(--g20);overflow-x:auto;max-height:520px;overflow-y:auto}
.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:var(--g50);
  font-size:13px;background:#fff;border:1px solid var(--g20)}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--g10);border:1px solid var(--g20);
  padding:3px 9px;font-size:11px;color:var(--g70)}
.foot{margin-top:34px;padding-top:15px;border-top:1px solid var(--g20);display:flex;gap:8px 18px;
  align-items:center;flex-wrap:wrap;font-size:12px;color:var(--g70)}
.foot-o{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--g80)}
.foot-d{width:1px;height:14px;background:var(--g30)}
.foot-m{color:var(--g60);font-size:11.5px}

/* ===== Registration forms ===== */
.modeswitch{display:flex;gap:1px;background:var(--g20);border:1px solid var(--g20);margin-bottom:16px}
.ms{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;
  padding:13px 16px;font-size:13.5px;font-weight:600;color:var(--g70);transition:all .14s}
.ms:hover{background:var(--g10)}
.ms.on{background:var(--g100);color:#fff}
.instr{background:var(--blue10);border-left:3px solid var(--blue60);padding:15px 17px;margin-bottom:18px}
.instr-h{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--blue70)}
.instr-l{margin:11px 0 0 20px;padding:0}
.instr-l li{font-size:12.5px;color:var(--g80);line-height:1.55;margin-bottom:6px}
.chkbox{display:flex;gap:12px;align-items:flex-start;background:var(--g10);border:1px solid var(--g20);
  padding:13px 15px;margin-top:10px;cursor:pointer}
.chkbox input{margin-top:3px;flex-shrink:0}
.chk-t{font-size:13px;font-weight:600}
.chk-s{font-size:12px;color:var(--g60);margin-top:3px;line-height:1.45}
.ptable th{font-size:10.5px;white-space:nowrap;padding:9px 8px}
.ptable td{padding:7px 8px;vertical-align:middle}
.tin{width:100%;min-width:104px;background:var(--g10);border:1px solid var(--g20);padding:8px 9px;
  font-size:12.5px;font-family:var(--font);outline:none}
.tin:focus{border-color:var(--blue60);background:#fff}
.trm{color:var(--g50);padding:5px;display:flex}
.trm:hover{color:var(--red)}

/* ===== Repeatable game entries ===== */
.gamecard{border:1px solid var(--g20);border-left:3px solid var(--blue60);background:#fff;
  padding:15px 17px;margin-bottom:11px}
.gamecard-h{display:flex;align-items:flex-start;gap:12px}
.gamecard-n{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--g100);color:#fff;font-size:12px;font-weight:600}
.gamecard-t{font-size:13.5px;font-weight:600}
.gamecard-s{font-size:11.5px;color:var(--g60);margin-top:3px}

/* ===== Venue capture: left event pane ===== */
.evlayout{display:grid;grid-template-columns:264px 1fr;gap:14px;margin-top:14px;align-items:start}
@media(max-width:1180px){.evlayout{grid-template-columns:232px 1fr}}
@media(max-width:840px){.evlayout{grid-template-columns:1fr}}
.evpane{background:#fff;border:1px solid var(--g20);position:sticky;top:62px;max-height:calc(100vh - 90px);
  overflow-y:auto}
@media(max-width:840px){.evpane{position:static;max-height:none}}
.evpane-h{display:flex;align-items:center;gap:8px;padding:12px 15px;font-size:11px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;color:var(--g70);border-bottom:1px solid var(--g20);
  background:var(--g10)}
.evpane-g{display:flex;align-items:center;justify-content:space-between;padding:11px 15px 6px;
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--g60)}
.evpane-c{font-size:10px;background:var(--g10);border:1px solid var(--g20);padding:1px 7px;
  letter-spacing:0;text-transform:none;color:var(--g70)}
.evitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 15px;
  border-left:3px solid transparent;transition:background .12s}
.evitem:hover{background:var(--g10)}
.evitem.on{background:var(--blue10);border-left-color:var(--blue60)}
.evitem-t{font-size:12.5px;font-weight:600;line-height:1.3}
.evitem-s{font-size:10.5px;color:var(--g60);margin-top:3px}
.evdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--g30)}
.evdot.due{background:var(--amber)}
.evdot.draft{background:var(--blue60)}
.evdot.queued{background:var(--amber70)}
.evdot.published{background:var(--green)}
.evmain{min-width:0}

/* ===== Capture panel ===== */
.caph{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:14px;
  border-bottom:1px solid var(--g20)}
.caph-t{font-size:17px;font-weight:600}
.caph-s{font-size:11.5px;color:var(--g60);margin-top:4px}
.rankgrid{display:flex;flex-direction:column;gap:6px}
.rankrow{display:flex;align-items:center;gap:10px;padding:7px 9px;background:var(--g10);
  border:1px solid var(--g20)}
.rankrow.set{background:#fff;border-color:var(--g30)}
.rankn{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--g20);color:var(--g70);font-size:12.5px;font-weight:600}
.rankn.m1{background:#fcf4d6;color:#8a6800}
.rankn.m2{background:var(--g30);color:var(--g80)}
.rankn.m3{background:#fff1e8;color:#8a3800}
.rankn.s{background:var(--blue10);color:var(--blue70)}
.ranksel{flex:1;min-width:150px;background:#fff;border:1px solid var(--g30);padding:8px 9px;
  font-size:12.5px;font-family:var(--font);outline:none}
.ranksel:focus{border-color:var(--blue60)}
.rankmark{width:118px;flex-shrink:0;background:#fff;border:1px solid var(--g30);padding:8px 9px;
  font-size:12.5px;font-family:var(--mono);outline:none}
.rankmark:focus{border-color:var(--blue60)}
@media(max-width:640px){.rankrow{flex-wrap:wrap}.rankmark{width:100%}}
.capfoot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;
  border-top:1px solid var(--g20)}

/* ===== Athlete-first result capture ===== */
.caplayout{display:grid;grid-template-columns:1fr 300px;gap:16px;margin-top:16px;align-items:start}
@media(max-width:1020px){.caplayout{grid-template-columns:1fr}}
.capleft{min-width:0}
.capbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.entrylist{border:1px solid var(--g20)}
.entryhead{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--g10);
  border-bottom:1px solid var(--g20);font-size:10.5px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--g70)}
.entryrow{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--g20);
  background:#fff;transition:background .12s}
.entryrow:last-child{border-bottom:none}
.entryrow.ranked{background:#f6fbff}
.entryrow.out{background:var(--g10);opacity:.72}
.epos{width:34px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--g10);border:1px solid var(--g20);font-size:12.5px;font-weight:600;color:var(--g60)}
.epos.m1{background:#fcf4d6;border-color:#e8d9a0;color:#8a6800}
.epos.m2{background:var(--g20);border-color:var(--g30);color:var(--g80)}
.epos.m3{background:#fff1e8;border-color:#f5d5c0;color:#8a3800}
.epos.s{background:var(--blue10);border-color:#c9dcff;color:var(--blue70);width:28px}
.ename{flex:1;min-width:0}
.ename-t{font-size:13px;font-weight:600;line-height:1.25}
.ename-s{font-size:10.5px;color:var(--g60);margin-top:2px;font-family:var(--mono)}
.emark{width:120px;flex-shrink:0;background:var(--g10);border:1px solid var(--g20);padding:7px 9px;
  font-size:12.5px;font-family:var(--mono);outline:none}
.emark:focus{border-color:var(--blue60);background:#fff}
.emark:disabled{opacity:.45}
.estat{display:flex;gap:4px;width:132px;flex-shrink:0}
.estat-b{flex:1;border:1px solid var(--g20);background:#fff;font-size:10px;font-weight:600;
  padding:6px 2px;color:var(--g60)}
.estat-b:hover{border-color:var(--g50)}
.estat-b.on{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:700px){.entryhead{display:none}
  .entryrow{flex-wrap:wrap}.emark{width:100%}.estat{width:100%}}
.scorerbox{border:1px solid var(--g20);background:var(--g10);padding:14px 15px;margin-top:14px}
.caprail{display:flex;flex-direction:column;gap:12px;position:sticky;top:62px}
@media(max-width:1020px){.caprail{position:static}}
.railcard{background:#fff;border:1px solid var(--g20)}
.railhead{display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:11px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;color:var(--g70);border-bottom:1px solid var(--g20);
  background:var(--g10)}
.railbody{padding:13px 14px}
.railrow{display:flex;align-items:center;gap:9px;padding:5px 0}
.raillist{max-height:320px;overflow-y:auto}

/* ===== Venue event list inside the sidebar ===== */
.navev{border-top:1px solid var(--g20);margin-top:10px;padding-bottom:6px}
.navev-s{padding:10px 15px 4px;font-size:10.5px;font-weight:600;letter-spacing:.03em;color:var(--g60)}
.navev .evitem{padding:8px 15px;gap:9px}
.navev .evitem-t{font-size:12px}
.navev .evitem-s{font-size:10px}

/* ===== Sports expert observations ===== */
.obscard{background:#fff;border:1px solid var(--g20);border-left:3px solid var(--purple);
  padding:16px 18px;margin-bottom:12px}
.obscard-h{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding-bottom:13px;
  border-bottom:1px solid var(--g20)}
.obscard-t{font-size:15px;font-weight:600}
.obscard-s{font-size:11.5px;color:var(--g60);margin-top:4px}
.obsgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
@media(max-width:760px){.obsgrid{grid-template-columns:1fr}}
.obsbox{background:var(--g10);border:1px solid var(--g20);padding:11px 13px}
.obsbox-l{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--g60)}
.obsbox-v{font-size:17px;font-weight:600;margin-top:6px}
.obsbox-n{font-size:11px;color:var(--g60);margin-top:4px;line-height:1.4}
.obssec{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--g70);margin:16px 0 8px}
.obstext{font-size:13px;line-height:1.55;color:var(--g90)}
.obsrec{font-size:13px;line-height:1.55;background:var(--blue10);border-left:3px solid var(--blue60);
  padding:11px 13px;color:var(--g90)}
.obsdims{display:flex;flex-direction:column;gap:12px}
.obsdim-t{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;gap:10px}
.obsdim-t b{font-weight:600;white-space:nowrap}
.obsdim-n{font-size:11px;color:var(--g60);margin-top:5px;line-height:1.4}
.obsdim .bar-k{margin-top:6px}
.obscard-f{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--g60);margin-top:15px;
  padding-top:12px;border-top:1px solid var(--g20)}
.optrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.opt{text-align:left;background:#fff;border:1px solid var(--g30);padding:12px 14px;transition:all .13s}
.opt:hover{border-color:var(--blue60)}
.opt.on{border-color:var(--g100);background:var(--g10);box-shadow:inset 0 -3px 0 var(--g100)}
.opt-t{font-size:13.5px;font-weight:600}
.opt-n{font-size:11px;color:var(--g60);margin-top:4px;line-height:1.4}
.scalerow{display:flex;gap:5px;margin-top:7px}
.scale{width:36px;height:32px;border:1px solid var(--g30);background:#fff;font-size:12.5px;
  font-weight:600;color:var(--g70)}
.scale:hover{border-color:var(--blue60)}
.scale.on{background:var(--g100);color:#fff;border-color:var(--g100)}
.obsinput{width:100%;background:var(--g10);border:none;border-bottom:1px solid var(--g50);
  padding:11px 13px;outline:none;font-family:var(--font);font-size:13.5px;resize:vertical}
.obsinput:focus{border-bottom:2px solid var(--blue60);background:#fff}
.famcard{background:#fff;border:1px solid var(--g20);margin-bottom:9px}
.famcard.on{border-color:var(--g40)}
.famhead{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px}
.famhead:hover{background:var(--g10)}
.famhead-t{font-size:14px;font-weight:600}
.famhead-s{font-size:11.5px;color:var(--g60);margin-top:3px}
.fambody{padding:0 16px 16px}

/* ===== Expert bar and sheet indicator ===== */
.expbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;
  border:1px solid var(--g20);border-left:3px solid var(--purple);padding:13px 16px;margin-bottom:14px}
.expbar-l{display:flex;align-items:center;gap:10px;color:var(--g60)}
.expbar-n{font-size:13.5px;font-weight:600;color:var(--g100)}
.expbar-c{font-size:11px;color:var(--g60);margin-top:2px}
.expbar-s{display:flex;flex-direction:column;gap:5px}
.expbar-sw{display:flex;flex-direction:column;gap:5px;min-width:230px}
.sheetbar{display:flex;align-items:flex-start;gap:11px;background:var(--blue10);
  border-left:3px solid var(--blue60);padding:12px 15px;margin-bottom:6px}
.sheetbar>svg{color:var(--blue70);flex-shrink:0;margin-top:1px}

/* ===== Expert filter bar ===== */
.filterbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;
  border:1px solid var(--g20);padding:12px 15px;margin:16px 0 12px}
.filtergrp{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.filterlbl{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:var(--g60);white-space:nowrap}

/* ===== Diagram container ===== */
.dgscroll{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--g60);
  background:var(--g10);border:1px solid var(--g20);padding:8px 12px;margin:14px 0 0}
.dgwrap{border:1px solid var(--g20);border-top:none;overflow-x:auto;background:#fff;padding:10px}
.dgwrap.fit{overflow-x:hidden}
.dgwrap.fit svg{width:100%!important;height:auto!important}

