/* Participants uses the same palette and compact rows as definitivos. */
:root{--pa-bg:#070a08;--pa-surface:#111713;--pa-alt:#152019;--pa-ink:#f4f8f5;--pa-muted:#94a198;--pa-line:#273129;--pa-accent:#32d66b;--pa-green:#32d66b;--pa-soft:#152d1d}
:root.light{--pa-bg:#f2f6f3;--pa-surface:#fff;--pa-alt:#f5f8f6;--pa-ink:#0a0e0b;--pa-muted:#637068;--pa-line:#dde6e0;--pa-green:#117a39;--pa-soft:#e6f9ec}
#participantsApp{--bg:var(--pa-bg);--card:var(--pa-surface);--txt:var(--pa-ink);--muted:var(--pa-muted);--line:var(--pa-line);background:var(--pa-bg);color:var(--pa-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
#participantsApp [hidden]{display:none!important}
#participantsApp button,#participantsApp input,#participantsApp select{font-family:inherit}
#participantsApp button,#participantsApp a{touch-action:manipulation}
#participantsApp :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--pa-accent);outline-offset:3px}
#participantsApp .wrap{max-width:1500px;width:100%;margin-inline:auto}
#participantsApp .header{background:var(--pa-surface);border-color:var(--pa-line);box-shadow:none;z-index:40}
#participantsApp .header>.wrap{padding:14px 22px;gap:14px}
#participantsApp .logo{width:46px;height:46px;object-fit:contain;border-radius:12px}
#participantsApp .app-header-copy{min-width:0;flex:1}
#participantsApp #headerTitle{font-size:12px;line-height:1.4;font-weight:900;letter-spacing:.5px;color:var(--pa-green);overflow-wrap:anywhere}
#participantsApp #headerEvent{font-size:24px;line-height:1.22;font-weight:900;color:var(--pa-ink);margin-top:3px;overflow-wrap:anywhere}
#participantsApp main.wrap{padding:16px 22px;display:flex;flex-direction:column;gap:12px}
#participantsApp .app-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
#participantsApp .app-icon svg{width:22px;height:22px}
#participantsApp .app-settings-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;background:var(--pa-soft);color:var(--pa-green);border:1px solid var(--pa-line);border-radius:50%;cursor:pointer}
#participantsApp .app-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px}
#participantsApp :is(.app-event-button,.app-search-button){display:flex;align-items:center;gap:12px;min-width:0;min-height:64px;border-radius:15px;padding:10px 14px;text-align:left;cursor:pointer}
#participantsApp .app-event-button{border:1px solid var(--pa-line);background:var(--pa-surface);color:var(--pa-green)}
#participantsApp .app-event-button:disabled{cursor:default;opacity:1}
#participantsApp .app-event-button:disabled>.app-chevron{visibility:hidden}
#participantsApp .app-control-copy{min-width:0;flex:1}
#participantsApp .app-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;color:var(--pa-muted)}
#participantsApp .app-event-value{display:block;color:var(--pa-ink);font-weight:900;font-size:18px;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}
#participantsApp .app-chevron{color:var(--pa-green);font-size:22px;flex-shrink:0}
#participantsApp .app-search-button{border:0;background:var(--pa-accent);color:#050806}
#participantsApp .app-search-button>.app-icon{width:36px;height:36px;background:#05080617;border-radius:50%}
#participantsApp .app-search-button strong{display:block;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}
#participantsApp .app-search-button small{display:block;color:#164c27;font-size:11px;margin-top:3px;font-weight:650}
#participantsApp .app-search-panel{grid-column:1/-1;min-width:0}
#participantsApp .filters{grid-template-columns:minmax(0,1fr) minmax(160px,.45fr) auto;gap:12px;padding:14px;border-color:var(--pa-line);background:var(--pa-surface);box-shadow:none;border-radius:14px}
#participantsApp .input{padding:0;border:0;gap:6px;border-radius:0;background:transparent;min-height:0;box-shadow:none}
#participantsApp #qWrap{grid-column:1;grid-row:1}
#participantsApp .app-dni-field{grid-column:2;grid-row:1}
#participantsApp .muted{font-size:11px;font-weight:800;line-height:1.4;color:var(--pa-muted)}
#participantsApp .input input{min-height:44px;border:1px solid var(--pa-line);border-radius:10px;background:var(--pa-bg);padding:9px 11px;color:var(--pa-ink);font-size:16px}
#participantsApp .input input::placeholder{color:var(--pa-muted);opacity:1}
#participantsApp .app-search-actions{display:flex;gap:8px}
#participantsApp :is(.btnSearch,.app-clear){min-height:44px;border:0;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:none;background:var(--pa-accent);color:#050806}
#participantsApp .app-clear{border:1px solid var(--pa-line);background:var(--pa-soft);color:var(--pa-green)}
#participantsApp .banner{padding:13px 16px;border:1px solid var(--pa-line);border-radius:14px;background:var(--pa-soft);color:var(--pa-green);font-size:13px;line-height:1.5;font-weight:650;box-shadow:none;text-align:left}
#participantsApp .error{margin:0}
#participantsApp #deliveryQrAccess{margin:0;order:0}
#participantsApp #deliveryQrLink{background:var(--pa-soft);border:1px solid var(--pa-line);color:var(--pa-green);box-shadow:none;border-radius:10px;font-size:12px;padding:9px 13px;min-height:40px}
#participantsApp .panel{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;min-width:0}
#participantsApp .tableWrap{overflow:visible;min-width:0}
#participantsApp #tab{display:block;min-width:0;width:100%;border:0}
#participantsApp #tab :is(thead,tbody){display:block;width:100%}
#participantsApp #tab tr{display:grid;grid-template-columns:var(--participant-columns,64px minmax(0,2.2fr) minmax(0,1.3fr));align-items:center;column-gap:14px;width:100%;padding:9px 14px;border:1px solid var(--pa-line);border-radius:14px;margin-bottom:6px;background:var(--pa-surface);min-height:52px}
#participantsApp #tab tbody tr:nth-child(even){background:var(--pa-alt)}
#participantsApp #tab thead tr{border-color:transparent;background:transparent;min-height:34px;padding-block:4px;margin:0 0 3px}
#participantsApp #tab :is(th,td){display:block;position:static;min-width:0;width:auto;padding:0;border:0;background:transparent;text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
#participantsApp #tab th{font-size:10px;font-weight:800;letter-spacing:.3px;line-height:1.4;color:var(--pa-muted)}
#participantsApp #tab td{font-size:12px;font-weight:650;line-height:1.4;color:var(--pa-muted)}
#participantsApp #tab td:before,#participantsApp #tab td:after{display:none}
#participantsApp #tab [data-field="dorsal"]{text-align:center}
#participantsApp #tab td[data-field="dorsal"]{font-size:18px;line-height:1.2;font-weight:900;color:var(--pa-green);font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
#participantsApp .app-participant-name{display:flex;align-items:center;gap:7px;min-height:32px;width:100%;padding:0;border:0;background:transparent;color:var(--pa-ink);text-align:left;cursor:pointer}
#participantsApp .app-participant-name .val{font-size:16px;line-height:1.3;font-weight:900;min-width:0;overflow-wrap:anywhere}
#participantsApp .app-participant-name .app-chevron{margin-left:auto;font-size:18px}
#participantsApp .app-results-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 3px;font-size:11px;color:var(--pa-muted)}
#participantsApp .app-count{font-weight:750}
#participantsApp .app-help{font-size:12px;color:var(--pa-muted);padding:2px 3px}
#participantsApp .app-help summary{cursor:pointer;width:fit-content;font-weight:650;padding:5px 0}
#participantsApp .help{margin:7px 0 0;padding:10px 14px;background:var(--pa-surface);border:1px solid var(--pa-line);border-radius:10px;box-shadow:none;font-size:12px;line-height:1.7}
#participantsApp.app-dialog-open{overflow:hidden}
#participantsApp .app-dialog{width:calc(100% - 28px);max-width:640px;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--pa-line);border-radius:22px;background:var(--pa-surface);color:var(--pa-ink);box-shadow:0 20px 80px #0006;overflow:auto}
#participantsApp .app-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
#participantsApp .app-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--pa-line)}
#participantsApp .app-dialog-head h2{font-size:18px;line-height:1.3;margin:0;font-weight:850}
#participantsApp .app-close{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--pa-line);border-radius:50%;background:var(--pa-soft);color:var(--pa-green);font-size:26px;cursor:pointer}
#participantsApp .app-dialog-body{padding:20px}
#participantsApp .eventBlock>.muted{display:none}
#participantsApp #eventSeg{display:flex;flex-direction:column;gap:8px;width:100%}
#participantsApp #eventSeg .seg-btn{width:100%;min-height:46px;padding:11px 14px;text-align:left;border:1px solid var(--pa-line);border-radius:11px;background:var(--pa-bg);color:var(--pa-ink);font-family:inherit;font-weight:750;font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
#participantsApp #eventSeg .seg-btn.seg-active{background:var(--pa-accent);border-color:var(--pa-accent);color:#050806}
#participantsApp .header-tools{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:0}
#participantsApp #liveLangControl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#participantsApp #liveLangSelect{flex:1;min-width:0;min-height:44px;background:var(--pa-bg);border:1px solid var(--pa-line);border-radius:10px;padding:8px;color:var(--pa-ink)}
#participantsApp .theme-seg{background:var(--pa-bg);border-color:var(--pa-line);border-radius:12px}
#participantsApp .theme-seg button{flex:1;min-height:44px;border-radius:9px;color:var(--pa-muted)}
#participantsApp .theme-seg button.seg-active{background:var(--pa-accent);color:#050806;border-color:transparent;box-shadow:none}
#participantsApp .app-detail-race{font-size:12px;line-height:1.5;color:var(--pa-green);font-weight:700;margin:0 0 18px}
#participantsApp .app-detail-hero{display:flex;align-items:center;gap:18px;margin-bottom:22px}
#participantsApp .app-detail-bib{flex:0 0 auto;min-width:88px;max-width:45%;padding:12px;background:var(--pa-soft);border-radius:14px;text-align:center;overflow-wrap:normal}
#participantsApp .app-detail-bib small{display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:var(--pa-muted)}
#participantsApp .app-detail-bib strong{display:block;font-size:clamp(16px,calc(104px / var(--bib-length,4)),26px);line-height:1.2;font-weight:900;color:var(--pa-green);font-variant-numeric:tabular-nums;white-space:nowrap}
#participantsApp .app-detail-hero h3{font-size:23px;line-height:1.25;font-weight:900;overflow-wrap:anywhere;margin:0;min-width:0}
#participantsApp .app-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
#participantsApp .app-detail-list dt{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--pa-muted);margin-bottom:5px}
#participantsApp .app-detail-list dd{margin:0;font-size:14px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:760px){
 #participantsApp .header>.wrap{padding:10px 12px;gap:10px}
 #participantsApp .logo{width:38px;height:38px;border-radius:10px}
 #participantsApp #headerTitle{font-size:10px}
 #participantsApp #headerEvent{font-size:19px}
 #participantsApp main.wrap{padding:12px;gap:10px}
 #participantsApp .filters{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:10px}
 #participantsApp #qWrap{grid-column:1/-1;grid-row:1}
 #participantsApp .app-dni-field{grid-column:1;grid-row:2}
 #participantsApp .app-search-actions{grid-column:2;grid-row:2;gap:6px}
 #participantsApp :is(.btnSearch,.app-clear){padding-inline:12px}
 #participantsApp #tab tr{column-gap:10px;padding:9px 10px}
}
@media(max-width:600px) and (orientation:portrait){
 #participantsApp .app-controls{grid-template-columns:minmax(0,1fr)}
 #participantsApp :is(.app-event-button,.app-search-button){min-height:54px;padding:9px 12px}
 #participantsApp .app-event-value{font-size:16px}
 #participantsApp .app-search-button strong{font-size:12px}
 #participantsApp .app-search-button small{font-size:10px}
 #participantsApp #tab tr{grid-template-columns:54px minmax(0,1fr);min-height:62px;row-gap:2px}
 #participantsApp #tab thead tr{min-height:24px}
 #participantsApp #tab [data-field="dorsal"]{grid-column:1;grid-row:1/4}
 #participantsApp #tab [data-field="nombreCompleto"]{grid-column:2;grid-row:1}
 #participantsApp #tab td[data-field="club"]{grid-column:2;grid-row:2;font-size:11px}
 #participantsApp #tab td[data-field="categoria"]{grid-column:2;grid-row:3;font-size:11px}
 #participantsApp #tab td[data-field="dorsal"]{font-size:15px}
 #participantsApp #tab :is(th[data-field="club"],[data-field="equipo"],[data-field="salida"],th[data-field="categoria"]){display:none}
 #participantsApp .app-participant-name .val{font-size:15px}
 #participantsApp .app-results-footer{font-size:10px}
 #participantsApp .app-dialog-body{padding:16px}
 #participantsApp .app-detail-hero h3{font-size:21px}
}
@media(max-width:360px){#participantsApp :is(.btnSearch,.app-clear){font-size:12px;padding-inline:9px}#participantsApp main.wrap{padding:10px}#participantsApp .filters{padding:10px;gap:8px}#participantsApp .app-search-actions{gap:5px}}
