.navbar{z-index:100;background:#fff;border-bottom:2px solid #1a6b3a;justify-content:space-between;align-items:center;height:68px;padding:0 40px;display:flex;position:sticky;top:0}.nav-burger{cursor:pointer;z-index:110;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;display:none}.nav-burger span{background:#1a6b3a;border-radius:2px;width:100%;height:3px;transition:transform .2s,opacity .2s;display:block}.nav-burger.open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.nav-links{align-items:center;gap:24px;list-style:none;display:flex}.nav-links a{color:#111827;text-transform:uppercase;font-size:13px;font-weight:600;text-decoration:none}.nav-links a:hover{color:#1a6b3a}.nav-login{background:#1a6b3a;border-radius:6px;padding:8px 18px;color:#fff!important}@media (width<=768px){.navbar{height:60px;padding:0 16px}.nav-burger{display:flex}.nav-links{background:#fff;border-bottom:0 solid #1a6b3a;flex-direction:column;align-items:stretch;gap:0;max-height:0;transition:max-height .25s;position:fixed;top:60px;left:0;right:0;overflow:hidden}.nav-links-open{border-bottom-width:2px;max-height:480px}.nav-links li{border-top:1px solid #e5e7eb}.nav-links a{padding:16px 20px;font-size:14px;display:block}.nav-login{text-align:center;margin:12px 20px;display:block}}.footer-social{align-items:center;gap:14px;display:flex}.footer-social a{color:#6b7280;transition:color .2s;display:flex}.footer-social a:hover{color:#1a6b3a}.footer-social svg{width:22px;height:22px}*{box-sizing:border-box}html,body,#root{width:100%;overflow-x:hidden}body{color:#111827;background:#fff;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,sans-serif}.nav-logo{align-items:center;gap:10px;display:flex}.logo-mark{color:#c9a84c;background:#1a6b3a;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:flex}.logo-text{letter-spacing:.08em;color:#1a6b3a;text-transform:uppercase;font-size:28px;font-weight:900}.gold{color:#c9a84c}.green{color:#1a6b3a}.hero{background:#1a6b3a;padding:80px 60px;position:relative;overflow:hidden}.hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;margin-bottom:20px;font-size:13px;font-weight:700}.hero h1{color:#fff;text-transform:uppercase;margin-bottom:20px;font-size:80px;font-weight:900;line-height:.95}.hero-sub{color:#ffffffbf;max-width:500px;margin-bottom:36px;font-size:18px;line-height:1.6}.hero-ctas{flex-wrap:wrap;gap:14px;display:flex}.btn-gold{color:#111827;text-transform:uppercase;background:#c9a84c;border-radius:6px;padding:14px 28px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.btn-ghost{color:#fff;text-transform:uppercase;background:0 0;border:2px solid #fff6;border-radius:6px;padding:14px 28px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-green{color:#fff;text-transform:uppercase;background:#1a6b3a;border-radius:6px;padding:14px 28px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.btn-outline{color:#1a6b3a;text-transform:uppercase;background:0 0;border:2px solid #1a6b3a;border-radius:6px;padding:14px 28px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.stats-strip{background:#f8f8f6;border-bottom:1px solid #d1d5db;justify-content:space-around;padding:24px 0;display:flex}.stat{text-align:center}.stat-num{color:#1a6b3a;font-size:42px;font-weight:900;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.12em;color:#6b7280;margin-top:4px;font-size:11px;font-weight:600}.section{padding:60px}.section-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:42px;font-weight:900}.gold-rule{background:#c9a84c;border-radius:2px;width:52px;height:4px;margin-bottom:32px}.reg-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.reg-card{text-align:center;border:1px solid #d1d5db;border-radius:12px;padding:32px 28px;position:relative;overflow:hidden}.reg-card:before{content:"";background:#1a6b3a;height:4px;position:absolute;top:0;left:0;right:0}.reg-card.coach:before{background:#c9a84c}.reg-icon{margin-bottom:16px;font-size:40px;display:block}.reg-card h3{text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:22px;font-weight:800}.reg-card p{color:#6b7280;margin-bottom:24px;font-size:14px;line-height:1.6}.footer{background:#111827;justify-content:space-between;align-items:center;padding:40px 60px;display:flex}.footer-logo{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:28px;font-weight:900}.footer-shamrocks{color:#1a6b3a;letter-spacing:.1em;font-size:20px}.footer-copy{color:#6b7280;font-size:12px}a.nav-logo,.nav-logo{cursor:pointer;align-items:center;gap:10px;text-decoration:none;display:flex}@media (width<=768px){.logo-text{font-size:20px}.logo-mark{width:34px;height:34px;font-size:18px}.hero{padding:40px 20px}.hero h1{font-size:36px}.hero-sub{font-size:15px}.hero-ctas{flex-direction:column;align-items:stretch}.btn-gold,.btn-ghost,.btn-green,.btn-outline{text-align:center}.stats-strip{flex-wrap:wrap;gap:16px;padding:20px 12px}.stat{width:40%}.stat-num{font-size:28px}.section{padding:32px 16px}.section-title{font-size:28px}.reg-grid{grid-template-columns:1fr}.footer{text-align:center;flex-direction:column;gap:12px;padding:24px 16px}.form-container{min-width:0;padding:24px 16px}.form-section{min-width:0;padding:20px}.form-row{grid-template-columns:1fr;min-width:0}.form-group{min-width:0}.form-group input,.form-group select,.form-group textarea{min-width:0;max-width:100%}}@media (width<=380px){.hero h1{font-size:30px}}.form-page{background:#f9f9f9;min-height:100vh}.form-container{max-width:720px;margin:0 auto;padding:60px 40px}.form-header{margin-bottom:40px}.form-header h1{text-transform:uppercase;margin-bottom:8px;font-size:42px;font-weight:900}.form-header p{color:#6b7280;margin-top:12px;font-size:16px}.form-section{background:#fff;border:1px solid #d1d5db;border-radius:12px;margin-bottom:24px;padding:32px}.form-section h3{text-transform:uppercase;letter-spacing:.05em;color:#1a6b3a;margin-bottom:20px;font-size:18px;font-weight:800}.form-group{margin-bottom:18px}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:#374151;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.form-group input,.form-group select{color:#111827;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:16px}.form-group input:focus,.form-group select:focus{border-color:#1a6b3a;outline:none}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.league-section{border-left:4px solid #c9a84c}.league-info{color:#6b7280;margin-bottom:18px;font-size:14px;line-height:1.6}.checkbox-group{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.checkbox-group input[type=checkbox]{accent-color:#1a6b3a;flex-shrink:0;width:20px;height:20px;margin-top:2px}.checkbox-group label{color:#374151;font-size:14px;line-height:1.5}.commitment{background:#f8f8f6;border:1px solid #d1d5db;border-radius:8px;padding:16px}.error-box{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:14px 18px;font-size:14px}.btn-submit{color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:#1a6b3a;border:none;border-radius:8px;width:100%;margin-top:8px;padding:18px;font-size:16px;font-weight:800}.btn-submit:hover{background:#0f4226}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.success-box{text-align:center;background:#fff;border:1px solid #d1d5db;border-radius:16px;max-width:560px;margin:100px auto;padding:60px 40px}.success-icon{margin-bottom:20px;font-size:60px}.success-box h2{text-transform:uppercase;color:#1a6b3a;margin-bottom:16px;font-size:32px;font-weight:900}.success-box p{color:#6b7280;font-size:16px;line-height:1.6}a.nav-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 168px);padding:60px 20px;display:flex}.login-box{background:#fff;border:1px solid #d1d5db;border-radius:16px;width:100%;max-width:440px;padding:48px 40px;box-shadow:0 4px 24px #0000000f}.login-header{text-align:center;margin-bottom:32px}.login-icon{margin-bottom:12px;font-size:48px}.login-header h1{text-transform:uppercase;letter-spacing:.04em;font-size:32px;font-weight:900}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{text-transform:uppercase;letter-spacing:.05em;color:#374151;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.login-form .form-group input{color:#111827;border:1.5px solid #d1d5db;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:16px}.login-form .form-group input:focus{border-color:#1a6b3a;outline:none}.login-links{text-align:center;border-top:1px solid #d1d5db;margin-top:24px;padding-top:20px}.login-links p{color:#6b7280;margin-bottom:8px;font-size:13px}.login-links a{color:#1a6b3a;font-weight:700;text-decoration:none}@media (width<=768px){.login-container{min-width:0;padding:40px 16px}.login-box{min-width:0;padding:32px 24px}.dashboard-container *{box-sizing:border-box!important;max-width:100%!important}}.dashboard-container{max-width:1000px;margin:0 auto;padding:48px 40px}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.dashboard-header h1{color:#6b7280;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:16px;font-weight:600}.dashboard-header h2{text-transform:uppercase;color:#111827;letter-spacing:.03em;font-size:36px;font-weight:900}.league-status{letter-spacing:.06em;text-transform:uppercase;border-radius:30px;padding:10px 20px;font-size:13px;font-weight:800}.league-status.league{color:#fff;background:#1a6b3a}.league-status.nonleague{color:#6b7280;background:#f3f4f6}.pending-banner{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin-bottom:28px;padding:14px 20px;font-size:14px;font-weight:600}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.dash-card{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:28px}.dash-card h3{text-transform:uppercase;letter-spacing:.06em;color:#1a6b3a;border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:12px;font-size:16px;font-weight:800}.detail-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.detail-row span{color:#6b7280}.detail-row strong{color:#111827;font-weight:600}.detail-row a{color:#1a6b3a;font-weight:700;text-decoration:none}.btn-edit{color:#1a6b3a;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:1.5px solid #1a6b3a;border-radius:8px;width:100%;margin-top:20px;padding:12px;font-size:13px;font-weight:700}.btn-edit:hover{color:#fff;background:#1a6b3a}.upload-card{grid-column:1/-1}.upload-card p{color:#6b7280;margin-bottom:20px;font-size:14px;line-height:1.6}.upload-steps{gap:20px;margin-bottom:24px;display:flex}.upload-step{color:#374151;flex:1;align-items:center;gap:10px;font-size:14px;display:flex}.step-num{color:#fff;background:#1a6b3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:flex}.btn-download{color:#111827;text-transform:uppercase;letter-spacing:.05em;background:#f3f4f6;border-radius:8px;margin-bottom:20px;padding:12px 24px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.upload-area{margin-bottom:16px}.csv-input{display:none}.csv-label{text-align:center;color:#6b7280;cursor:pointer;border:2px dashed #d1d5db;border-radius:8px;padding:24px;font-size:14px;display:block}.csv-label:hover{color:#1a6b3a;border-color:#1a6b3a}.btn-upload{color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:#1a6b3a;border:none;border-radius:8px;width:100%;padding:14px;font-size:14px;font-weight:800}.btn-upload:hover{background:#0f4226}.btn-logout{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:1.5px solid #d1d5db;border-radius:6px;padding:7px 16px;font-size:12px;font-weight:700}.btn-logout:hover{color:#1a6b3a;border-color:#1a6b3a}.loading{text-align:center;color:#6b7280;padding:100px;font-size:18px}@media (width<=768px){.dashboard-container{padding:24px 16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-header h2{font-size:26px}.dashboard-grid{grid-template-columns:1fr;min-width:0}.dash-card{width:100%;min-width:0;padding:20px}.detail-row{flex-wrap:wrap;min-width:0}.upload-steps{flex-direction:column;gap:12px}.dashboard-container,.dashboard-grid,.dash-card,.detail-row,.detail-row span,.detail-row strong,.detail-row a,.coach-badge,.league-status,.listing-preview,.listing-info,.listing-links,.listing-tag,.listing-name,.listing-location,.listing-bio,.coach-bio,.upload-steps,.upload-step{word-break:break-word;overflow-wrap:break-word;min-width:0;max-width:100%}.listing-links{flex-wrap:wrap}}.athlete-avatar{object-fit:cover;border:3px solid #1a6b3a;border-radius:50%;width:80px;height:80px}@media (width<=768px){.athlete-avatar{width:56px;height:56px}.scores-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.scores-table{min-width:560px;max-width:none}}.coach-badge{color:#111827;letter-spacing:.06em;text-transform:uppercase;background:#c9a84c;border-radius:30px;padding:10px 20px;font-size:13px;font-weight:800}.coach-bio{color:#374151;font-size:15px;line-height:1.7}.listing-preview{background:#f8f8f6;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;padding:20px 24px}.listing-name{color:#111827;margin-bottom:4px;font-size:18px;font-weight:800}.listing-location{color:#6b7280;margin-bottom:10px;font-size:13px}.listing-bio{color:#374151;margin-bottom:12px;font-size:14px;line-height:1.6}.listing-links{flex-wrap:wrap;gap:8px;display:flex}.listing-tag{color:#1a6b3a;text-transform:uppercase;letter-spacing:.05em;background:#e8f0eb;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.listing-note{color:#9ca3af;font-size:12px;font-style:italic}.points-empty p{color:#6b7280;margin-bottom:4px;font-size:14px;line-height:1.6}.full-width{grid-column:1/-1}@media (width<=768px){.listing-preview{width:100%;min-width:0;padding:16px 18px}.listing-links{flex-wrap:wrap;min-width:0}.listing-tag{min-width:0}.coach-bio{word-break:break-word}.detail-row strong,.detail-row a{word-break:break-word;text-align:right;max-width:60%}}.races-hero{text-align:center;background:#1a6b3a;padding:60px}.races-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:60px;font-weight:900}.races-hero p{color:#ffffffbf;font-size:18px}.races-container{max-width:1100px;margin:0 auto;padding:48px 40px}.races-filters{gap:10px;margin-bottom:32px;display:flex}.filter-btn{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:30px;padding:10px 20px;font-size:13px;font-weight:700}.filter-btn.active{color:#fff;background:#1a6b3a;border-color:#1a6b3a}.races-loading{text-align:center;color:#6b7280;padding:60px;font-size:16px}.races-empty{text-align:center;padding:80px 20px}.races-empty h2{text-transform:uppercase;color:#111827;margin-bottom:8px;font-size:28px;font-weight:900}.races-empty p{color:#6b7280;font-size:16px}.races-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.race-card{background:#fff;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.race-card-header{justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}.race-card-title{align-items:center;gap:10px;display:flex}.race-logo{object-fit:cover;border:2px solid #ffffff4d;border-radius:50%;width:36px;height:36px}.race-card-header h3{color:#fff;letter-spacing:.02em;font-size:16px;font-weight:800;line-height:1.2}.league-badge{color:#111827;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#c9a84c;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:800}.race-card-body{padding:16px 18px}.race-meta{color:#6b7280;margin-bottom:6px;font-size:13px}.race-meta strong{color:#111827}.race-card-footer{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.btn-sm-green{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#1a6b3a;border-radius:5px;padding:7px 14px;font-size:11px;font-weight:700;text-decoration:none}.btn-sm-outline{color:#1a6b3a;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1.5px solid #1a6b3a;border-radius:5px;padding:7px 14px;font-size:11px;font-weight:700;text-decoration:none}.filter-select{color:#111827;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:30px;padding:10px 16px;font-family:inherit;font-size:16px;font-weight:600}.filter-select:focus{border-color:#1a6b3a;outline:none}@media (width<=768px){.races-hero{padding:32px 20px}.races-hero h1{font-size:32px;line-height:1.1}.races-hero p{font-size:14px}.races-container{padding:24px 16px}.races-filters{flex-wrap:wrap;gap:8px}.filter-btn{padding:8px 14px;font-size:12px}.filter-select{padding:8px 14px}.races-grid{grid-template-columns:1fr}.race-card-header h3{font-size:15px}.race-card-footer{gap:6px}.btn-sm-green,.btn-sm-outline{padding:6px 10px;font-size:10px}}.scores-hero{text-align:center;background:#1a6b3a;padding:60px}.scores-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:60px;font-weight:900}.scores-hero p{color:#ffffffbf;font-size:18px}.scores-container{max-width:1100px;margin:0 auto;padding:48px 40px}.scores-filters{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.filter-group{flex-direction:column;flex:1;gap:6px;min-width:160px;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.1em;color:#6b7280;font-size:11px;font-weight:700}.filter-group select{color:#111827;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px}.filter-group select:focus{border-color:#1a6b3a;outline:none}.scores-loading{text-align:center;color:#6b7280;padding:60px;font-size:16px}.scores-empty{text-align:center;padding:80px 20px}.scores-empty h2{text-transform:uppercase;color:#111827;margin-bottom:8px;font-size:28px;font-weight:900}.scores-empty p{color:#6b7280;max-width:400px;margin:0 auto;font-size:16px;line-height:1.6}.scores-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 12px #0000000f}.scores-table thead tr{background:#1a6b3a}.scores-table thead th{color:#fff;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:16px 18px;font-size:11px;font-weight:700}.scores-table tbody tr{border-bottom:1px solid #e5e7eb}.scores-table tbody tr:hover{background:#f8f8f6}.scores-table tbody tr.top-1{background:#fff8e7}.scores-table tbody tr.top-2{background:#f5f5f5}.scores-table tbody tr.top-3{background:#fdf4ec}.scores-table td{color:#111827;padding:14px 18px;font-size:14px}.rank{color:#6b7280;font-size:20px;font-weight:900}.rank.gold{color:#c9a84c}.rank.silver{color:#9ca3af}.rank.bronze{color:#cd7f32}.athlete-name{font-weight:700}.athlete-club{color:#6b7280;margin-top:2px;font-size:12px}.points-pill{color:#fff;letter-spacing:.04em;background:#1a6b3a;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:800;display:inline-block}.unregistered-note{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:13px}.unregistered-note a{color:#1a6b3a;font-weight:700;text-decoration:none}.scores-table tbody tr.unregistered{opacity:.45}.claim-badge{color:#1a6b3a;letter-spacing:.04em;text-transform:uppercase;background:#f3f4f6;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block}@media (width<=768px){.scores-hero{padding:32px 20px}.scores-hero h1{font-size:32px}.scores-hero p{font-size:14px}.scores-container{padding:24px 16px}.scores-filters{flex-direction:column;gap:10px}.filter-group{min-width:0}.scores-table-wrap{-webkit-overflow-scrolling:touch;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.scores-table{box-shadow:none;min-width:640px}.scores-table td,.scores-table th{padding:10px 12px;font-size:12px}}.champions-hero{text-align:center;background:#1a6b3a;padding:60px;position:relative;overflow:hidden}.shamrock-bg{opacity:.05;pointer-events:none;font-size:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.champions-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:60px;font-weight:900;position:relative}.champions-hero p{color:#ffffffbf;margin-bottom:24px;font-size:18px;position:relative}.season-select select{color:#fff;cursor:pointer;background:0 0;border:2px solid #ffffff4d;border-radius:30px;padding:10px 20px;font-size:16px;font-weight:700;position:relative}.champions-container{max-width:1100px;margin:0 auto;padding:48px 40px}.champions-loading{text-align:center;color:#6b7280;padding:60px;font-size:16px}.champions-empty{text-align:center;padding:80px 20px}.champions-empty h2{text-transform:uppercase;color:#111827;margin-bottom:8px;font-size:28px;font-weight:900}.champions-empty p{color:#6b7280;max-width:400px;margin:0 auto;font-size:16px;line-height:1.6}.category-section{margin-bottom:56px}.category-title{text-transform:uppercase;letter-spacing:.04em;color:#111827;margin-bottom:8px;font-size:28px;font-weight:900}.podium-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;display:grid}.podium-card{text-align:center;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:28px 20px;position:relative;overflow:hidden}.podium-card:before{content:"";height:5px;position:absolute;top:0;left:0;right:0}.podium-card.position-1:before{background:#c9a84c}.podium-card.position-2:before{background:#9ca3af}.podium-card.position-3:before{background:#cd7f32}.podium-card.position-1{border-color:#c9a84c;box-shadow:0 4px 20px #c9a84c26}.medal{margin-bottom:6px;font-size:48px}.medal-label{text-transform:uppercase;letter-spacing:.1em;color:#6b7280;margin-bottom:16px;font-size:11px;font-weight:800}.podium-card.position-1 .medal-label{color:#c9a84c}.champion-photo{object-fit:cover;border:3px solid #1a6b3a;border-radius:50%;width:80px;height:80px;margin:0 auto 12px;display:block}.champion-name{color:#111827;margin-bottom:4px;font-size:20px;font-weight:900}.champion-county{color:#6b7280;margin-bottom:12px;font-size:13px}.champion-points{color:#fff;letter-spacing:.04em;background:#1a6b3a;border-radius:20px;margin-bottom:6px;padding:6px 16px;font-size:13px;font-weight:800;display:inline-block}.champion-races{color:#9ca3af;margin-top:4px;font-size:12px}@media (width<=768px){.champions-hero{padding:32px 20px}.champions-hero h1{font-size:32px}.champions-hero p{font-size:14px}.champions-container{padding:24px 16px}.category-title{font-size:22px}.podium-grid{grid-template-columns:1fr}}.coaches-hero{text-align:center;background:#1a6b3a;padding:60px}.coaches-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:60px;font-weight:900}.coaches-hero p{color:#ffffffbf;font-size:18px}.coaches-container{max-width:1100px;margin:0 auto;padding:48px 40px}.coaches-filters{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:32px;display:flex}.coaches-search{color:#111827;border:1.5px solid #d1d5db;border-radius:8px;flex:1;min-width:200px;padding:11px 16px;font-family:inherit;font-size:16px}.coaches-search:focus{border-color:#1a6b3a;outline:none}.coaches-county-filter{color:#111827;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:11px 16px;font-family:inherit;font-size:16px}.coaches-loading{text-align:center;color:#6b7280;padding:60px;font-size:16px}.coaches-empty{text-align:center;padding:80px 20px}.coaches-empty h2{text-transform:uppercase;color:#111827;margin-bottom:8px;font-size:28px;font-weight:900}.coaches-empty p{color:#6b7280;max-width:400px;margin:0 auto;font-size:16px;line-height:1.6}.coaches-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.coach-card{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.coach-card-top{align-items:center;gap:14px;margin-bottom:14px;display:flex}.coach-avatar{color:#c9a84c;background:#1a6b3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:18px;font-weight:900;display:flex}.coach-name{color:#111827;margin-bottom:3px;font-size:17px;font-weight:800}.coach-location{color:#6b7280;font-size:13px}.coach-bio{color:#374151;margin-bottom:16px;font-size:14px;line-height:1.6}.coach-links{flex-wrap:wrap;gap:8px;display:flex}.coach-link{color:#1a6b3a;letter-spacing:.03em;background:#e8f0eb;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none}.coach-link:hover{color:#fff;background:#1a6b3a}@media (width<=768px){.coaches-hero{padding:32px 20px}.coaches-hero h1{font-size:32px}.coaches-hero p{font-size:14px}.coaches-container{padding:24px 16px}.coaches-filters{flex-direction:column;align-items:stretch}.coaches-search,.coaches-county-filter{width:100%;min-width:0}.coaches-filters .btn-gold{text-align:center}.coaches-grid{grid-template-columns:1fr}}.map-hero{text-align:center;background:#1a6b3a;padding:60px}.map-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:60px;font-weight:900}.map-hero p{color:#ffffffbf;font-size:18px}.map-layout{height:700px;display:flex}.map-sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-shrink:0;width:320px;padding:20px;overflow-y:auto}.map-legend{border-bottom:1px solid #e5e7eb;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.legend-item{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.legend-dot{border-radius:50%;width:14px;height:14px}.legend-dot.league{background:#1a6b3a;border:2px solid #c9a84c}.legend-dot.nonleague{background:#6b7280;border:2px solid #fff;box-shadow:0 0 0 1px #d1d5db}.map-loading{text-align:center;color:#6b7280;padding:40px;font-size:14px}.race-popup{background:#f8f8f6;border:1px solid #d1d5db;border-radius:10px;margin-bottom:16px;padding:16px;position:relative}.popup-close{color:#6b7280;cursor:pointer;background:0 0;border:none;font-size:14px;position:absolute;top:10px;right:10px}.popup-logo{object-fit:cover;border-radius:50%;width:48px;height:48px;margin-bottom:10px}.race-popup h3{color:#111827;margin-bottom:8px;font-size:16px;font-weight:800}.popup-meta{color:#6b7280;margin-bottom:4px;font-size:13px}.popup-league{color:#fff;background:#1a6b3a;border-radius:20px;margin:8px 0;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.popup-links{gap:8px;margin-top:12px;display:flex}.sidebar-races h3{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:12px;font-size:13px;font-weight:800}.sidebar-race{cursor:pointer;border:1px solid #0000;border-radius:8px;margin-bottom:6px;padding:10px 12px}.sidebar-race:hover{background:#f8f8f6;border-color:#e5e7eb}.sidebar-race.active{background:#e8f0eb;border-color:#1a6b3a}.sidebar-race-name{color:#111827;margin-bottom:2px;font-size:14px;font-weight:700}.sidebar-race-location{color:#6b7280;font-size:12px}.map-wrapper{flex:1;height:100%}@media (width<=768px){.map-hero{padding:32px 20px}.map-hero h1{font-size:32px}.map-hero p{font-size:14px}.map-layout{flex-direction:column;height:auto}.map-sidebar{border-bottom:1px solid #e5e7eb;border-right:none;width:100%;max-height:340px}.map-wrapper{flex:none;height:360px}}.admin-container{max-width:1100px;margin:0 auto;padding:48px 40px}.admin-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.admin-header h1{text-transform:uppercase;letter-spacing:.03em;font-size:42px;font-weight:900}.admin-stats{gap:20px;display:flex}.admin-stat{text-align:center;background:#f8f8f6;border:1px solid #e5e7eb;border-radius:10px;padding:16px 24px}.admin-stat-num{color:#1a6b3a;font-size:36px;font-weight:900;line-height:1}.admin-stat-label{text-transform:uppercase;letter-spacing:.1em;color:#6b7280;margin-top:4px;font-size:11px;font-weight:600}.admin-message{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:24px;padding:12px 18px;font-size:14px;font-weight:600}.admin-tabs{border-bottom:2px solid #e5e7eb;gap:4px;margin-bottom:28px;display:flex}.admin-tab{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 24px;font-size:14px;font-weight:700;position:relative;bottom:-2px}.admin-tab.active{color:#1a6b3a;border-bottom:2px solid #1a6b3a}.badge{color:#fff;background:#dc2626;border-radius:10px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:800}.admin-section{margin-bottom:40px}.admin-section-title{text-transform:uppercase;letter-spacing:.04em;color:#111827;margin-bottom:16px;font-size:20px;font-weight:800}.admin-card{background:#fff;border:1px solid #d1d5db;border-radius:10px;margin-bottom:12px;padding:20px}.admin-card.pending{background:#fffbeb;border-left:4px solid #f59e0b}.admin-card-header{gap:16px;margin-bottom:14px;display:flex}.admin-logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:52px;height:52px}.admin-card-info h3{color:#111827;margin-bottom:4px;font-size:18px;font-weight:800}.admin-card-info p{color:#6b7280;margin-bottom:2px;font-size:13px}.league-tag{color:#fff;background:#1a6b3a;border-radius:20px;margin-top:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-approve{color:#fff;cursor:pointer;background:#1a6b3a;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.btn-reject{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.btn-toggle-league{color:#111827;cursor:pointer;background:#c9a84c;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.btn-override{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.btn-delete{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.btn-delete-sm{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:700}.admin-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0000000d}.admin-table thead tr{background:#1a6b3a}.admin-table thead th{color:#fff;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:14px 16px;font-size:11px;font-weight:700}.admin-table tbody tr{border-bottom:1px solid #e5e7eb}.admin-table tbody tr:hover{background:#f8f8f6}.admin-table td{color:#111827;padding:12px 16px;font-size:13px}.scores-empty{text-align:center;color:#6b7280;padding:60px 20px}.empty-icon{margin-bottom:16px;font-size:48px}.claim-search-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.claim-search-form .search-field{flex-direction:row;flex:1;align-items:center;gap:12px;min-width:200px;display:flex}.claim-search-form .search-field label{flex-shrink:0}.claim-search-form .search-field input{flex:1}.claim-search-form label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;white-space:nowrap;font-size:11px;font-weight:700}.claim-search-form input{box-sizing:border-box;border:1.5px solid #d1d5db;border-radius:8px;width:100%;padding:12px 14px;font-family:inherit;font-size:16px}.claim-search-form input:focus{border-color:#1a6b3a;outline:none}.claim-search-form button{white-space:nowrap;padding:12px 24px}.current-headshot{object-fit:cover;border:3px solid #1a6b3a;border-radius:50%;width:80px;height:80px;margin-bottom:12px;display:block}.field-note{color:#6b7280;margin-top:4px;font-size:11px;font-style:italic;display:block}.success-banner{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:16px;padding:14px 18px;font-size:14px;font-weight:600}textarea{color:#111827;resize:vertical;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:16px}textarea:focus{border-color:#1a6b3a;outline:none}.race-detail-hero{padding:60px}.race-detail-hero-inner{align-items:center;gap:28px;max-width:1100px;margin:0 auto;display:flex}.race-detail-logo{object-fit:cover;border:4px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:100px;height:100px}.race-detail-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;margin-bottom:10px;font-size:13px;font-weight:700}.race-detail-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px;font-size:52px;font-weight:900;line-height:1}.race-detail-meta{color:#fffc;margin-bottom:6px;font-size:16px}.race-detail-container{max-width:1100px;margin:0 auto;padding:48px 40px}.race-detail-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;display:grid}.race-detail-card{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:28px}.race-detail-card h3{text-transform:uppercase;letter-spacing:.06em;color:#1a6b3a;border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:12px;font-size:16px;font-weight:800}.league-info-card{border-left:4px solid #c9a84c;grid-column:1/-1}.league-info-card p{color:#374151;font-size:15px;line-height:1.6}.race-detail-back{margin-top:20px}@media (width<=768px){.race-detail-hero{padding:32px 20px}.race-detail-hero-inner{flex-direction:column;align-items:flex-start;gap:16px}.race-detail-logo{width:72px;height:72px}.race-detail-hero h1{font-size:28px}.race-detail-meta{font-size:14px}.race-detail-container{padding:24px 16px}.race-detail-grid{grid-template-columns:1fr}.race-detail-card{padding:20px}}.athlete-hero{background:#1a6b3a;padding:60px}.athlete-hero-inner{align-items:center;gap:28px;max-width:1100px;margin:0 auto;display:flex}.athlete-hero-photo{object-fit:cover;border:4px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:120px;height:120px}.athlete-hero-avatar{color:#c9a84c;background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;font-size:42px;font-weight:900;display:flex}.athlete-hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;margin-bottom:10px;font-size:13px;font-weight:700}.athlete-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px;font-size:52px;font-weight:900;line-height:1}.athlete-hero-meta{color:#fffc;margin-bottom:12px;font-size:16px}.athlete-social{gap:10px;display:flex}.social-link{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#ffffff26;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none}.social-link:hover{background:#ffffff40}.athlete-container{max-width:1100px;margin:0 auto;padding:48px 40px}.athlete-grid{grid-template-columns:1fr;gap:20px;margin-bottom:32px;display:grid}.points-empty{text-align:center;padding:32px}.points-icon{margin-bottom:12px;font-size:48px}.points-empty p{color:#6b7280;font-size:14px}.coach-hero{background:#1a6b3a;padding:60px}.coach-hero-inner{align-items:center;gap:28px;max-width:1100px;margin:0 auto;display:flex}.coach-hero-avatar{color:#c9a84c;background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;font-size:42px;font-weight:900;display:flex}.coach-hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#c9a84c;margin-bottom:10px;font-size:13px;font-weight:700}.coach-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px;font-size:52px;font-weight:900;line-height:1}.coach-hero-meta{color:#fffc;font-size:16px}.coach-container{max-width:1100px;margin:0 auto;padding:48px 40px}.coach-detail-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;display:grid}.full-width-card{grid-column:1/-1}.coach-bio-full{color:#374151;font-size:15px;line-height:1.8}.coach-contact-links{flex-direction:column;gap:10px;display:flex}.coach-contact-btn{color:#1a6b3a;background:#e8f0eb;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;display:block}.coach-contact-btn:hover{color:#fff;background:#1a6b3a}.about-hero{text-align:center;background:#1a6b3a;padding:60px}.about-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;margin-bottom:16px;font-size:60px;font-weight:900}.about-hero p{color:#ffffffbf;margin-top:8px;font-size:18px}.about-container{max-width:900px;margin:20px auto 0;padding:48px 40px}.about-section{margin-bottom:48px}.about-section h2{text-transform:uppercase;letter-spacing:.03em;color:#111827;margin-bottom:16px;font-size:28px;font-weight:900}.about-section p{color:#374151;margin-bottom:16px;font-size:16px;line-height:1.8}.about-section p a{color:#1a6b3a;font-weight:600}.about-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:24px;display:grid}.about-step{text-align:center}.step-icon{margin-bottom:12px;font-size:40px}.about-step h3{color:#1a6b3a;margin-bottom:8px;font-size:18px;font-weight:800}.about-step p{color:#6b7280;font-size:14px}.about-ctas{flex-wrap:wrap;gap:14px;display:flex}.btn-gold:hover,.btn-green:hover{opacity:.9}.btn-outline:hover{color:#fff;background:#1a6b3a}.contact-details{flex-direction:column;gap:12px;margin-top:16px;display:flex}.contact-item{color:#1a6b3a;background:#f8f8f6;border:1px solid #e5e7eb;border-radius:8px;width:fit-content;padding:14px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.contact-item:hover{color:#fff;background:#1a6b3a}@media (width<=768px){.about-hero{padding:32px 20px}.about-hero h1{font-size:32px}.about-hero p{font-size:14px}.about-container{padding:24px 16px}.about-section h2{font-size:22px}.about-section p{font-size:15px}.about-steps{gap:28px}.about-ctas{flex-direction:column;align-items:stretch}.about-ctas a{text-align:center}}.terms-hero{text-align:center;background:#1a6b3a;padding:50px 60px}.terms-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.03em;font-size:44px;font-weight:900}.terms-container{max-width:800px;margin:0 auto;padding:48px 40px}.terms-section{margin-bottom:32px}.terms-section h2{color:#1a6b3a;margin-bottom:10px;font-size:18px;font-weight:800}.terms-section p{color:#374151;margin-bottom:10px;font-size:15px;line-height:1.7}.terms-updated{color:#9ca3af;margin-top:40px;font-size:13px;font-style:italic}
