:root{
 --ink:#111318;--muted:#69707d;--panel:#fff;--bg:#f4f5f7;--line:#e6e8ec;
 --dark:#0a0b0f;--accent:#f43f5e;--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{text-decoration:none}.brand{font-weight:850;letter-spacing:-.035em}.small-muted{color:var(--muted);font-size:.9rem}
.public-nav{padding:14px 0}.nav-brand{display:flex;align-items:center;gap:11px;color:var(--ink)}.nav-badge{width:42px;height:42px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-size:1.2rem;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 83% 20%,rgba(244,63,94,.34),transparent 28%),linear-gradient(135deg,#07080b 0%,#171922 72%,#222631 100%);color:#fff;border-radius:30px;padding:46px;box-shadow:0 24px 70px rgba(17,19,24,.16)}.hero:after{content:"";position:absolute;width:280px;height:280px;border:2px dashed rgba(255,255,255,.12);border-radius:50%;right:-70px;bottom:-130px}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.83rem}.hero h1{letter-spacing:-.055em}
.card-soft{border:1px solid rgba(17,19,24,.04);border-radius:var(--radius);box-shadow:0 12px 38px rgba(17,19,24,.065);background:#fff}.card-choice{position:relative;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;transition:.18s ease;cursor:pointer}.card-choice:hover{transform:translateY(-2px);border-color:#c7cad0;box-shadow:0 10px 25px rgba(17,19,24,.07)}.card-choice input{accent-color:#111}.card-choice:has(input:checked){border-color:#111;box-shadow:0 0 0 2px #111 inset}.card-choice.disabled{opacity:.5;cursor:not-allowed;transform:none}
.icon-tile{width:44px;height:44px;min-width:44px;border-radius:14px;background:#f1f2f4;display:grid;place-items:center;font-size:1.2rem;color:#111}.icon-tile.dark{background:#111;color:#fff}.icon-tile.soft-red{background:#fff0f2;color:#e11d48}.icon-tile.soft-blue{background:#eff6ff;color:#2563eb}.icon-tile.soft-amber{background:#fff7ed;color:#ea580c}.icon-tile.soft-green{background:#ecfdf5;color:#059669}
.btn{border-radius:13px;font-weight:700}.btn-dark{background:#111;border-color:#111}.btn-lg{padding:.8rem 1.1rem}.form-control,.form-select{border-radius:13px;padding:.78rem .9rem;border-color:#dfe2e7;background-color:#fff}.form-control:focus,.form-select:focus{border-color:#111;box-shadow:0 0 0 .2rem rgba(17,17,17,.08)}.form-label{font-weight:720;font-size:.9rem;margin-bottom:.42rem}.input-group-text{border-radius:13px 0 0 13px;background:#f8f9fa;border-color:#dfe2e7}
.step-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.step-icon{width:42px;height:42px;border-radius:14px;background:#111;color:#fff;display:grid;place-items:center;font-size:1.15rem}.step-title{font-size:1.05rem;font-weight:800;margin:0}.step-sub{font-size:.86rem;color:var(--muted)}
.competition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.competition-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:19px;padding:13px;cursor:pointer;transition:.18s}.competition-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,19,24,.07)}.competition-card.active{border-color:#111;box-shadow:0 0 0 2px #111 inset}.competition-logo{width:72px;height:72px;border-radius:16px;object-fit:cover;background:#111;border:1px solid #eee}.competition-logo.sm{width:48px;height:48px;border-radius:13px}.race-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-pill{background:#f7f8fa;border:1px solid #eceef1;border-radius:15px;padding:12px}.summary-pill i{display:block;font-size:1.05rem;margin-bottom:4px}.summary-pill b{display:block;font-size:.87rem}.summary-pill span{color:var(--muted);font-size:.82rem}
.slot-bar{height:8px;border-radius:999px;background:#e7e9ed;overflow:hidden}.slot-bar>span{display:block;height:100%;background:#111;border-radius:inherit}.capacity{font-size:.8rem;color:var(--muted)}
.payment-box{border:1px dashed #cfd3d9;background:#fafbfc;border-radius:16px;padding:15px;white-space:pre-line}.info-banner{background:#101116;color:#fff;border-radius:18px;padding:15px 16px;display:flex;gap:12px;align-items:flex-start}.info-banner i{font-size:1.25rem}.locked-note{border-radius:15px;background:#f8f9fa;border:1px solid #e7e9ed;padding:11px 13px;color:#626975;font-size:.88rem}
.timeline-mini{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center}.timeline-time{font-weight:850;font-variant-numeric:tabular-nums}.timeline-item{border-left:3px solid #111;padding-left:12px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.status-open{background:#16a34a}.status-draft{background:#f59e0b}.status-closed{background:#6b7280}.status-finished{background:#2563eb}
.sidebar{min-height:100vh;background:#0b0c10;color:#fff}.sidebar .brand-wrap{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px}.sidebar a{color:#c8ccd3;text-decoration:none;display:flex;gap:.75rem;align-items:center;padding:.78rem .9rem;border-radius:13px;font-weight:650}.sidebar a i{width:20px;text-align:center}.sidebar a:hover,.sidebar a.active{background:#1a1c22;color:#fff}.admin-logo{width:44px;height:44px;border-radius:14px;object-fit:cover}.stat{font-size:2rem;font-weight:850;letter-spacing:-.045em}.badge-soft{background:#f1f2f4;color:#3f4650}.table>:not(caption)>*>*{padding:.9rem .8rem;vertical-align:middle}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;color:#737986;border-bottom-width:1px}.table-responsive{border-radius:14px}.admin-section-title{font-weight:850;letter-spacing:-.03em}.section-divider{height:1px;background:#eceef1;margin:22px 0}
.crono-card{border-radius:22px;background:linear-gradient(145deg,#0a0b0f,#20232b);color:#fff;padding:20px;overflow:hidden;position:relative}.crono-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:18px solid rgba(255,255,255,.05);right:-32px;top:-42px}.crono-card .label{font-size:.78rem;color:#aeb3bc;text-transform:uppercase;letter-spacing:.05em}.crono-card .value{font-weight:800}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px)}
@media(max-width:991px){.hero{padding:34px 28px}.race-summary{grid-template-columns:repeat(2,1fr)}.sidebar{min-height:auto;border-radius:0 0 20px 20px}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar a{justify-content:center;font-size:.82rem;flex-direction:column;gap:.2rem}.sidebar .brand-wrap{border:0;padding-bottom:10px}}
@media(max-width:767px){body{background:#f7f7f8}.container{padding-left:14px;padding-right:14px}.hero{padding:27px 20px;border-radius:22px}.hero h1{font-size:2rem}.competition-grid{grid-template-columns:1fr}.competition-logo{width:62px;height:62px}.race-summary{grid-template-columns:1fr 1fr}.card-soft{border-radius:18px;box-shadow:0 7px 24px rgba(17,19,24,.055)}.step-head{align-items:flex-start}.form-control,.form-select{font-size:16px}.timeline-row{grid-template-columns:72px 1fr}.sidebar nav{grid-template-columns:repeat(2,1fr)}.public-nav .btn span{display:none}}
@media(max-width:420px){.race-summary{grid-template-columns:1fr}.competition-card{padding:10px}.competition-logo{width:56px;height:56px}.sidebar nav{grid-template-columns:1fr 1fr}.hero .btn{width:100%}}
