:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--bg: #f3f4f6;--card-bg: #ffffff;--border: #e5e7eb;--text: #111827;--text-secondary: #6b7280;--brand-black: #000000;--brand-yellow: #ffdf00;--accent: #000000;--accent-fill: #ffdf00;--accent-tint: rgba(255, 223, 0, .18);--success: #16a34a;--error: #dc2626;--warning: #d97706}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--text)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.container{max-width:880px;margin:0 auto;padding:24px 16px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #1018280a}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--text-secondary)}.field input,.field textarea,.field select{width:100%;min-width:0;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:15px}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}.btn{display:inline-block;background:var(--accent-fill);color:var(--brand-black);border:none;border-radius:8px;padding:12px 18px;font-weight:700;font-size:14px;text-decoration:none}.btn:disabled{opacity:.5}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.error{color:var(--error);font-size:14px}.badge{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--accent);text-transform:uppercase}.logo-box{width:100px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#fff;overflow:hidden;flex-shrink:0}.logo-box img{max-width:100%;max-height:100%;object-fit:contain}.topbar{background:var(--brand-black);border-bottom:3px solid var(--brand-yellow)}.topbar-inner{max-width:880px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar img{height:40px;display:block}.topbar-nav{display:flex;gap:16px}.topbar-nav a{color:#fff;font-size:14px;font-weight:600;text-decoration:none}.topbar-nav a.active{color:var(--brand-yellow)}.demo-banner{background:var(--accent-tint);border:1px solid var(--brand-yellow);border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent-fill);border-color:var(--brand-black);color:var(--brand-black)}.filters-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.filters-row .field{margin-bottom:0}.filters-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;color:var(--text-secondary)}.link-btn{background:none;border:none;padding:0;color:var(--text);text-decoration:underline;font-size:13px}.tabs{display:flex;gap:8px;margin-bottom:16px}.month-heading{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:20px 0 8px}.race-card{display:flex;gap:14px;align-items:stretch;padding:14px;margin-bottom:10px;text-decoration:none;color:inherit}.race-card:hover{border-color:var(--brand-black)}.race-card.is-off{opacity:.65}.date-box{width:76px;flex-shrink:0;border-radius:8px;background:var(--brand-black);color:var(--brand-yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;text-align:center}.date-box .day{font-size:20px;font-weight:800;line-height:1.1;white-space:nowrap}.date-box .day.is-range{font-size:17px}.date-box .month{font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px}.race-body{flex:1;min-width:0}.race-title{font-weight:700;font-size:16px;margin:2px 0 4px}.race-meta{font-size:13px;color:var(--text-secondary)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{font-size:11px;font-weight:700;border-radius:4px;padding:3px 7px;background:#f3f4f6;color:var(--text);border:1px solid var(--border)}.tag-discipline{background:var(--brand-black);color:#fff;border-color:var(--brand-black)}.tag-open{background:#dcfce7;color:#166534;border-color:#bbf7d0}.tag-soon{background:var(--accent-tint);border-color:var(--brand-yellow)}.tag-closed{color:var(--text-secondary)}.tag-cancelled{background:#fee2e2;color:#991b1b;border-color:#fecaca}.tag-postponed{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.empty{text-align:center;color:var(--text-secondary);padding:32px 16px}.detail-head{display:flex;gap:16px;align-items:flex-start}.detail-head h1{font-size:22px;margin:4px 0 6px}.info-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;font-size:14px}.info-grid dt{color:var(--text-secondary)}.info-grid dd{margin:0;overflow-wrap:anywhere}.footer{text-align:center;font-size:12px;color:var(--text-secondary);padding:24px 16px 40px}@media (max-width: 640px){.filters-row{grid-template-columns:1fr}.topbar img{height:32px}.info-grid{grid-template-columns:1fr;gap:2px}.info-grid dd{margin-bottom:8px}}.disc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-bottom:14px}.disc-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:12px 6px 8px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-secondary)}.disc-tile[aria-checked=true]{background:var(--accent-fill);border-color:var(--brand-black);color:var(--brand-black)}.disc-tile:focus-visible{outline:2px solid var(--brand-black);outline-offset:2px}.disc-label{font-size:11px;font-weight:600;line-height:1.2;text-align:center}.disc-check{position:absolute;top:5px;right:5px;width:16px;height:16px;border-radius:4px;border:1.5px solid #9ca3af;background:#fff;font-size:11px;font-weight:800;line-height:13px;text-align:center}.disc-tile[aria-checked=true] .disc-check{background:var(--brand-black);border-color:var(--brand-black);color:var(--brand-yellow)}.race-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.logo-box-sm{border:1px solid var(--border)}@media (max-width: 640px){.disc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-box-sm{width:64px;height:32px}}.topbar-nav{align-items:center;flex-wrap:wrap;justify-content:flex-end}.topbar-link{background:none;border:none;padding:0;color:#fff;font-size:14px;font-weight:600}.lang-switch{border:1px solid #ffffff;border-radius:6px;padding:3px 8px;font-size:12px}.footer a{color:var(--text-secondary)}.auth-card{max-width:460px;margin:0 auto 16px}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:14px}.check-row{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin-bottom:14px}.check-row input{margin-top:3px}.pw-check{font-size:13px;color:var(--text-secondary);margin:-6px 0 14px}.pw-check ul{list-style:none;padding:0;margin:4px 0 0}.pw-check li.ok{color:var(--success);font-weight:600}.success{color:var(--success);font-size:14px}.acc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.row-wrap{display:flex;flex-wrap:wrap;gap:0 12px}.row-between{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sub-title{font-size:15px;margin:18px 0 10px}.meta{font-size:13px;color:var(--text-secondary)}.hint{font-size:12px;color:var(--text-secondary)}.muted{color:var(--text-secondary);text-decoration:line-through}.mini-card{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px}.mini-card.editing{background:var(--accent-tint);border-color:var(--brand-yellow)}.btn-sm{padding:6px 10px;font-size:13px}.grants{margin-top:8px}.grant-row{padding:6px 0;border-bottom:1px solid var(--border);font-size:14px;align-items:center}.org-message{margin-top:10px;padding:8px 12px;border-left:3px solid var(--brand-yellow);background:var(--accent-tint);font-size:14px}.status-accepted{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-incomplete,.status-received{background:var(--accent-tint);border-color:var(--brand-yellow)}.status-rejected,.status-withdrawn{background:#fee2e2;color:#991b1b;border-color:#fecaca}@media (max-width: 640px){.topbar-nav{gap:10px}.topbar-nav a,.topbar-link{font-size:13px}}
