:root{--bg:#07111f;--panel:#101f33;--panel2:#142842;--line:#2a3d57;--text:#f4f7fb;--muted:#9db0c7;--cyan:#38d6e8;--violet:#9f8cff;--amber:#ffb84d;--green:#4ade80;--red:#fb7185;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% -10%,rgba(56,214,232,.14),transparent 34rem),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45}a{color:inherit}.wrap{max-width:1240px;margin:auto;padding:24px 18px 100px}.top{position:sticky;top:0;z-index:20;background:rgba(7,17,31,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(157,176,199,.14)}.topin{max-width:1240px;margin:auto;padding:12px 18px;display:flex;align-items:center;gap:12px}.mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#06101c;font-weight:950;text-decoration:none}.brand strong{display:block}.brand small{color:var(--muted)}.nav{margin-left:auto;display:flex;gap:8px}.nav a{padding:8px 10px;text-decoration:none;border-radius:10px;color:var(--muted);font-weight:750}.nav a:hover{background:var(--panel);color:#fff}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}.card{border:1px solid rgba(157,176,199,.14);background:linear-gradient(180deg,rgba(20,40,66,.86),rgba(13,27,47,.92));border-radius:var(--radius);box-shadow:0 18px 55px rgba(0,0,0,.24);padding:22px}.hero h1{font-size:clamp(2.4rem,7vw,5.5rem);line-height:.92;letter-spacing:-.055em;margin:.4rem 0 1rem}.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:900}.muted{color:var(--muted)}.big{font-size:clamp(3.5rem,10vw,7rem);font-weight:950;letter-spacing:-.06em;line-height:.85}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.kpi .v{font-size:2.1rem;font-weight:950}.kpi .l{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--muted);font-weight:850}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel h2{margin:.1rem 0 1rem}.bars{display:grid;gap:10px}.barrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.barname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:750}.track{grid-column:1/-1;height:8px;background:#06101c;border-radius:99px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:99px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);padding:8px 10px;border-radius:12px;background:rgba(7,17,31,.32)}.chip b{color:var(--amber);margin-left:6px}.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cat{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:rgba(7,17,31,.3)}.cat b{color:var(--cyan)}
.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:850;cursor:pointer;background:var(--cyan);color:#041019}.btn.secondary{background:var(--panel2);color:#fff;border:1px solid var(--line)}.btn.warn{background:var(--amber);color:#1a1204}.btn.danger{background:var(--red);color:#26030a}.btn:disabled{opacity:.45;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field{display:grid;gap:6px;margin:10px 0}.field label{font-weight:780;color:#dce8f5}.field input,.field select{width:100%;background:#07111f;color:#fff;border:1px solid var(--line);border-radius:11px;padding:11px}.field input:focus,.field select:focus{outline:2px solid var(--cyan);outline-offset:1px}
.notice{padding:12px 14px;border-radius:12px;border:1px solid rgba(56,214,232,.25);background:rgba(56,214,232,.06);color:#d9edf2}.notice.warn{border-color:rgba(255,184,77,.35);background:rgba(255,184,77,.08);color:#ffe0a3}.notice.bad{border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.08);color:#ffd0d8}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.tablewrap{overflow:auto}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.74rem;font-weight:900;border:1px solid var(--line)}.status.CONFIRMADO{color:#b9f8cd;border-color:rgba(74,222,128,.4)}.status.REVISION,.status.NECESITA_COMPLETAR{color:#ffe0a3;border-color:rgba(255,184,77,.4)}.status.BORRADOR{color:#c4d5e8}.status.PRESENTADO{color:#aeeff6;border-color:rgba(56,214,232,.4)}
.athletes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.athlete{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(7,17,31,.28)}.athlete small{display:block;color:var(--muted)}.athlete.assigned{opacity:.5}.teamcard{margin:10px 0}.teamhead{display:flex;justify-content:space-between;gap:10px;align-items:center}.teammeta{color:var(--muted);font-size:.86rem}.memberlist{margin:.7rem 0 0;padding-left:1.1rem}.memberlist li{margin:.25rem 0}.login{max-width:460px;margin:70px auto}.hidden{display:none!important}.pre{white-space:pre-wrap;word-break:break-word;background:#050c16;border:1px solid var(--line);border-radius:12px;padding:12px;max-height:320px;overflow:auto}.footer{border-top:1px solid rgba(157,176,199,.14);padding:24px 18px 90px;color:var(--muted)}.footerin{max-width:1240px;margin:auto}.footer a{color:#dbe8f4;margin-right:12px}.mobile{display:none}
@media(max-width:900px){.hero,.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.nav{display:none}.athletes{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{padding:16px 12px 92px}.topin{padding:10px 12px}.brand small{display:none}.card{padding:16px;border-radius:15px}.kpis{gap:8px}.kpi{min-height:105px}.cats{grid-template-columns:1fr}.mobile{display:grid;position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:30;grid-template-columns:repeat(3,1fr);gap:5px;padding:6px;background:rgba(10,23,40,.96);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(16px)}.mobile a{display:grid;place-items:center;text-decoration:none;color:var(--muted);font-size:.7rem;font-weight:850;padding:9px 4px;border-radius:10px}.mobile a:hover{background:var(--panel2);color:#fff}.tablewrap{margin:0 -4px}}
