@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#1b2a23;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:248px;background:#10251d;color:#eaf3ec;position:fixed;inset:0 auto 0 0;padding:28px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 30px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#b6e66b;color:#10251d;border-radius:13px}.brand strong,.brand small{display:block;letter-spacing:.08em}.brand strong{font-family:Manrope,sans-serif;font-size:13px}.brand small{font-size:10px;color:#a6b8ad;margin-top:4px}.season-switch{padding:15px 14px;background:#1b372b;border:1px solid #294b3a;border-radius:12px;margin-bottom:24px}.season-switch span,.season-switch strong{display:block}.season-switch span{font-size:10px;letter-spacing:.12em;color:#9db5a4;margin-bottom:7px}.season-switch strong{font-size:14px}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;color:#b7c9bd;background:transparent;border:0;border-radius:10px;padding:12px 13px;font-size:14px}.nav-item.active,.nav-item:hover{background:#294b38;color:#d7f5a7}.sidebar-footer{margin-top:auto;border-top:1px solid #2a4537;padding:18px 8px 0;display:flex;align-items:center;gap:9px;color:#a6b8ad;font-size:11px}.main-content{margin-left:248px;padding:32px clamp(20px,4vw,58px) 20px;max-width:1600px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#6c806f;font-weight:700}.topbar h1{font:800 28px Manrope,sans-serif;margin:6px 0 0;letter-spacing:-.04em}.user-area{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dcebcf;color:#25452e;font-weight:700}.user-name{font-size:13px}.icon-button{border:1px solid #dce4dc;background:#fff;border-radius:9px;padding:8px;display:flex}.demo-chip{font-size:12px;padding:8px 11px;border-radius:99px;background:#e8eee4;color:#48654e}.setup-banner,.notice{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:12px;background:#fff5dc;border:1px solid #f0dfaa;color:#745b1d;margin-bottom:18px;font-size:13px}.setup-banner strong,.setup-banner span{display:block}.setup-banner span{margin-top:4px;line-height:1.5}.notice{background:#e9f5e6;border-color:#cfe6c8;color:#2f6339;justify-content:space-between}.notice button{border:0;background:transparent;color:inherit;text-decoration:underline}.welcome{position:relative;overflow:hidden;background:#173a2b;color:#fff;border-radius:20px;padding:28px 32px;min-height:190px;display:flex;justify-content:space-between;align-items:center}.pill{display:inline-flex;align-items:center;gap:5px;background:#31553e;color:#d9f7b0;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:700;letter-spacing:.08em}.welcome h2{font:800 clamp(22px,2.4vw,31px) Manrope,sans-serif;letter-spacing:-.04em;margin:15px 0 8px;max-width:540px}.welcome p{color:#c0d2c4;font-size:13px;max-width:460px;line-height:1.6;margin:0}.welcome-art{color:#9dcc75;opacity:.65;transform:rotate(-10deg);margin-right:5%}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 30px}.stat-card{background:#fff;border:1px solid #e7ece6;border-radius:15px;padding:17px 18px;min-width:0}.stat-top{display:flex;align-items:center;gap:8px}.stat-icon{display:grid;place-items:center;color:#5e7d56}.stat-icon svg{width:17px;height:17px}.stat-label{font-size:11px;color:#718074}.stat-value{display:block;font:800 29px Manrope,sans-serif;letter-spacing:-.04em;margin:14px 0 5px}.stat-detail{font-size:10px;color:#829085}.section-heading,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 13px}.section-heading h2,.panel h2,.panel-heading h2{font:800 18px Manrope,sans-serif;letter-spacing:-.03em;margin:0}.section-heading p,.panel-heading p,.panel-subtitle{font-size:12px;color:#78867b;margin:5px 0 0}.secondary-button,.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #d9e1d8;border-radius:9px;padding:10px 13px;background:#fff;color:#314a37;font-size:12px;font-weight:700;white-space:nowrap}.primary-button{background:#b8e875;border-color:#b8e875;color:#1b3522}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait}.race-list{background:#fff;border:1px solid #e6ebe5;border-radius:14px;overflow:hidden}.race-row{display:flex;align-items:center;gap:14px;padding:15px 17px;border-bottom:1px solid #edf0ec}.race-row:last-child{border-bottom:0}.date-tile{width:47px;min-width:47px;height:52px;background:#f0f5eb;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#31563a}.date-tile strong{font:800 20px Manrope,sans-serif;line-height:1.05}.date-tile span{font-size:10px;text-transform:uppercase;margin-top:4px}.race-info{min-width:0;flex:1}.race-info>strong{font-size:13px;display:block}.race-info>span{font-size:11px;color:#829085;display:block;margin-top:5px}.tag-row{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.tag{font-size:10px;padding:4px 7px;border-radius:5px;background:#edf3e9;color:#55704f}.race-actions{display:flex;align-items:center;gap:8px}.race-actions select,.race-form select{border:1px solid #dce4db;background:#fff;border-radius:8px;padding:8px;font-size:11px;color:#435447;max-width:130px}.points{font-size:11px;font-weight:700;color:#3d7544;white-space:nowrap}.circuit-heading{margin-top:28px}.circuit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.circuit-card{padding:15px;background:#fff;border:1px solid #e6ebe5;border-radius:13px;display:flex;flex-direction:column;gap:8px}.circuit-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#eef4e9;color:#53784d}.circuit-card>strong{font:700 14px Manrope,sans-serif}.circuit-card>span,.circuit-card>small{font-size:10px;color:#78867b}.mini-progress{height:5px;background:#edf1eb;border-radius:99px;overflow:hidden;margin-top:4px}.mini-progress i{height:100%;display:block;background:#a6d66a;border-radius:99px}.panel{background:#fff;border:1px solid #e6ebe5;border-radius:15px;padding:22px}.panel-heading{margin:0 0 20px}.circuit-list{margin-top:20px}.circuit-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf0ec}.circuit-row:last-child{border-bottom:0}.circuit-row-main{flex:1;display:grid;gap:4px}.circuit-row-main strong{font-size:13px}.circuit-row-main span{font-size:11px;color:#78867b}.race-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;padding:14px;background:#f6f8f4;border-radius:12px;margin-bottom:16px}.race-form input,.race-form select,.auth-form input{min-width:0;padding:10px;border:1px solid #dce4db;border-radius:8px;background:#fff;font-size:12px;color:#34493a}.empty-state{padding:40px 15px;text-align:center;color:#758476;display:grid;justify-items:center;gap:9px}.empty-state strong{font-size:14px;color:#354b3a}.empty-state p{font-size:12px;margin:0}.auth-card{background:#fff;border:1px solid #e6ebe5;border-radius:15px;padding:20px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:25px}.auth-card h2{font:800 18px Manrope,sans-serif;margin:0}.auth-card p{font-size:12px;color:#78867b}.auth-form{display:grid;gap:8px;max-width:420px;width:100%}.auth-actions{display:flex;gap:8px}.footer{display:flex;justify-content:space-between;gap:15px;color:#89958a;font-size:10px;padding:25px 2px 5px}.circuit-list .tag{white-space:nowrap}@media(max-width:1100px){.sidebar{width:210px}.main-content{margin-left:210px;padding:25px}.stats-grid,.circuit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-form{grid-template-columns:1fr 1fr}.race-form button{grid-column:span 2}}@media(max-width:700px){.sidebar{position:static;width:auto;inset:auto;padding:14px 16px;display:block}.brand{padding:0 0 12px}.season-switch{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.nav-item{flex:0 0 auto;padding:9px 10px;font-size:12px}.sidebar-footer{display:none}.main-content{margin:0;padding:22px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.user-name{display:none}.welcome{padding:23px 20px;min-height:170px}.welcome-art{position:absolute;right:-20px;bottom:-22px;opacity:.25}.welcome>div:first-child{position:relative;z-index:1}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-value{font-size:25px}.stat-label{font-size:10px}.stat-detail{line-height:1.4}.section-heading,.panel-heading{align-items:flex-start}.race-row{gap:10px;padding:12px}.race-actions{flex-direction:column;align-items:flex-end}.race-actions select{max-width:112px}.race-info>strong{font-size:12px;line-height:1.4}.race-info>span{line-height:1.4}.circuit-grid{gap:9px}.circuit-card{padding:12px}.race-form{grid-template-columns:1fr}.race-form button{grid-column:auto}.panel{padding:15px}.auth-card{display:block}.auth-form{max-width:none}.footer{flex-direction:column}.circuit-row{flex-wrap:wrap}.circuit-row .tag{margin-left:46px}}.role-chip{font-size:10px;font-weight:700;padding:6px 9px;border-radius:99px;background:#edf3e9;color:#456346;white-space:nowrap}.brand-name{min-width:0}.brand-name strong{font-size:9px;letter-spacing:-.045em;white-space:normal;line-height:1.2}.brand-name small{font-size:10px;letter-spacing:.12em}@media(max-width:1100px){.brand-name strong{font-size:7px}}@media(max-width:700px){.brand-name strong{font-size:14px;letter-spacing:-.035em}.brand-name small{font-size:11px}}:root{color:#172342;background:#f3f7ff}.sidebar{background:#102350;color:#edf4ff}.brand-mark{width:54px;height:54px;display:block;object-fit:cover;background:#2456a4;border-radius:12px}.brand small,.sidebar-footer{color:#b8c9ec}.season-switch{background:#1a3974;border-color:#315ca5}.season-switch span{color:#bfd6ff}.nav-item{color:#c3d3f2}.nav-item.active,.nav-item:hover{background:#244b8e;color:#d5f2ff}.sidebar-footer{border-color:#34518a}.eyebrow{color:#5575b7}.avatar{background:#dceaff;color:#20498b}.session-chip{font-size:12px;padding:8px 11px;border-radius:99px;background:#e4edff;color:#355eaa}.welcome{background:#123e84}.welcome-art{color:#8bd6ff}.pill{background:#22539a;color:#d9f3ff}.stat-icon{color:#3f6db5}.stat-label,.race-info>span,.stat-detail,.section-heading p,.panel-heading p,.panel-subtitle,.circuit-card>span,.circuit-card>small,.circuit-row-main span,.auth-card p{color:#7382a0}.primary-button{background:#77c8f2;border-color:#77c8f2;color:#12376e}.auth-link{justify-self:start;border:0;padding:2px 0;background:transparent;color:#315fa6;font-size:12px;text-decoration:underline}.auth-link:disabled{opacity:.6;cursor:wait}.secondary-button{border-color:#d5def0;color:#294b88}.date-tile{background:#e8f1ff;color:#244c8c}.tag,.role-chip{background:#e8f2ff;color:#315b9e}.circuit-icon{background:#e8f1ff;color:#3d68aa}.mini-progress{background:#e5ebf6}.mini-progress i{background:#53b9eb}.icon-button{border-color:#d5def0}.race-actions select,.race-form select,.race-form input,.auth-form input{border-color:#d3deef;color:#30466e}.stat-card,.race-list,.panel,.circuit-card,.auth-card{border-color:#e1e8f5}.race-row,.circuit-row{border-color:#e9eef7}.race-form{background:#f2f6fd}.team-panel{display:grid;gap:24px}.team-summary{display:flex;align-items:center;gap:9px;width:max-content;padding:10px 13px;border:1px solid #dce8f9;border-radius:10px;background:#f3f7ff;color:#315b9e}.team-summary strong{font:800 17px Manrope,sans-serif}.team-summary span{font-size:12px}.team-invite-section,.team-roster-section{border-top:1px solid #e9eef7;padding-top:20px}.subsection-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;color:#3b6eaa}.subsection-heading h3{margin:0;color:#223a63;font:800 15px Manrope,sans-serif}.subsection-heading p{margin:5px 0 0;color:#7887a3;font-size:11px;line-height:1.5}.invite-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) auto;gap:9px;padding:14px;background:#f4f7fd;border:1px solid #e5ebf7;border-radius:12px}.invite-form input{min-width:0;padding:10px;border:1px solid #d3deef;border-radius:8px;background:#fff;color:#30466e;font-size:12px}.invite-form .primary-button{font-size:12px}.team-list{display:grid;gap:8px}.team-person{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e8edf6;border-radius:10px;background:#fff}.team-person>div{display:grid;gap:4px;flex:1;min-width:0}.team-person>div strong{color:#30466e;font-size:12px;overflow-wrap:anywhere}.team-person>div span{color:#7887a3;font-size:11px;overflow-wrap:anywhere}.team-person .avatar{flex:0 0 34px}.team-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;color:#7887a3;font-size:12px}.invite-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;background:#fff4df;color:#a27722}.invitation-row .tag{white-space:nowrap}@media(max-width:700px){.brand-mark{width:58px;height:58px}}@media(max-width:700px){.sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));overflow:visible;gap:6px}.nav-item{min-width:0;justify-content:flex-start;padding:10px 11px}.topbar{flex-direction:column;gap:12px}.user-area{width:100%;flex-wrap:wrap}.role-chip{white-space:normal;line-height:1.35}}@media(max-width:700px){.team-panel{gap:18px}.invite-form{grid-template-columns:1fr}.invite-form .primary-button{width:100%}.team-person{gap:8px;padding:10px}.team-person .role-chip,.invitation-row .tag{font-size:9px;padding:5px 6px}.subsection-heading{align-items:flex-start}}.circuit-mini{--circuit:#2d6eae;--circuit-tint:#eaf5ff;--circuit-border:#b7ddfb}.circuit-short{--circuit:#c83232;--circuit-tint:#fff2f2;--circuit-border:#f1c5c5}.circuit-long{--circuit:#e36d17;--circuit-tint:#fff6eb;--circuit-border:#f2d2ad}.circuit-ultra{--circuit:#2e895b;--circuit-tint:#effaf3;--circuit-border:#bde8cc}.tag.circuit-tag{background:var(--circuit-tint);border:1px solid var(--circuit-border);color:var(--circuit);font-weight:700}.circuit-tag-button{font:inherit;cursor:pointer;transition:background .15s ease,transform .15s ease}.circuit-tag-button:hover,.circuit-tag-button:focus-visible{background:var(--circuit-border);transform:translateY(-1px);outline:2px solid var(--circuit);outline-offset:2px}.circuit-card{width:100%;text-align:left;color:#233b62;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.circuit-card:hover,.circuit-card:focus-visible{transform:translateY(-2px);border-color:var(--circuit);box-shadow:0 8px 20px color-mix(in srgb,var(--circuit) 14%,transparent);outline:none}.circuit-card .circuit-icon,.circuit-row-button .circuit-icon{background:var(--circuit-tint);color:var(--circuit)}.circuit-card>strong{color:var(--circuit)}.circuit-card>span{display:flex;justify-content:space-between;align-items:center;color:var(--circuit);font-weight:700}.circuit-card>span span{font-size:14px}.circuit-row-button{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:transparent;border-top:0;border-right:0;border-left:0;transition:background .16s ease}.circuit-row-button:hover,.circuit-row-button:focus-visible{background:var(--circuit-tint);outline:none}.circuit-row-button .tag{background:var(--circuit-tint);border:1px solid var(--circuit-border);color:var(--circuit);font-weight:700}.circuit-row-button .circuit-row-main strong{color:var(--circuit)}.calendar-heading{align-items:flex-end;gap:20px}.circuit-filter{display:grid;gap:5px;min-width:min(280px,100%);color:#64758f;font-size:11px;font-weight:700}.circuit-filter select{width:100%;padding:10px 12px;border:1px solid #d3deef;border-radius:9px;background:#fff;color:#30466e;font-size:12px}.athlete-circuit-list{display:grid;gap:14px;margin-top:20px}.athlete-circuit-card{padding:17px;border:1px solid var(--circuit-border);border-radius:13px;background:linear-gradient(120deg,var(--circuit-tint),#fff 65%)}.athlete-circuit-title{display:flex;align-items:center;gap:10px}.athlete-circuit-title>div:last-child{display:grid;gap:4px}.athlete-circuit-title strong{font:700 14px Manrope,sans-serif;color:var(--circuit)}.athlete-circuit-title span{font-size:11px;color:#7382a0}.circuit-plan-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 0;padding:0;border:0}.circuit-plan-options legend{width:100%;margin-bottom:8px;color:#53637e;font-size:11px;font-weight:700}.circuit-plan-option{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #d8e2f0;border-radius:8px;background:#fff;color:#4a5d7b;font-size:11px;cursor:pointer}.circuit-plan-option.selected{border-color:var(--circuit);background:var(--circuit-tint);color:var(--circuit);font-weight:700}.circuit-plan-option input,.partial-race-option input{accent-color:var(--circuit)}.saving-choice{font-size:10px;color:#7887a3}.circuit-plan-unset{display:block;margin-top:10px;color:#7887a3;font-size:11px}.partial-race-picker{margin-top:14px;padding:13px;border:1px solid #e5ebf5;border-radius:10px;background:#fffc}.partial-race-picker>p{margin:0 0 9px;color:#657590;font-size:11px}.partial-race-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.partial-race-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #e6ebf4;border-radius:8px;background:#fff;cursor:pointer}.partial-race-option input{margin:2px 0 0}.partial-race-option span{display:grid;gap:4px;min-width:0}.partial-race-option strong{color:#30466e;font-size:11px}.partial-race-option small{color:#7887a3;font-size:10px}.circuit-completion-warning{display:flex;align-items:flex-start;gap:8px;margin:0 0 11px;padding:10px 11px;border:1px solid #f0d38a;border-radius:8px;background:#fff8e7;color:#795a17;font-size:11px;line-height:1.5}.circuit-completion-warning svg{flex:0 0 16px;margin-top:1px}.planned-circuit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planned-circuit-card{min-width:0;padding:15px;border:1px solid var(--circuit-border);border-radius:13px;background:linear-gradient(125deg,var(--circuit-tint),#fff 68%)}.planned-circuit-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.planned-circuit-heading>div{display:grid;gap:5px;min-width:0}.planned-circuit-heading strong{font:700 13px Manrope,sans-serif;color:var(--circuit)}.planned-circuit-heading>div>span{font-size:10px;color:#7382a0}.planned-circuit-plan{padding:5px 8px;border:1px solid var(--circuit-border);border-radius:99px;background:#fff;color:var(--circuit);font-size:9px;font-weight:700;white-space:nowrap}.planned-race-list{display:grid;gap:0;margin:12px 0;padding:0;list-style:none}.planned-race-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--circuit) 13%,transparent);color:#30466e;font-size:10px}.planned-race-list li span{font-weight:600}.planned-race-list li small{color:#7887a3;font-size:9px;white-space:nowrap}.planned-circuit-empty{min-height:35px;margin:12px 0;color:#7887a3;font-size:10px;line-height:1.5}.planned-circuit-link{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--circuit);font-size:10px;font-weight:700}.planned-circuit-link:hover{text-decoration:underline}@media(max-width:700px){.partial-race-list{grid-template-columns:1fr}.athlete-circuit-card{padding:13px}.circuit-plan-option{padding:8px 9px}}@media(max-width:700px){.planned-circuit-grid{grid-template-columns:1fr}.planned-circuit-card{padding:13px}}@media(max-width:700px){.calendar-heading{align-items:stretch;flex-direction:column}.circuit-filter{min-width:100%}.circuit-card>strong{font-size:12px;line-height:1.35}}.admin-role-section{margin-top:24px}.admin-role-list{display:grid;gap:12px}.admin-role-person{display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,1.4fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid #e5ebf4;border-radius:12px;background:#fff}.admin-role-person-header{display:grid;gap:4px;min-width:0}.admin-role-person-header strong{overflow:hidden;color:#263b60;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-role-person-header span{overflow:hidden;color:#7b88a0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-role-options{display:flex;gap:8px;flex-wrap:wrap}.admin-role-option{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e2e8f1;border-radius:8px;background:#f9fbfd;color:#51627d;font-size:10px;cursor:pointer}.admin-role-option input{accent-color:#24395d}.admin-role-option:has(input:checked){border-color:#aab9cf;background:#f0f4f9;color:#263b60;font-weight:700}.admin-role-option:has(input:disabled){cursor:default;opacity:.75}.admin-role-save{white-space:nowrap}.admin-role-team-select{display:grid;gap:6px;min-width:190px;padding:0;border:0;color:#51627d;font-size:10px;font-weight:700}.admin-role-team-select legend{padding:0}.admin-role-team-list{display:grid;gap:6px}.admin-role-team-option{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border:1px solid #e2e8f1;border-radius:8px;background:#f9fbfd;color:#51627d;font-size:10px;cursor:pointer}.admin-role-team-option input{margin-top:2px;accent-color:#24395d}.admin-role-team-option>span{display:grid;gap:3px}.admin-role-team-option strong{color:#263b60;font-size:10px}.admin-role-team-option small{color:#7b88a0;font-size:9px;font-weight:500}.admin-role-team-list>small{color:#a14a31;font-weight:500}@media(max-width:850px){.admin-role-person{grid-template-columns:minmax(0,1fr) auto}.admin-role-options{grid-column:1/-1;grid-row:2}.admin-role-team-select{grid-column:1/-1;grid-row:3}.admin-role-save{grid-column:2;grid-row:1}}@media(max-width:500px){.admin-role-person{grid-template-columns:minmax(0,1fr);gap:12px}.admin-role-options,.admin-role-team-select{grid-column:1;grid-row:auto}.admin-role-save{grid-column:1;grid-row:auto;justify-self:start}}.athlete-profile-card{margin:20px 0 28px;padding:22px;background:#fff;border:1px solid #e6ebe5;border-radius:15px}.athlete-profile-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.athlete-profile-heading h2{margin:6px 0 4px;font:800 19px Manrope,sans-serif;color:#1b3522}.athlete-profile-heading p{margin:0;color:#78867b;font-size:11px}.athlete-category-badge{padding:8px 12px;border-radius:99px;background:#edf3e9;color:#456346;font-size:11px;font-weight:700;white-space:nowrap}.athlete-profile-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px}.athlete-profile-form label{display:grid;gap:6px;color:#657468;font-size:10px;font-weight:700}.athlete-profile-form input,.athlete-profile-form select{width:100%;min-width:0;padding:10px;border:1px solid #dce4db;border-radius:8px;background:#fff;color:#34493a;font-size:12px}.athlete-profile-form .primary-button{min-height:38px}@media(max-width:900px){.athlete-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-profile-form .primary-button{justify-self:start}}@media(max-width:500px){.athlete-profile-card{padding:16px}.athlete-profile-heading{align-items:flex-start;flex-direction:column}.athlete-profile-form{grid-template-columns:1fr}}@media(max-width:900px)and (max-height:500px){.sidebar{position:relative;inset:auto;width:auto;min-height:0;padding:10px 16px;display:block}.brand{padding:0 0 9px}.season-switch,.sidebar-footer{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible}.nav-item{min-width:0;justify-content:center;padding:8px 6px;font-size:11px}.main-content{margin-left:0;padding:16px 20px}}.athlete-profile-form input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:38px;padding:9px 10px;line-height:18px;font:inherit;font-size:12px;text-align:left;text-align-last:left;color:#30466e;color-scheme:light}.athlete-profile-form input[type=date]::-webkit-date-and-time-value{text-align:left}.tag.circuit-tag{font-size:10px;line-height:1.2;letter-spacing:normal;padding:4px 7px}.athlete-profile-form{grid-template-columns:2fr 1fr 1fr 1fr auto}.race-athlete-details,.race-team-results,.race-team-code{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #e5ebf5;border-radius:10px;background:#f8faff}.race-athlete-details>summary,.race-team-results>summary,.race-team-code>summary,.race-team-gpx>summary{color:#314d79;font-size:11px;font-weight:700;cursor:pointer;list-style-position:inside}.race-athlete-details-fields{display:grid;gap:10px}.race-athlete-details-fields>label,.race-rank-fields label{display:grid;gap:5px;color:#64758f;font-size:10px;font-weight:700}.race-athlete-details select,.race-rank-fields input,.race-team-code input{min-width:0;width:100%;padding:9px 10px;border:1px solid #d3deef;border-radius:8px;background:#fff;color:#30466e;font-size:12px}.race-dnf-option{display:flex!important;align-items:center;gap:8px!important;cursor:pointer}.race-dnf-option input{accent-color:#315fa6}.race-rank-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-rank-fields input:disabled{background:#eef1f6;color:#9ba6b7}.race-athlete-details .secondary-button,.race-team-code .secondary-button{justify-self:start}.race-team-results>strong,.race-team-code>strong{color:#314d79;font-size:11px}.race-team-results>div{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #e4eaf4;font-size:10px}.race-team-results>div span:first-child{font-weight:700;color:#30466e}.race-team-results>div span:last-child{color:#7382a0;text-align:right}.race-team-code>div{display:flex;gap:8px;align-items:center}.race-team-code>span{color:#2f5d9f;font-weight:700;font-size:13px}.race-team-code>small{color:#7887a3;font-size:10px;line-height:1.4}.race-team-gpx{display:grid;justify-items:start;gap:9px;margin-top:14px;padding:12px;border:1px solid #dce8f9;border-radius:10px;background:#f4f8ff}.race-team-gpx>strong{color:#314d79;font-size:11px}.race-team-gpx>a{color:#315fa6;font-size:12px;font-weight:700;overflow-wrap:anywhere}.race-team-gpx>small{color:#7887a3;font-size:10px;line-height:1.4}.gpx-upload-control{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border:1px solid #d5def0;border-radius:8px;background:#fff;color:#294b88;font-size:11px;font-weight:700;cursor:pointer}.gpx-upload-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.gpx-upload-control:has(input:disabled){opacity:.65;cursor:wait}@media(max-width:900px){.athlete-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.race-rank-fields{grid-template-columns:1fr}.race-team-code>div{align-items:stretch;flex-direction:column}.race-team-code .secondary-button{width:100%}.race-team-results>div{align-items:flex-start;flex-direction:column;gap:4px}.race-team-results>div span:last-child{text-align:left}.athlete-profile-form{grid-template-columns:1fr}}.team-settings-section{margin-top:0}.team-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e5ebf7;border-radius:12px;background:#f4f7fd}.team-settings-form>label,.team-logo-setting>label{display:grid;gap:6px;min-width:0;color:#506382;font-size:11px;font-weight:700}.team-settings-form input:not([type=file]){width:100%;min-width:0;padding:10px;border:1px solid #d3deef;border-radius:8px;background:#fff;color:#30466e;font-size:12px}.team-logo-setting{display:flex;align-items:center;gap:12px;grid-column:1/-1;padding:10px;border:1px solid #e2e9f5;border-radius:10px;background:#fff}.team-logo-setting img{width:66px;height:66px;flex:0 0 66px;object-fit:cover;border-radius:11px}.team-logo-setting>label{flex:1}.team-logo-setting input[type=file]{max-width:100%;font-size:11px;font-weight:500}.team-logo-setting small{color:#7887a3;font-size:10px;font-weight:400;line-height:1.45}.team-settings-form>.primary-button{justify-self:start;grid-column:1/-1}@media(max-width:700px){.team-settings-form{grid-template-columns:1fr}.team-logo-setting{grid-column:1;align-items:flex-start}.team-logo-setting img{width:58px;height:58px;flex-basis:58px}.team-settings-form>.primary-button{grid-column:1;width:100%}}.athlete-results-section{margin-top:26px}.athlete-results-section>.section-heading{margin-top:0}.adac-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adac-category-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #dce8f9;border-radius:10px;background:#f3f7ff}.adac-category-summary span{font-size:11px;color:#64758f}.adac-category-summary strong{font-size:12px;color:#30466e}.adac-result-card{min-width:0;padding:14px;border:1px solid var(--circuit-border);border-radius:11px;background:linear-gradient(125deg,var(--circuit-tint),#fff 68%)}.adac-result-card>strong{display:block;color:var(--circuit);font:700 12px Manrope,sans-serif;line-height:1.4}.adac-result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:12px 0}.adac-result-metrics>span{display:grid;gap:3px;padding:9px 6px;border-radius:8px;background:#ffffffd9;text-align:center}.adac-result-metrics b{color:#243a62;font:800 17px Manrope,sans-serif}.adac-result-metrics small{color:#71809b;font-size:9px}.adac-result-card .circuit-completion-warning{margin:0}.adac-result-footnote{display:block;margin-top:9px;color:#7887a3;font-size:9px;line-height:1.4}.team-person-results{display:block}.team-person-heading{display:flex;align-items:center;gap:11px}.team-person-heading>div{display:grid;gap:4px;flex:1;min-width:0}.team-person-heading>div strong{color:#30466e;font-size:12px;overflow-wrap:anywhere}.team-person-heading>div span{color:#7887a3;font-size:11px;overflow-wrap:anywhere}.team-athlete-results{margin-top:10px;padding:10px;border-top:1px solid #e8edf6}.team-athlete-results>summary{color:#315fa6;font-size:10px;font-weight:700;cursor:pointer}.team-athlete-results .adac-results-grid{margin-top:10px}.team-athlete-results .adac-result-card{padding:10px}.team-athlete-results .adac-result-metrics{margin:8px 0}.team-athlete-results .adac-result-metrics b{font-size:15px}.calendar-filters{display:flex;gap:9px;min-width:min(560px,60%)}.calendar-filters .circuit-filter{flex:1;min-width:0}.planned-calendar-section{margin-top:22px}@media(max-width:700px){.adac-results-grid{grid-template-columns:1fr}.adac-category-summary{grid-column:1}.team-person-heading{flex-wrap:wrap}.team-person-heading .role-chip{margin-left:auto}.team-athlete-results{padding-inline:0}}@media(max-width:700px){.calendar-filters{display:grid;grid-template-columns:1fr;min-width:100%;width:100%}}.circuit-planned-race-details{display:grid;gap:11px;margin-top:13px;padding:11px;border:1px solid var(--circuit-border);border-radius:10px;background:#ffffffb8}.circuit-planned-race-details>summary{color:var(--circuit);font-size:11px;font-weight:700;cursor:pointer}.circuit-planned-race-details .race-list{border-radius:9px}.circuit-team-tools{margin-top:26px;padding-top:20px;border-top:1px solid #e5ebf5}.circuit-team-tool-list{display:grid;gap:9px}.circuit-team-tool{padding:11px;border:1px solid var(--circuit-border);border-radius:11px;background:linear-gradient(125deg,var(--circuit-tint),#fff 68%)}.circuit-team-tool>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--circuit);cursor:pointer;list-style-position:inside}.circuit-team-tool>summary strong{font:700 12px Manrope,sans-serif}.circuit-team-tool>summary span{font-size:10px;color:#7382a0}.circuit-team-tool>.race-list{margin-top:12px;border-radius:9px}@media(max-width:700px){.circuit-planned-race-details,.circuit-team-tool{padding:9px}.circuit-team-tools{margin-top:20px}}.athlete-circuit-card[id^=circuit-plan-]{scroll-margin-top:20px}.partial-race-choice-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0}.partial-race-choice-row:has(.race-list-compact){gap:7px}.race-list-compact>.race-row{padding:0;border:0;background:transparent}.race-list-compact .date-tile,.race-list-compact .race-info>strong,.race-list-compact .race-info>span,.race-list-compact .tag-row{display:none}.race-list-compact .race-row{display:block}.race-list-compact .race-info{width:100%}.race-list-compact .race-athlete-details,.race-list-compact .race-team-results,.race-list-compact .race-team-code,.race-list-compact .race-team-gpx{margin-top:0;padding:9px;background:#fff}.race-list-compact .race-athlete-details>summary,.race-list-compact .race-team-results>summary,.race-list-compact .race-team-code>summary,.race-list-compact .race-team-gpx>summary{font-size:10px}@media(max-width:700px){.partial-race-choice-row{grid-column:1/-1}.race-list-compact .race-rank-fields{grid-template-columns:1fr}}.circuit-manager-list{display:grid;gap:10px}.circuit-manager-card{overflow:hidden;border:1px solid var(--circuit-border);border-radius:12px;background:linear-gradient(120deg,var(--circuit-tint),#fff 65%)}.circuit-manager-card .circuit-row-button{border:0}.circuit-inline-tools{margin:0 12px 12px;padding:10px 11px;border:1px solid var(--circuit-border);border-radius:9px;background:#ffffffc7}.circuit-inline-tools>summary{color:var(--circuit);font-size:11px;font-weight:700;cursor:pointer}.circuit-inline-tools>summary span{color:#7382a0;font-weight:500}.circuit-inline-tools>.race-list{margin-top:10px;border-radius:8px}.athlete-circuit-card>.circuit-inline-tools{margin:16px 0 0;background:#fff}
