:root{--violet:#b284be;--violet-dark:#4f176f;--violet-pale:#f5edf7;--pink:#c50073;--pink-dark:#970056;--pink-pale:#fff0f7;--ink:#241728;--muted:#746777;--line:#eadce8;--surface:#fff;--background:#fffafd;--success:#19734a;--danger:#a52a35;--warning:#8a5a00;--shadow:0 14px 35px #4d2d551a}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--ink);background:radial-gradient(circle at top right, #b284be2e, transparent 28rem), radial-gradient(circle at bottom left, #c5007314, transparent 26rem), var(--background);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #70427e1f;position:sticky;top:0}.header-inner{align-items:center;gap:24px;max-width:1180px;min-height:72px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--violet-dark);white-space:nowrap;align-items:center;gap:11px;font-size:1.18rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-logo{object-fit:cover;border-radius:12px;width:48px;height:48px;box-shadow:0 6px 16px #4f176f33}.main-nav{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.main-nav a{color:#493f4c;border-radius:9px;padding:9px 12px;font-weight:650;text-decoration:none}.main-nav a:hover{background:linear-gradient(135deg, var(--violet-pale), var(--pink-pale));color:var(--violet-dark)}.page-shell{max-width:1180px;min-height:calc(100vh - 150px);margin:0 auto;padding:44px 24px 70px}.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:center;gap:18px;padding:28px 24px;display:flex}.site-footer p{margin:0}h1,h2,h3{line-height:1.18}h1{letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(2rem,5vw,3.6rem)}h2{margin-top:0;font-size:clamp(1.45rem,3vw,2.05rem)}h3{margin:10px 0;font-size:1.25rem}p{margin-top:0}.hero{background:linear-gradient(135deg, var(--violet), var(--violet-dark) 58%, var(--pink));color:#fff;min-height:300px;box-shadow:var(--shadow);border:1px solid #70427e24;border-radius:30px;align-items:center;margin-bottom:34px;padding:clamp(28px,6vw,64px);display:grid}.hero p{opacity:.93;max-width:700px;font-size:1.09rem}.hero-actions,.actions-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.next-banner{box-shadow:var(--shadow);background:#fff;border:1px solid #d9c3df;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-bottom:38px;padding:24px;display:grid}.next-banner .eyebrow{color:var(--violet-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:850}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin:42px 0 18px;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px;box-shadow:0 8px 22px #412a460e}.competition-card{flex-direction:column;min-height:330px;display:flex}.competition-card .button{margin-top:auto}.card-topline{justify-content:space-between;gap:10px;display:flex}.muted,.field-help{color:var(--muted)}.field-help{margin:3px 0 7px;font-size:.88rem;font-weight:450;display:block}.compact-details{gap:12px;margin:16px 0 22px;display:grid}.compact-details div{gap:2px;display:grid}.compact-details dt{color:var(--muted);text-transform:uppercase;font-size:.79rem;font-weight:750}.compact-details dd{margin:0}.button{border:1px solid var(--violet-dark);color:#fff;background:linear-gradient(135deg, var(--violet-dark), var(--pink));cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;font-weight:750;text-decoration:none;display:inline-flex}.button:hover{filter:brightness(1.06)}.button-secondary{border-color:var(--pink);color:var(--pink-dark);background:#fff}.button-danger{border-color:var(--danger);background:var(--danger)}.button-ghost{min-height:38px;color:var(--violet-dark);background:0 0;border-color:#0000;padding:7px 10px}.hero .button-secondary{color:var(--violet-dark);border-color:#fff}.badge{border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.badge-league{color:#5c2f68;background:#eee0f1}.badge-speed{color:var(--pink-dark);background:var(--pink-pale)}.badge-open,.status-selected,.status-paid{color:#12623e;background:#dcf4e8}.badge-closed,.status-not_selected{color:#8c2631;background:#f8dfe2}.status-reserve,.status-unpaid{color:#795000;background:#fff0c7}.status-signed_up,.status-not_required{color:#53435a;background:#eee9f0}.form-card{border:1px solid var(--line);max-width:900px;box-shadow:var(--shadow);background:#fff;border-radius:20px;gap:24px;padding:28px;display:grid}.form-grid{gap:18px;display:grid}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1/-1}label{gap:7px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfc3d2;border-radius:10px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--pink);outline:3px solid #c5007324}input[readonly]{color:#665d69;background:#f4f1f5}fieldset{border:1px solid var(--line);border-radius:14px;padding:18px}legend{color:var(--violet-dark);padding:0 8px;font-weight:850}.checkbox-grid,.choice-list{gap:10px;display:grid}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-check,.choice-row{align-items:center;gap:9px;font-weight:600;display:flex}.inline-check input,.choice-row input{width:auto}.choice-row{border:1px solid var(--line);border-radius:10px;justify-content:space-between;padding:11px}.race-selector{gap:16px;display:grid}.total-box{color:var(--violet-dark);background:var(--violet-pale);border-radius:12px;padding:14px;font-size:1.05rem}.message{border-radius:11px;max-width:900px;margin-bottom:20px;padding:14px 16px;font-weight:650}.message-success{color:var(--success);background:#e2f4ea}.message-error{color:var(--danger);background:#fae6e8}.message-info{color:#4b4050;background:var(--violet-pale)}.page-intro{max-width:760px;margin-bottom:28px}.details-panel{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px;padding:24px;display:grid}.details-panel dt{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:800}.details-panel dd{margin:4px 0 0;font-weight:700}.filters{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filters a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;text-decoration:none}.empty-state{text-align:center;background:#ffffffb3;border:1px dashed #cbb9cf;border-radius:18px;padding:36px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 14px}th{color:#574d59;letter-spacing:.03em;text-transform:uppercase;background:#faf6fb;font-size:.78rem}tr:last-child td{border-bottom:0}.inline-form{align-items:center;gap:8px;min-width:230px;display:flex}.inline-form select{min-width:140px}.admin-nav{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.admin-nav a{color:var(--violet-dark);background:var(--violet-pale);border-radius:10px;padding:10px 13px;font-weight:750;text-decoration:none}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.stat-card strong{color:var(--violet-dark);margin-top:6px;font-size:2rem;display:block}.login-shell{grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:20px auto;display:grid}.login-shell .form-card{padding:24px}@media (max-width:900px){.card-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{flex-wrap:wrap;min-height:auto;padding-top:14px;padding-bottom:14px}.main-nav{order:3;width:100%;margin-left:0}}@media (max-width:650px){.page-shell{padding:28px 16px 54px}.card-grid,.stat-grid,.two-columns,.login-shell,.details-panel,.checkbox-grid,.next-banner{grid-template-columns:1fr}.brand{font-size:1rem}.main-nav{gap:2px}.main-nav a{padding:7px 8px;font-size:.9rem}.form-card{padding:20px}}.conditional-question-group{gap:14px;display:grid}.conditional-field{border:1px solid #c5007333;border-left:4px solid var(--pink);background:linear-gradient(135deg, white, var(--pink-pale));border-radius:12px;padding:16px}.race-choice-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.race-choice-card .choice-row{border:0;border-radius:0}.race-choice-card:has(input[type=checkbox]:checked){border-color:#c500736b;box-shadow:0 8px 20px #c5007314}.personal-best-field{border-top:1px solid var(--line);color:var(--violet-dark);background:var(--pink-pale);margin:0 12px 12px;padding:14px}.speeds-race-section{background:linear-gradient(135deg, #fff, var(--pink-pale));border:1px solid #c5007333;border-radius:18px;gap:16px;padding:22px;display:grid}.speeds-race-section h3,.speeds-race-section p{margin-bottom:0}.race-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.race-editor{background:#fff;gap:14px;display:grid}.race-editor-list{gap:12px;display:grid}.race-editor-row{border:1px solid var(--line);background:var(--background);border-radius:12px;grid-template-columns:minmax(0,1.6fr) minmax(120px,.7fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.race-remove-button{min-height:46px}.admin-race-list ul,.member-race-list ul{margin:6px 0 10px;padding-left:20px}.admin-race-list li,.member-race-list li{margin:3px 0}@media (max-width:900px){.race-editor-grid{grid-template-columns:1fr}}@media (max-width:650px){.brand-logo{width:42px;height:42px}.race-editor-row{grid-template-columns:1fr}.race-remove-button{width:100%}}.eyebrow{color:var(--pink-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:850}.admin-primary-actions{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.assignment-admin-form{max-width:1100px}.assignment-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assignment-editor-card{background:linear-gradient(145deg, #fff, var(--violet-pale));gap:15px;display:grid}.assignment-member-list{gap:11px;display:grid}.assignment-inline-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.assignment-inline-row .button{min-width:92px}.helpers-editor{max-width:680px}.assignment-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:32px;display:grid}.assignment-picker-card{border:1px solid var(--line);background:#fff;border-radius:15px;gap:4px;padding:17px;text-decoration:none;display:grid;box-shadow:0 8px 20px #412a460d}.assignment-picker-card span{color:var(--muted);font-size:.9rem}.assignment-picker-card:hover,.assignment-picker-card.is-active{border-color:var(--pink);background:linear-gradient(135deg, var(--violet-pale), var(--pink-pale));box-shadow:0 12px 28px #70427e21}.assignment-display{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe0;border-radius:22px;padding:24px}.assignment-heading{margin-top:0}.assignment-display-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.assignment-card{border:1px solid var(--line);border-top:5px solid var(--violet);background:#fff;border-radius:16px;padding:20px}.assignment-card:nth-child(2n){border-top-color:var(--pink)}.assignment-list{gap:9px;margin:0;padding-left:1.4rem;display:grid}.assignment-list li{background:var(--background);border-radius:10px;padding:9px 10px}.assignment-list li::marker{color:var(--violet-dark);font-weight:800}.assignment-list li span:first-child{margin-right:8px}.role-pill,.count-pill{color:#fff;background:linear-gradient(135deg, var(--violet-dark), var(--pink));border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:.74rem;font-weight:800;display:inline-flex}.helpers-card{border-top-color:var(--pink);margin-top:18px}.plain-list{padding-left:0;list-style:none}.signup-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.signup-summary-card{border:1px solid var(--line);background:#fff;border-radius:13px;gap:3px;padding:14px;text-decoration:none;display:grid}.signup-summary-card span{color:var(--muted);font-size:.88rem}.signup-summary-card:hover,.signup-summary-card.is-active{border-color:var(--pink);background:linear-gradient(135deg, var(--violet-pale), var(--pink-pale))}.admin-signup-groups{gap:30px;display:grid}.admin-signup-group{gap:14px;display:grid}.admin-signup-group-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.admin-signup-group-heading h2,.admin-signup-group-heading p{margin-bottom:0}.compact-inline-form{flex-wrap:wrap;min-width:0;margin-top:10px}.compact-inline-form select{min-width:125px}@media (max-width:900px){.assignment-editor-grid,.assignment-display-grid,.assignment-picker,.signup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.assignment-editor-grid,.assignment-display-grid,.assignment-picker,.signup-summary-grid,.assignment-inline-row{grid-template-columns:1fr}.assignment-display{padding:17px}.admin-signup-group-heading{flex-direction:column;align-items:start}}.message-warning{color:#6a4600;background:#fff8e5;border-color:#f0cf7a}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.align-end{align-self:end;min-height:48px}.deadline-notice{background:linear-gradient(135deg, var(--violet-pale), white);color:var(--violet-dark);border:1px solid #d9c3df;border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0 20px;padding:14px 16px;display:flex}.deadline-notice.is-closed{color:var(--danger);background:#fff2f4;border-color:#efc6cc}.deadline-notice span{color:var(--muted)}.calendar-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 28px;display:flex}.calendar-label{color:var(--violet-dark);margin-right:4px;font-weight:800}.member-picker{gap:8px;width:100%;display:grid}.member-picker label{gap:6px;display:grid}.member-picker-summary{border-left:4px solid var(--pink);color:var(--muted);background:var(--pink-pale);border-radius:8px;gap:2px;padding:10px 12px;font-size:.86rem;display:grid}.member-picker-summary strong{color:var(--ink)}.assignment-progress,.payment-summary-panel{border:1px solid var(--line);background:linear-gradient(135deg, white, var(--violet-pale));border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 16px;display:flex}.unassigned-panel,.preview-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px}.unassigned-panel summary,.preview-panel summary{cursor:pointer;color:var(--violet-dark);font-weight:800}.preview-panel .assignment-display-grid{margin-top:18px}.capacity-indicator{color:var(--success);background:#edf9f3;border-radius:9px;padding:9px 11px;font-weight:750}.capacity-indicator.is-over{color:var(--danger);background:#fff0f2}.payment-breakdown{gap:2px;margin-top:8px;font-size:.84rem;display:grid}.sensitive-panel{background:#fff7fb;border:2px solid #e5b4cf}.summary-status-grid,.summary-grid{gap:16px;display:grid}.summary-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}.summary-panel,.summary-section{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;box-shadow:0 7px 18px #412a460d}.summary-panel{gap:8px;display:grid}.summary-panel>span:first-child{color:var(--muted);text-transform:uppercase;font-size:.85rem;font-weight:700}.summary-section h2{margin-bottom:14px}.preserve-lines{white-space:pre-wrap}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.small-stat{line-height:1.35;font-size:1rem!important}@media (max-width:900px){.form-grid.three-columns,.dashboard-stat-grid,.summary-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.form-grid.three-columns,.dashboard-stat-grid,.summary-status-grid,.summary-grid{grid-template-columns:1fr}.deadline-notice,.assignment-progress,.payment-summary-panel{flex-direction:column}}.home-countdown{width:fit-content;color:var(--pink-dark);background:var(--pink-pale);border:1px solid #c500732e;border-radius:999px;margin-top:8px;padding:8px 12px;font-size:.92rem;font-weight:850;display:inline-flex}.league-pricing-section{gap:20px;margin:24px 0;display:grid}.filter-field{min-width:min(100%,360px)}.payment-page-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin-top:24px;padding:22px}.payment-page-panel .section-heading{margin:0 0 18px}.payment-status-controls{flex-wrap:wrap;gap:7px;display:flex}.status-toggle{color:var(--violet-dark);cursor:pointer;background:#fff;border:1px solid #d9c3df;border-radius:9px;padding:7px 10px;font-size:.84rem;font-weight:750}.status-toggle:hover{border-color:var(--violet);background:var(--violet-pale)}.status-toggle.is-active{border-color:var(--violet-dark);color:#fff;background:linear-gradient(135deg, var(--violet-dark), var(--pink-dark))}tfoot th{background:linear-gradient(135deg, var(--violet-pale), var(--pink-pale));border-top:2px solid #d9c3df}.team-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;display:grid}.team-type-card{border:1px solid var(--line);min-height:190px;color:inherit;background:linear-gradient(145deg, white, var(--violet-pale));border-radius:20px;padding:26px;text-decoration:none;transition:transform .16s,box-shadow .16s;display:block;box-shadow:0 10px 26px #412a4612}.team-type-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.team-type-card h2{color:var(--violet-dark)}.price-breakdown-list{gap:8px;margin:12px 0 0;display:grid}.price-breakdown-list>p,.price-breakdown-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:9px 0;display:flex}.price-breakdown-list>p:last-child,.price-breakdown-list>div:last-child{border-bottom:0}.member-assignment-block{border:1px solid var(--line);background:linear-gradient(135deg, white, var(--pink-pale));border-radius:14px;padding:14px 16px}.member-assignment-block+.member-assignment-block{margin-top:12px}@media (max-width:760px){.team-type-grid{grid-template-columns:1fr}.payment-page-panel{padding:14px}.payment-status-controls{min-width:230px}}
