/* =========================================================================
   EquineSuite · Eventing — components added on top of the shared UI kit (app.css + theme.css)
   Phase colours: dressage violet · jumping blue · cross country XC Rose · arena amber
   ========================================================================= */
:root{--ph-dr:#7B6CF0;--ph-sj:#3D86F0;--ph-xc:#FF6B9E;--ph-arena:#E8A53A;--ph-dr-s:rgba(123,108,240,.14);--ph-sj-s:rgba(61,134,240,.14);--ph-xc-s:rgba(255,107,158,.15);--ph-arena-s:rgba(232,165,58,.16)}

/* phase tags */
.ph-tag{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:20px;padding:0 6px;border-radius:5px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;color:#0C1015;vertical-align:middle}
.ph-tag.big{height:28px;min-width:42px;font-size:13px;border-radius:7px;margin-inline-end:4px}
[dir=rtl] .ph-tag{font-family:var(--font-ar);letter-spacing:0}
.ph-dr{background:var(--ph-dr);color:#fff}.ph-sj{background:var(--ph-sj);color:#fff}.ph-xc{background:var(--ph-xc)}.ph-arena{background:var(--ph-arena)}
.ph-head h1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ph-head h1 small{font-size:15px;text-transform:none;letter-spacing:0}
.ph-info{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13.5px}
.ph-info b{font-weight:700}
.class-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ph-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 6px}
.ph-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13.5px}
.jud-seg button{min-width:44px}
.pr-cls{padding:8px 0;border-bottom:1px dashed var(--line)}.pr-cls:last-child{border-bottom:0}

/* classes */
.cls-grid{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}
@media (max-width:760px){.cls-grid{grid-template-columns:1fr}}
.crs-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0 0;background:var(--surface-2)}
.crs-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.crs-h .muted{margin-inline-start:auto}
.sch-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}
.sch-row input[type=time]{width:120px}
.brk{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;padding:2px 6px;border:1px dashed var(--line);border-radius:6px}

/* dressage */
.dr-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1000px){.dr-grid{grid-template-columns:1fr}.dl-list{max-height:260px}}
.dl-list{padding:8px;position:sticky;top:70px;max-height:calc(100vh - 110px);overflow:auto}
.dl-search{margin-bottom:6px}
.dl-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:none;color:var(--text);text-align:start;cursor:pointer;font:inherit}
.dl-row:hover{background:var(--surface-2)}
.dl-row.on{background:var(--primary-soft);border-color:var(--acc)}
.dl-row.done .dl-n{color:var(--ok, #1E8E55)}
.dl-n{font-family:var(--mono);font-size:11px;color:var(--muted);width:18px}
.dl-t{font-family:var(--mono);font-size:11px;color:var(--muted)}
.dl-name{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.dl-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-name small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-v{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.dl-v small{font-size:10.5px;color:var(--muted)}
.dr-sheet{padding:14px 16px}
.dr-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.dr-who{display:flex;align-items:center;gap:12px}
.rider-no.big{font-size:20px;min-width:46px;height:38px}
.dr-tbl{width:100%;border-collapse:collapse}
.dr-tbl th,.dr-tbl td{border-bottom:1px solid var(--line);padding:5px 6px;vertical-align:top}
.dr-tbl td.dr-ref{font-family:var(--mono);font-size:12px;white-space:nowrap;color:var(--acc-t)}
.dr-tbl td.dr-txt{font-size:13.5px;min-width:200px}
.dr-tbl td.dr-txt small{display:block;margin-top:2px;font-size:11.5px;line-height:1.25}
.dr-tbl tr.col td{background:var(--ph-dr-s)}
.dr-tbl tr.dr-sec td{background:var(--surface-2);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px}
.dr-tbl tr.disc td{background:rgba(245,184,65,.22)}
.dr-tbl .coef{color:var(--acc-t)}
.dr-tbl tfoot td{border-bottom:0;font-weight:700;padding-top:8px}
.dr-tbl tfoot .dr-fl{text-align:end;color:var(--muted);font-weight:600}
.dr-f-pct td{font-size:16px}
.mk{width:62px;text-align:center;font-size:17px;font-weight:700;padding:4px 2px;min-height:36px}
.mk.bad{border-color:var(--danger)!important;background:var(--danger-soft)}
.mk:not(:placeholder-shown){background:var(--surface)}
.rem{min-width:120px;font-size:12.5px;min-height:32px}
.dr-quick .big-in{font-size:24px;font-weight:700;text-align:center}
.dr-modes button{font-size:12.5px}
.dr-pens{display:flex;flex-wrap:wrap;gap:12px 22px;margin:14px 0 6px;padding:12px;border:1px solid var(--line);border-radius:10px}
.dr-pens .cnt{display:flex;flex-direction:column;gap:4px}
.stepper{display:inline-flex;align-items:center;gap:6px}
.stepper b{min-width:24px;text-align:center;font-size:17px}
.stepper.sm b{font-size:15px;min-width:18px}
.dr-res{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.dr-res>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px}
.dr-res b{font-size:22px}.dr-res b.big{font-size:30px;color:var(--acc-t)}
@media (max-width:700px){.dr-res{grid-template-columns:1fr 1fr}}
.dr-notes summary{cursor:pointer;font-weight:700;margin:6px 0}
.locked-banner.warn{border-color:#F5B841;background:rgba(245,184,65,.15)}

/* jumping / XC table */
.jtbl td{vertical-align:middle}
.jtbl .time-input{width:92px;text-align:center;font-weight:700}
.jtbl .jp-in,.jtbl .add-in,.jtbl .held-in{width:66px;text-align:center}
.jtbl tr.out td{opacity:.55}
.jtbl tr.done td.total b{color:var(--acc-t)}
.jtbl tr.tm-on td{background:var(--primary-soft)!important}
.jtbl tr.tm-oncourse td{box-shadow:inset 3px 0 0 var(--ph-xc)}
.fcell{min-width:140px}
.fbtn{margin-inline-end:4px}
.fchip{display:inline-flex;align-items:center;gap:3px;margin:2px;padding:1px 6px;border-radius:5px;font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--line)}
.fchip button{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 0 0 2px;font-size:11px}
.fk-R{border-color:#F5B841;background:rgba(245,184,65,.18)}.fk-K{border-color:var(--ph-sj);background:var(--ph-sj-s)}.fk-F{border-color:#E8803A;background:rgba(232,128,58,.18)}.fk-M{border-color:#a78bfa;background:rgba(167,139,250,.18)}.fk-D,.fk-HF,.fk-RF{border-color:var(--danger);background:var(--danger-soft)}
.fds-tag{display:inline-block;margin-inline-start:4px;font-family:var(--mono);font-size:9px;padding:1px 4px;border-radius:4px;background:var(--primary-soft);color:var(--acc-t)}
.st-pick{display:flex;flex-direction:column;gap:3px}
.st-sel,.st-why{min-height:30px;padding:2px 6px;font-size:12.5px;width:auto;max-width:180px}
.st-sel.st-EL,.st-badge.st-EL{border-color:var(--danger);color:var(--danger)}
.st-badge{display:inline-block;padding:1px 7px;border-radius:5px;border:1px solid var(--line);font-family:var(--mono);font-size:11.5px;font-weight:600}
.st-badge.st-RET,.st-badge.st-WD,.st-badge.st-DNS{color:var(--muted)}
.st-badge.st-DSQ{background:var(--danger);color:#fff;border-color:var(--danger)}
.tm-tgt{border:1px solid var(--line);background:var(--surface);border-radius:6px;cursor:pointer;padding:3px 6px}
.u-flash td{animation:uflash 1.4s ease}@keyframes uflash{0%{background:var(--primary-soft)}100%{background:transparent}}

/* fence modal */
.modal.xwide{width:min(1180px,96vw)}
.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.fm-f{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--surface-2)}
.fm-f.hit{border-color:var(--acc);background:var(--primary-soft)}
.fm-n{font-family:var(--mono);font-size:18px;display:block;margin-bottom:6px}
.fm-k{display:flex;flex-wrap:wrap;gap:4px}
.fm-k .btn{min-width:38px;padding:0 6px}
.fm-list{margin-top:6px;min-height:6px}
.fm-sum{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 6px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:14px}
.fm-corr{margin-top:10px;gap:8px}

/* start lists */
.so-tbl .so-pos{width:56px;text-align:center}
.so-row.out td{opacity:.5}
.so-row.clash td{background:rgba(245,184,65,.14)}
.so-tools{margin-bottom:10px}
.so-sched{margin:0 0 10px;gap:8px}
.so-sched input[type=time]{width:120px}

/* inspection */
.insp-seg button{font-size:12px;padding:0 10px}
.insp-seg button.on.insp-acc{background:#1E8E55;color:#fff}.insp-seg button.on.insp-hold{background:#F5B841;color:#0C1015}.insp-seg button.on.insp-na{background:var(--danger);color:#fff}.insp-seg button.on.insp-wd{background:var(--muted);color:#fff}
tr.insp-na td{background:var(--danger-soft)}

/* results (screen) — grouped header like the organisers' sheets */
.ev-res th.grp{text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#141920}
[dir=rtl] .ev-res th.grp{font-family:var(--font-ar);letter-spacing:0}
.ev-res th.g-dr{background:var(--ph-dr)}.ev-res th.g-sj{background:var(--ph-sj)}.ev-res th.g-xc{background:#B8245E}.ev-res th.g-arena{background:#B07414}.ev-res th.g-tot{background:#0C1015}
.ev-res td.place b{font-size:15px}
.ev-res tr.out td{color:var(--muted)}
.ev-res td .st{font-weight:700;color:var(--danger)}
.ev-res tr.hc td{font-style:italic}
.ev-res td,.ev-res th{white-space:nowrap}
.ev-res td.wcol{white-space:normal;min-width:120px}
.res-card{padding:10px}
.tie-list li{margin:2px 0}

/* timer: XC on course */
.xc-list{display:flex;flex-direction:column;gap:6px}
.xc-on{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.xc-on.next{border-color:var(--ph-xc);box-shadow:inset 3px 0 0 var(--ph-xc)}
.xc-on.hold{background:rgba(245,184,65,.18)}
.xc-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xc-t{font-size:22px;font-weight:700;min-width:70px;text-align:end}
.xc-strip .btn.ok{white-space:nowrap}

/* live */
.lv-after{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
[dir=rtl] .lv-after{font-family:var(--font-ar);letter-spacing:0}
.ep-cls{margin-bottom:10px}.ep-cls>b{display:block;margin-bottom:4px}
.ok-line{display:flex;align-items:center;gap:8px;color:#1E8E55;font-weight:700}.ok-line svg{width:20px;height:20px}
.dc-list li{margin:4px 0}

/* =================== printing =================== */
.pg .psub{font-size:calc(11px * var(--pf,1));color:#444;margin:-4px 0 8px}
.pg .ptable.ev-res th.grp{color:#fff;background:#0C1015;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pg .ptable.ev-res th.g-dr{background:#5A4BD1}.pg .ptable.ev-res th.g-sj{background:#2D6FD0}.pg .ptable.ev-res th.g-xc{background:#B8245E}.pg .ptable.ev-res th.g-arena{background:#B07414}
.pg .ptable.ev-res thead tr:last-child th{background:#E9ECF1;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pg .ptable.ev-res tr.out td{color:#555}
.pg .ptable td.box{min-width:34px;height:22px}
.pg .res-stamp{display:inline-block;margin-inline-start:10px;padding:1px 8px;border:2px solid #0C1015;border-radius:4px;font-weight:800;letter-spacing:.1em;font-size:10px}
.pg .res-stamp.prov{border-color:#B8245E;color:#B8245E}
.pg .fj-big{font-size:calc(38px * var(--pf,1));font-weight:800;margin:4px 0 6px}
.pg .ptable.fj td{height:24px}
.pg .ts-top{border:1px solid #999;border-radius:6px;padding:6px 8px;margin:0 0 8px;font-size:calc(11px * var(--pf,1))}
.pg .ts-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:3px}
.pg .ptable.ts td{vertical-align:top;font-size:calc(10.5px * var(--pf,1))}
.pg .ptable.ts td.ts-ref{font-family:monospace;white-space:nowrap}
.pg .ptable.ts td.ts-mk{min-width:46px;font-size:calc(13px * var(--pf,1))}
.pg .ptable.ts tr.ts-sec td{background:#EEE;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pg .ptable.ts tr.ts-tot td{font-weight:700;background:#F5F5F5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pg .ts-note{margin:8px 0;font-size:calc(11px * var(--pf,1))}
.pg .ts-lines{height:46px;border-bottom:1px solid #999;background:repeating-linear-gradient(transparent 0 22px,#ccc 22px 23px)}
.pg .ts-lines.big{height:140px}
.pg .ts-res{display:flex;gap:24px;justify-content:flex-end;font-size:calc(14px * var(--pf,1));margin-top:8px}
.pg .fm-sigs{display:grid;gap:24px;margin-top:22px}
.pg .fm-sigs.sig-1{grid-template-columns:1fr;max-width:300px;margin-inline-start:auto}.pg .fm-sigs.sig-2{grid-template-columns:1fr 1fr}
.pg .fm-sig{display:flex;flex-direction:column;gap:2px;font-size:calc(10.5px * var(--pf,1))}
.pg .fm-sl{display:block;border-bottom:1px solid #333;height:30px}
.pg .fm-card{border:1px solid #999;border-radius:8px;padding:14px}
.pg .fm-title{font-size:calc(18px * var(--pf,1));font-weight:800;margin-bottom:10px}
.pg .fm-row{display:flex;gap:10px;margin:8px 0}.pg .fm-l{min-width:140px;font-weight:600}.pg .fm-v{flex:1;border-bottom:1px solid #999}
.pg .ptable td.place b{font-size:calc(12px * var(--pf,1))}
.pg .ptable .tm-c{font-weight:700}

/* judge stations panel (Dressage page) */
.dr-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.js-panel{padding:12px 14px}
.js-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.js-cell{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface-2)}
.js-h{display:flex;align-items:center;gap:6px}
.js-h b{font-family:var(--mono);font-size:16px}
.js-led{width:10px;height:10px;border-radius:50%;background:var(--faint,#999)}.js-led.on{background:#1E8E55;box-shadow:0 0 0 3px rgba(30,142,85,.2)}
.js-st{font-size:13px;margin-top:4px}
.js-live{border-color:#F5B841}.js-sent{border-color:#1E8E55;background:rgba(30,142,85,.08)}.js-ok{border-color:var(--ph-dr);background:var(--ph-dr-s)}
.dl-dots{display:flex;gap:2px;margin-inline-start:4px}
.jd{width:7px;height:7px;border-radius:50%;background:var(--line)}.jd-live{background:#F5B841}.jd-sent{background:#1E8E55}.jd-ok{background:var(--ph-dr)}
.dr-sheet.locked .mk{background:var(--surface-2)}
.js-pin{font-size:34px;letter-spacing:.3em;font-family:var(--mono)}
.js-url{margin:6px 0}.js-url code{font-size:14px}
.js-qr{width:170px;height:170px;background:#fff;padding:6px;border-radius:10px;margin:6px 0 12px}.js-qr svg{width:100%;height:100%}
.js-how li{margin:5px 0}
.js-panel b svg{width:18px;height:18px;vertical-align:-3px}
.js-entered{border-color:var(--line)}

/* ===== audience display: Dressage live / On course ===== */
.out-drlive,.out-oc{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.out-drl{display:flex;flex-direction:column;gap:2.2vh}
.drl-top{display:flex;align-items:center;gap:2vw}
.out-no.big{font-size:7vh;min-width:12vh;height:11vh;border-radius:2vh;display:flex;align-items:center;justify-content:center;background:var(--acc);color:#0C1015;font-family:var(--mono)}
.drl-who{flex:1;min-width:0;display:flex;flex-direction:column}.drl-who b{font-size:calc(5.4vh * var(--ds-size,1));line-height:1.05}.drl-who span{font-size:calc(3vh * var(--ds-size,1));color:var(--muted)}
.drl-res{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:.4vh 1.2vw;text-align:end}
.drl-res span{font-family:var(--mono);font-size:1.6vh;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.drl-res b{font-size:calc(4.6vh * var(--ds-size,1))}.drl-res b.big{font-size:calc(8vh * var(--ds-size,1));color:var(--acc-t)}
.drl-res .drl-place{grid-column:1/-1;font-size:3vh;color:var(--text);letter-spacing:.06em}
.drl-res.live span{font-size:2.4vh;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.5}}
.drl-judges{display:grid;grid-template-columns:repeat(auto-fit,minmax(14vw,1fr));gap:1.4vw}
.dl-j{display:flex;flex-direction:column;gap:.8vh;padding:1.6vh 1.4vw;border-radius:1.6vh;background:var(--surface-2)}
.dl-jp{font-family:var(--mono);font-size:2.4vh;color:#fff;background:var(--ph-dr);border-radius:.8vh;align-self:flex-start;padding:.2vh 1vw}
.dl-j b{font-size:calc(5vh * var(--ds-size,1))}
.dl-bar{display:block;height:.8vh;border-radius:1vh;background:var(--line);overflow:hidden}.dl-bar i{display:block;height:100%;background:var(--ph-dr)}
.dl-j small{font-size:1.8vh;color:var(--muted)}
.oc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.2vh}
.oc-row{display:flex;align-items:center;gap:1.4vw;padding:1.4vh 1.2vw;border-radius:1.4vh;background:var(--surface-2)}
.oc-row .out-nm{flex:1}.oc-row .out-nm b{font-size:calc(3.6vh * var(--ds-size,1))}
.oc-t{font-size:calc(6vh * var(--ds-size,1));color:#5BE09A}
.oc-row.over .oc-t{color:#F5B841}.oc-row.hold{outline:.3vh dashed #F5B841}.oc-row.hold .oc-t{color:#F5B841}
.oc-empty{color:var(--muted);font-size:3vh;padding:2vh}
@media (max-width:900px){.out-drlive,.out-oc{grid-template-columns:1fr}}
.pg .ts-sigs{display:flex;gap:18px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.pg .ts-sig{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:170px}
.pg .ts-sig img{height:48px;max-width:200px;object-fit:contain;border-bottom:1px solid #333}
.pg .ts-sig .fm-sl{width:170px}
.pg .ts-sig small{font-size:calc(9px * var(--pf,1))}

/* ================= display outputs: manager ================= */
.dsp-outs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:12px;scrollbar-width:thin}
.dsp-out{flex:none;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;text-align:start;min-width:170px;max-width:240px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}
.dsp-out b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsp-out small{grid-column:2;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsp-out.on{border-color:var(--acc);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--acc)}
.dsp-out.add{display:flex;align-items:center;justify-content:center;gap:6px;min-width:120px;border-style:dashed;color:var(--muted);font-weight:600}
.dsp-led{width:9px;height:9px;border-radius:50%;background:var(--faint);opacity:.6}
.dsp-led.on{background:#3DDC84;opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,#3DDC84 25%,transparent);animation:dspPulse 1.6s ease-in-out infinite}
@keyframes dspPulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,#3DDC84 0%,transparent)}}
.dsp-head{margin-bottom:14px}
.dsp-name{flex:1;min-width:0;font-size:17px!important;font-weight:700}
.dsp-win{flex-wrap:wrap;gap:8px;margin-top:10px}
.dsp-acc{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dsp-acc .sw{width:30px;height:30px;border-radius:8px;border:2px solid var(--line);cursor:pointer;background:var(--surface-2);font-weight:700;color:var(--muted);padding:0}
.dsp-acc .sw.on{border-color:var(--text);box-shadow:0 0 0 2px var(--acc)}
.dsp-acc input[type=color]{width:38px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:none}
.dsp-rot{display:flex;flex-wrap:wrap;gap:6px}
.dsp-netc code{font-size:12.5px;background:var(--surface-2);padding:6px 8px;border-radius:6px}
.checker{background:repeating-conic-gradient(#2a2f36 0 25%,#1b1f24 0 50%) 50%/24px 24px!important}

/* ================= display outputs: themes ================= */
.out-board{padding:var(--ds-os,28px 34px)}
.out-board[style*="--ds-os"]{padding:calc(var(--ds-os) + 20px)}
.theme-rose{--bg:#1A0B12;--surface:#2A1220;--surface-2:#371829;--line:#4A2236;--acc:#FF6B9E;--acc-t:#FF8DB4;--text:#FFF3F7;--muted:#E2A9BF}
.theme-navy{--bg:#07142B;--surface:#0E1F3E;--surface-2:#142A50;--line:#203A66;--acc:#4FA3FF;--acc-t:#7DBBFF;--text:#F1F6FF;--muted:#9FB4D6}
.theme-chroma{--bg:#00B140;--surface:rgba(8,12,16,.92);--surface-2:rgba(20,26,32,.92);--line:rgba(255,255,255,.12);--text:#F4F6F2;--muted:#B9C0B5}
.out-board.theme-chroma{background:#00B140}
.theme-transparent{--bg:transparent;--surface:rgba(8,12,16,.88);--surface-2:rgba(20,26,32,.88);--line:rgba(255,255,255,.12);--text:#F4F6F2;--muted:#B9C0B5}
.out-board.theme-transparent,body.out-transparent,html:has(body.out-transparent){background:transparent!important}
.out-board.theme-chroma .out-head,.out-board.theme-transparent .out-head,.out-board.theme-chroma .out-foot,.out-board.theme-transparent .out-foot{background:var(--surface);padding:10px 16px;border-radius:14px}
.out-board[style*="--ds-acc"] .rank-badge,.out-board[style*="--ds-acc"] .out-no.big{background:var(--ds-acc)}

/* layouts */
.out-board.layout-side{flex-direction:column;max-width:34%;margin-inline-start:auto;min-height:100vh}
.out-board.layout-side .out-grid{grid-template-columns:minmax(0,1fr)!important}
.out-board.layout-lower,.out-board.layout-corner{background:transparent;justify-content:flex-end;padding:var(--ds-os,4vh 4vw)}
.out-board.layout-lower.theme-chroma,.out-board.layout-corner.theme-chroma{background:#00B140}
.out-board.layout-lower.theme-dark,.out-board.layout-corner.theme-dark,.out-board.layout-lower.theme-light,.out-board.layout-corner.theme-light{background:transparent}
.out-board.layout-corner{justify-content:flex-start;align-items:flex-end}

/* lower third / corner bug */
.band{display:flex;align-items:stretch;gap:0;background:var(--surface,#11161B);color:var(--text);border-radius:1.6vh;overflow:hidden;box-shadow:0 1.2vh 4vh rgba(0,0,0,.45);font-size:calc(2.6vh * var(--ds-size,1));min-height:11vh;animation:bandIn .5s cubic-bezier(.2,.8,.2,1)}
.band-corner{font-size:calc(2.1vh * var(--ds-size,1));min-height:8vh;max-width:46vw}
@keyframes bandIn{from{transform:translateY(40%);opacity:0}}
.band>*{display:flex;align-items:center;padding:0 2.2vh}
.band-mark{background:var(--acc);color:#0C1015}.band-mark svg{width:5vh;height:5vh}
.band-no{font-family:var(--mono);font-weight:700;font-size:1.7em;background:var(--surface-2);min-width:9vh;justify-content:center}
.band-t{flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;flex:1}
.band-t b{font-size:1.35em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.band-t small{color:var(--muted);font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.band-ph{gap:1.4vh}.band-ph span{display:flex;flex-direction:column;align-items:center;font-family:var(--mono);font-weight:700;font-size:1.1em}
.band-ph i{font-style:normal;font-size:.6em;color:var(--muted);letter-spacing:.1em}
.band-v{flex-direction:column;justify-content:center;background:var(--acc);color:#0C1015;min-width:11vh;font-family:var(--mono)}
.band-v b{font-size:1.9em;line-height:1}.band-v small{font-size:.6em;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.band-v.live{background:var(--surface-2);color:var(--acc-t)}
.band-v.num{font-size:1.9em;font-weight:700}
.band-top{gap:2.4vh;flex-wrap:nowrap;overflow:hidden}
.band-top span{white-space:nowrap;font-weight:600}.band-top i{font-style:normal;font-family:var(--mono);color:var(--acc-t);margin-inline-end:.6vh}
.band-top b{font-family:var(--mono);margin-inline-start:.6vh}
.band-corner .band-ph,.band-corner .band-top span:nth-child(n+4){display:none}

/* rider card */
.out-rc{flex:1;display:flex;flex-direction:column;gap:3vh;justify-content:center}
.rc-phs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:2vh}
.rc-ph{display:flex;flex-direction:column;gap:1vh;align-items:flex-start;padding:2.4vh;border-radius:1.6vh;background:var(--surface-2);opacity:.55}
.rc-ph.done{opacity:1}
.rc-ph b{font-size:calc(6vh * var(--ds-size,1));line-height:1}.rc-ph small{color:var(--muted);font-size:calc(2vh * var(--ds-size,1))}
.rc-cls{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:1.6vh}

/* podium */
.out-pod{flex:1;display:flex;flex-direction:column;gap:3vh}
.out-pod h2{text-align:center;font-size:calc(3.4vh * var(--ds-size,1));margin:0}
.pod-row{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vh;align-items:end}
.pod{display:flex;flex-direction:column;gap:2vh;min-width:0;animation:podUp .8s cubic-bezier(.2,.8,.2,1) both}
.pod-1{animation-delay:.25s}.pod-3{animation-delay:.12s}
@keyframes podUp{from{transform:translateY(12vh);opacity:0}}
.pod-who{text-align:center;display:flex;flex-direction:column;gap:.6vh;min-width:0}
.pod-who b{font-size:calc(3.6vh * var(--ds-size,1));overflow-wrap:anywhere}.pod-who span{color:var(--muted);font-size:calc(2.2vh * var(--ds-size,1))}
.pod-who em{font-style:normal;font-family:var(--mono);font-weight:700;color:var(--acc-t);font-size:calc(3vh * var(--ds-size,1))}
.pod-step{border-radius:1.6vh 1.6vh 0 0;display:flex;justify-content:center;padding-top:2vh;font-family:var(--mono);font-weight:700;font-size:9vh;color:#0C1015}
.pod-1 .pod-step{height:34vh;background:linear-gradient(#FFD45E,#E0A92A)}
.pod-2 .pod-step{height:24vh;background:linear-gradient(#E8ECEF,#AEB6BD)}
.pod-3 .pod-step{height:17vh;background:linear-gradient(#F0B07A,#B9733E)}
.pod.empty{visibility:hidden}

/* QR */
.out-qr{flex:1;display:flex;align-items:center;justify-content:center;gap:6vh;flex-wrap:wrap;text-align:start}
.qr-box{width:42vh;height:42vh;background:#fff;border-radius:2vh;padding:2vh;display:grid;place-items:center;color:#0C1015}
.qr-box svg{width:100%;height:100%}
.out-qr .out-msg-t{font-size:calc(6vh * var(--ds-size,1));max-width:none}.out-qr .out-msg-s{font-size:calc(3vh * var(--ds-size,1))}

/* header extras, ticker */
.out-hlogos{display:flex;gap:16px;align-items:center}.out-hlogos img{max-height:58px;max-width:160px;object-fit:contain}
.out-tod{font-family:var(--mono);font-size:1.8em;font-weight:600;color:var(--acc-t)}
.out-ticker{overflow:hidden;background:var(--acc);color:#0C1015;border-radius:10px;font-weight:700;font-size:1.1em;white-space:nowrap}
.out-ticker>div{display:inline-flex;animation:tick var(--tk,40s) linear infinite;padding:8px 0}
.out-ticker span{padding-inline-end:12vw}
[dir=rtl] .out-ticker>div{animation-name:tickR}
@keyframes tick{to{transform:translateX(-50%)}}@keyframes tickR{to{transform:translateX(50%)}}

@media (max-width:640px){.dsp-out{min-width:150px}.pod-row{gap:1.5vh}.out-board.layout-side{max-width:none}}
/* dressage sheet on phones / narrow tablets: movement text wraps, the sheet scrolls inside its card */
@media (max-width:760px){
  .dr-tbl-wrap,.tbl-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .dr-tbl td.dr-txt{min-width:150px;max-width:62vw}
  .dr-tbl th,.dr-tbl td{padding:5px 4px}
}
.dsp-out.add b{overflow:visible;white-space:nowrap}
.dsp-out.add{min-width:max-content}
.dsp-out.add svg{width:20px;height:20px}
