: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}.pay-confirmed{background:#dcfce7;color:#166534;border-color:#bbf7d0}.pay-proof_uploaded{background:var(--accent-tint);border-color:var(--brand-yellow)}.pay-due{background:#fee2e2;color:#991b1b;border-color:#fecaca}@media (max-width: 640px){.topbar-nav{gap:10px}.topbar-nav a,.topbar-link{font-size:13px}}.entry-title{font-size:22px;margin:4px 0 2px}.entry-title a{text-decoration:none}.section-title{font-size:17px;margin:0 0 14px}.choice-list .check-row{margin-bottom:10px}.picked{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.car-group{margin-bottom:8px}.car-group .sub-title{margin-top:4px}.car-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:14px;cursor:pointer}.car-option input{margin-top:3px}.car-option.is-picked{border-color:var(--brand-black);background:var(--accent-tint)}.fee-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:8px}.fee-table td{padding:6px 0;border-bottom:1px solid var(--border)}.fee-table td:last-child{text-align:right;white-space:nowrap;padding-left:12px}.fee-table .fee-total td{font-weight:700;border-bottom:none}.notice{border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:14px}.warn-box{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.success-box{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.race-no{font-weight:800;font-size:18px;margin-top:6px}.pay-box{background:var(--accent-tint);border:1px solid var(--brand-yellow);border-radius:10px;padding:12px 14px;font-size:14px}.file-slot{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;font-size:14px}.file-slot .row-between{gap:8px}.file-row{margin-top:8px}.file-row .link-btn{text-align:left;overflow-wrap:anywhere}.log-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.log-table td{padding:6px 8px 6px 0;border-bottom:1px solid var(--border);vertical-align:top}.btn-danger{background:var(--error);color:#fff}@media (max-width: 560px){.info-grid.entry-info{grid-template-columns:1fr;gap:2px 0}.info-grid.entry-info dd{margin-bottom:8px}}.topbar-inner{padding:6px 11px}.topbar img{height:62px}@media (max-width: 640px){.topbar-inner{padding:4px 8px}.topbar img{height:53px}}@media (max-width: 640px){.topbar-inner{flex-wrap:wrap;row-gap:2px}.topbar-nav{margin-left:auto;flex-wrap:nowrap;white-space:nowrap}}.race-card{flex-direction:column;gap:10px;padding:10px 10px 10px 12px;cursor:pointer}.race-top{display:flex;gap:12px;align-items:stretch}.race-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.race-head{display:flex;justify-content:flex-start;gap:12px;align-items:center}.date-box.date-box-low{width:60px;height:44px;padding:0}.date-box-low .day{font-size:15px}.date-box-low .day.is-range{font-size:13px}.date-box-low .month{font-size:10px}.race-card .race-title{display:block;font-weight:700;font-size:17px;line-height:1.2;margin:0;color:var(--text);text-decoration:none}.race-card .race-title:hover{text-decoration:underline}.race-chips{margin-top:0;align-items:center}.chip-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;border-radius:4px;padding:3px 8px;border:1px solid #111827;color:#111827;text-decoration:none;background:#fff}.chip-link:hover{background:var(--accent-tint)}.report-link{font-size:12px;color:#4b5563;padding:3px 4px;text-decoration:underline}.race-logo-cell{width:156px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-box.race-logo-lg{width:100%;height:82px;background:none}.race-logo-lg img{max-width:100%;max-height:82px;object-fit:contain}.race-reg{border-top:1px solid #f0f0f0;padding-top:10px}.reg-bar{display:flex;gap:14px;align-items:center}.reg-bar-main{flex:1;min-width:0}.reg-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;margin-bottom:4px}.reg-bar-count{font-variant-numeric:tabular-nums;white-space:nowrap}.reg-bar-track{height:8px;border-radius:999px;background:#f3f4f6;overflow:hidden}.reg-bar-track>div{height:8px;border-radius:999px}.reg-bar-dates{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#4b5563;margin-top:4px}.btn.reg-bar-btn{flex-shrink:0;font-weight:800;padding:11px 20px;text-align:center}.btn.reg-bar-btn.is-off{background:#f3f4f6;color:#6b7280;pointer-events:none}@media (max-width: 640px){.race-top{position:relative}.race-head{padding-right:104px;min-height:48px}.race-logo-cell{position:absolute;top:0;right:0;width:96px;height:48px}.logo-box.race-logo-lg{height:48px}.race-logo-lg img{max-height:48px}.date-box.date-box-low{width:50px;height:40px}.race-card .race-title{font-size:15px}.reg-bar{flex-direction:column;align-items:stretch;gap:8px}.btn.reg-bar-btn{display:block;padding:12px;font-size:15px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;cursor:default}.modal{width:100%;max-width:600px;max-height:92vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000040}.modal-head{background:var(--brand-black);border-bottom:3px solid var(--brand-yellow);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-kicker{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--brand-yellow);text-transform:uppercase}.modal-sub{font-size:16px;font-weight:700;color:#fff}.modal-close{background:none;border:none;color:#fff;font-size:24px;line-height:1}.modal-body{padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.report-reasons{border:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.report-reasons legend{font-weight:700;margin-bottom:8px}.report-reason{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer}.report-reason.is-on{border-color:#111827;background:#fff8cc}.report-reason input{margin-top:2px}.report-privacy{display:flex;gap:8px;align-items:flex-start;background:#fff8cc;border:1px solid var(--brand-yellow);border-radius:8px;padding:10px;font-size:13px;margin-bottom:10px}.optional{font-weight:400;color:#4b5563}@media (max-width: 640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:94vh}.modal-actions .btn{flex:1;text-align:center}}.container.is-wide{max-width:1200px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.calendar-layout.no-partners{grid-template-columns:minmax(0,880px);justify-content:center}.partners-col{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.partners-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary)}.partner-card{display:block;width:280px;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--border)}.partner-card.is-tall{height:168px}.partner-card.is-low{height:112px}.partner-card img{width:100%;height:100%;object-fit:cover;display:block}.partner-card .partner-name{display:flex;height:100%;align-items:center;justify-content:center;font-weight:800;padding:12px;text-align:center}.partner-inline{margin:0 0 10px}.partner-inline .partner-card{width:100%;height:auto;aspect-ratio:5 / 2}@media (max-width: 1023px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.partners-col{display:none}}@media (min-width: 1024px){.partner-inline{display:none}}.site-footer{background:var(--brand-black);border-top:3px solid var(--brand-yellow);color:#fff;margin-top:24px}.site-footer-inner{max-width:1200px;margin:0 auto;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{color:var(--brand-yellow)}.footer-menu{display:flex;gap:14px;font-size:13px;font-weight:600}.footer-center{font-size:12px;color:#d1d5db;text-align:center}.footer-icons{display:flex;gap:8px;justify-content:flex-end}.footer-icons a{width:32px;height:32px;border-radius:50%;border:1px solid var(--brand-yellow);color:var(--brand-yellow);display:inline-flex;align-items:center;justify-content:center}.footer-icons a:hover{background:var(--brand-yellow);color:var(--brand-black)}@media (max-width: 640px){.site-footer-inner{grid-template-columns:1fr auto;grid-template-areas:"menu icons" "center center";row-gap:10px}.footer-menu{grid-area:menu}.footer-icons{grid-area:icons}.footer-center{grid-area:center}}@media (min-width: 1240px){body{background:#d4d6db}.site-box{max-width:1200px;margin:24px auto;background:var(--bg);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px #0000001f}.site-box .topbar-inner,.site-box .site-footer-inner{max-width:none;padding-left:16px;padding-right:16px}.site-box .site-footer{margin-top:0}}.topbar-inner{max-width:1200px}.footer-menu a{color:var(--brand-yellow)}.footer-menu a:hover{color:#fff}.footer-center{font-size:11px;color:#fff}.footer-icons a{border-radius:8px;border:1.5px solid var(--brand-yellow);color:var(--brand-yellow);transition:background .15s,color .15s}.footer-icons a:hover,.footer-icons.is-filled a{background:var(--brand-yellow);color:var(--brand-black)}.footer-icons.is-filled a:hover{background:#fff;border-color:#fff}.footer-at{font-size:19px;font-weight:800;line-height:1;margin-top:-2px}@media (max-width: 640px){.footer-icons{gap:6px;flex-wrap:wrap}.footer-icons a{width:30px;height:30px}}@media (max-width: 420px){.site-footer-inner{column-gap:10px}.footer-menu{gap:10px}.footer-icons{gap:4px}.footer-icons a{width:26px;height:26px;border-radius:7px}.footer-icons svg{width:15px;height:15px}.footer-at{font-size:16px}}.legal h1{margin:6px 0 4px;font-size:24px}.legal h2{font-size:17px;margin:22px 0 8px}.legal h3{font-size:14px;margin:14px 0 4px}.legal p,.legal li{line-height:1.55}.legal p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.legal-table td,.legal .meta{text-align:left}.legal ul{padding-left:20px}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 10px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--border)}.legal-table th{font-weight:700;white-space:nowrap}@media (max-width: 640px){.legal-table thead{display:none}.legal-table tr{display:block;border-bottom:1px solid var(--border);padding:6px 0}.legal-table td{display:block;border:0;padding:3px 0}.legal-table td:before{content:attr(data-label) ": ";font-weight:700}}.help-wa{display:flex;gap:8px;align-items:center;font-size:14px;margin:10px 0 14px}.help-wa svg{color:#25d366}.help-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none}.role-pick{border:1px solid var(--border);border-radius:8px;padding:10px 12px 12px;margin:0 0 14px}.role-pick legend{font-weight:600;font-size:14px;padding:0 4px}.role-opt{border-radius:6px;padding:6px 8px;margin-bottom:4px;cursor:pointer}.role-opt.on{background:var(--surface-2, rgba(37, 99, 235, .08))}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}.req{color:#dc2626;font-weight:700}.is-missing{border-color:#dc2626!important;background:#fef2f2!important;box-shadow:0 0 0 1px #dc2626}.check-row.field-missing{outline:1px solid #dc2626;background:#fef2f2;border-radius:6px}.missing-note{color:#dc2626;font-size:12px;margin-top:4px}
