:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173447;background:#f3f7fa;font-size:15px}*{box-sizing:border-box}body{margin:0}.shell{max-width:860px;margin:auto;padding:0 18px}.topbar{background:#123b55;color:white;padding:21px 0 25px}.head{display:flex;justify-content:space-between;gap:12px;align-items:center}.eyebrow{color:#add5e4;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750}h1{font-size:clamp(19px,4vw,27px);margin:6px 0 0;letter-spacing:-.03em}.tag{font-size:11px;border:1px solid #6d98a9;color:#d5e8ef;padding:7px 9px;border-radius:100px;white-space:nowrap}main{padding-top:18px!important;padding-bottom:36px!important}.notice{background:#e5f1f7;border-left:4px solid #257fa2;border-radius:9px;padding:12px 14px;color:#244e64;font-size:12px;line-height:1.5;margin-bottom:14px}.panel{background:#fff;border:1px solid #e4edf1;border-radius:16px;box-shadow:0 3px 14px rgba(18,59,85,.04);padding:19px;margin-bottom:15px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}h2{font-size:19px;letter-spacing:-.02em;margin:0 0 5px}p{color:#607783;margin:5px 0;line-height:1.5;font-size:13px}.step,.counter{background:#e6f4f7;color:#14677f;border-radius:30px;min-width:26px;text-align:center;padding:5px;font-size:13px;font-weight:bold}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filebox{position:relative;background:#f8fbfd;border:1.5px dashed #a7c3d0;border-radius:12px;display:flex;align-items:flex-start;gap:12px;padding:14px;cursor:pointer;font-size:22px}.filebox span{display:flex;flex-direction:column;gap:4px;flex:1}.filebox strong{font-size:14px}.filebox small{font-size:12px;color:#657a87;line-height:1.4}.filebox em{position:absolute;bottom:11px;left:14px;font-size:11px;color:#176f8d;font-style:normal;max-width:91%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filebox{padding-bottom:36px}.filebox input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.filebox:focus-within{outline:3px solid #b9e2fa}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}.actions span{color:#6c7d86;font-size:12px;flex:1}button,.import-btn{border:1px solid #bbd0da;border-radius:9px;background:white;color:#16465b;cursor:pointer;padding:10px 13px;font:inherit;font-weight:650;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.primary{background:#126b8c;border-color:#126b8c;color:white}button:disabled{opacity:.55;cursor:wait}button.danger{color:#ac3440;border-color:#eac5c8}.import-btn{position:relative;overflow:hidden}.import-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.metric{border-radius:12px;background:white;border:1px solid #e4edf1;padding:12px}.metric small{display:block;color:#6c7b83;font-size:11px}.metric b{font-size:25px;display:block;margin-top:6px}.empty{text-align:center;padding:35px;color:#748c98}.hidden{display:none!important}.score{font-variant-numeric:tabular-nums;font-size:16px;color:#156c88;white-space:nowrap}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{color:#718894;font-size:11px;font-weight:700;text-transform:uppercase;background:#f7fafb}th,td{text-align:left;padding:10px 7px;border-bottom:1px solid #edf2f3}td:first-child{color:#7f929d;width:45px}td.num,th.num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;width:80px}tr:last-child td{border-bottom:0}.neg{color:#b64045}.rank{color:#a3b0b7;font-weight:750}.clubbtn{background:none;border:none;padding:0;font-size:13px;text-align:left;font-weight:600;color:#1b4c62}.detail{background:#f6fafb;border-radius:9px;padding:10px;font-size:12px;line-height:1.6;margin-top:5px}.hint{font-size:12px;margin-top:12px}.filters{margin-bottom:9px}select,input[type=text],textarea{border:1px solid #bdcbd2;border-radius:9px;padding:9px;font:inherit;font-size:13px;color:#27485a;background:white;max-width:100%}.filters label{font-size:12px;color:#637f8c}.alert{padding:12px 2px;border-bottom:1px solid #e7eef1;display:flex;gap:12px}.alert:last-child{border:0}.dot{flex:none;width:9px;height:9px;margin-top:8px;border-radius:50%;background:#eca12b}.dot.high{background:#d84c52}.dot.low{background:#72aa91}.alert-body{min-width:0;flex:1}.alert-title{font-size:13px;font-weight:750}.alert-meta{font-size:11px;color:#758e98;margin:3px 0}.alert-desc{font-size:12px;color:#3b5361;line-height:1.5}.alert-state{display:grid;grid-template-columns:1fr;gap:7px;padding:10px;background:#f8fafb;border-radius:10px;margin-top:10px}.alert-state label{font-size:11px;color:#6b7d85}.alert-state textarea{width:100%;resize:vertical}.alert-state button{justify-self:start}.label-warning{font-size:10px;padding:3px 6px;background:#fff3db;color:#99620a;border-radius:5px}.preview{border-radius:12px;background:#f5fafc;border:1px solid #cce2eb;padding:13px;margin-top:15px}.preview h3{margin:0 0 7px;font-size:15px}.preview p,.preview li{font-size:12px;line-height:1.5}.preview ul{padding-left:18px}.preview .error{color:#9d2e39}.preview .success{color:#1b765f}.pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.pills button{padding:7px 10px}.pills button.active{background:#176d8f;color:white;border-color:#176d8f}.resultlist{font-size:12px;line-height:1.5}.resultlist div{padding:7px 0;border-bottom:1px solid #edf2f4}.utilities{margin-top:7px}#history{margin-top:15px;font-size:11px;color:#607d88}#history div{border-top:1px solid #edf2f3;padding:7px 0}footer{font-size:11px;color:#718694;line-height:1.5;text-align:center;margin-top:20px}@media(max-width:590px){.tag{font-size:10px}.upload-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.panel{padding:15px}.head{align-items:flex-start}.score{font-size:14px}.filebox{padding-bottom:34px}}

/* Tablas HY-TEK por categoría. La prioridad en móvil es mostrar Pos., Atleta,
   Club, Tiempo y Pts.; solo el ajuste puede quedar fuera del primer vistazo. */
.category-results{margin:12px 0 20px}
.category-results h3{font-size:15px;color:#164d68;background:#ecf5f9;border-left:3px solid #237f9c;border-radius:4px;margin:0 0 7px;padding:9px 11px}
.event-table{min-width:590px;font-size:12px}
.event-table th,.event-table td{padding:9px 6px;vertical-align:middle}
.event-table th{white-space:nowrap}
.event-table td:first-child{width:43px}
.event-table th:nth-child(2),.event-table td:nth-child(2){min-width:140px}
.event-table th:nth-child(3),.event-table td:nth-child(3){min-width:64px}
.event-table th:nth-child(4),.event-table td:nth-child(4){min-width:90px}
.event-table abbr{text-decoration:none;border:0;font-weight:700;color:#20556c;cursor:help}
.event-position{white-space:nowrap}
.event-athlete{font-weight:550}
.event-time{font-variant-numeric:tabular-nums;white-space:nowrap}

.label-success{font-size:10px;padding:3px 6px;background:#e6f5ee;color:#157653;border-radius:5px}
@media(max-width:590px){
  .category-results{margin-bottom:17px}
  .category-results .table-scroll{overscroll-behavior-x:contain}
  .event-table{table-layout:fixed;width:380px;min-width:380px;font-size:10.5px}
  .event-table th{font-size:9px;letter-spacing:0}
  .event-table th,.event-table td{padding:8px 3px}
  .event-table th:nth-child(1),.event-table td:nth-child(1){width:29px;min-width:0}
  .event-table th:nth-child(2),.event-table td:nth-child(2){width:104px;min-width:0;overflow-wrap:break-word}
  .event-table th:nth-child(3),.event-table td:nth-child(3){width:46px;min-width:0}
  .event-table th:nth-child(4),.event-table td:nth-child(4){width:76px;min-width:0}
  .event-table th:nth-child(5),.event-table td:nth-child(5){width:33px;min-width:0}
  .event-table th:nth-child(6),.event-table td:nth-child(6){width:92px;min-width:0}

}
@media(max-width:340px){
  .shell{padding-left:8px;padding-right:8px}
  .panel{padding:10px}
  .event-table{width:364px;min-width:364px;font-size:9.5px}
  .event-table th{font-size:8.5px}
  .event-table th:nth-child(1),.event-table td:nth-child(1){width:25px}
  .event-table th:nth-child(2),.event-table td:nth-child(2){width:97px}
  .event-table th:nth-child(3),.event-table td:nth-child(3){width:44px}
  .event-table th:nth-child(4),.event-table td:nth-child(4){width:73px}
  .event-table th:nth-child(5),.event-table td:nth-child(5){width:33px}
  .event-table th:nth-child(6),.event-table td:nth-child(6){width:92px}
}

/* Encabezados completos de HY-TEK: permitir salto de línea en móviles */
@media(max-width:590px){.category-results h3{font-size:13px;line-height:1.4;overflow-wrap:anywhere}}
/* Seguimiento en vivo y protección de versiones corregidas. */
.complete-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:11px;border:1px solid #bad9e4;background:#eef7fa;border-radius:10px;font-size:13px;line-height:1.4;cursor:pointer}
.complete-check input{margin-top:3px;accent-color:#126b8c;flex-shrink:0}
.complete-check span{display:grid;gap:4px}
.complete-check small{font-size:11px;color:#587684}
.discrepancy{padding:10px;border:1px solid #e4c894;background:#fff8e9;border-radius:9px;margin:12px 0}
.discrepancy details{margin:6px 0}
.proposal-alert{background:#fffcf6}
.proposal-alert details{font-size:12px;margin:8px 0;color:#37556b}
.proposal-alert li{margin:4px 0}
.event-progress{display:grid;gap:2px}
.progress-item{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e6eef2;padding:10px 0}
.progress-item:last-child{border:0}
.progress-item strong{font-size:13px}
.progress-item p{font-size:11px;margin:6px 0 0}
.progress-item button{font-size:11px;white-space:nowrap;padding:7px 9px;flex-shrink:0}
.progress-source{color:#7c909b}
@media(max-width:380px){.progress-item button{font-size:10px;padding:6px}.progress-source{display:block}}
