:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#283a38;background:#f6f7f4;font-synthesis:none;--coral:#f3624e;--dark:#253e39;--muted:#7b8780;--border:#e3e8e1;--green:#2f7259}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,.button{background:var(--coral);border:1px solid var(--coral);color:white;border-radius:9px;padding:13px 19px;cursor:pointer;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;transition:background .15s}button:hover,.button:hover{background:#df503d;border-color:#df503d}button:disabled{cursor:not-allowed;opacity:.5}button.secondary,.button.secondary{background:white;border-color:#dce3dc;color:var(--dark)}button.secondary:hover,.button.secondary:hover{background:#eef2ec}button.text-button,.text-button{background:none;border:0;color:var(--green);padding:8px;font-size:13px}button.icon-button{background:none;color:var(--dark);border:0;padding:5px}button.small{font-size:12px;padding:8px 12px}button:focus-visible,a:focus-visible{outline:3px solid #d3b54a;outline-offset:3px}.full{width:100%;justify-content:space-between}.secondary.full{justify-content:center}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.15;font-weight:650;letter-spacing:-1.3px}h2{font-size:26px;letter-spacing:-.6px}h3{font-size:17px;font-weight:650}small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--coral);margin-bottom:15px}.muted,.fine-print{color:var(--muted)}.fine-print{font-size:12px;line-height:1.65}.required{color:var(--coral)}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:750;letter-spacing:-1.3px;line-height:1}.brand-heart{font-size:46px;font-weight:400;color:var(--coral);line-height:1}.brand-sub{display:block;font-size:8px;letter-spacing:2.4px;margin-top:6px;color:var(--dark)}.public-header{height:100px;padding:20px 7%;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--border)}.public-header nav{display:flex;gap:28px;font-size:13px;font-weight:600}.subtle{color:var(--muted)}footer{padding:27px 5%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;border-top:1px solid var(--border)}.register-layout{max-width:1360px;margin:auto;padding:65px 6%;display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.register-story{position:sticky;top:40px;align-self:start}.register-story h1{font-size:54px;line-height:1.08;margin-bottom:22px}.register-story em{font-style:normal;color:var(--coral)}.register-story>p:not(.eyebrow){max-width:400px;color:#78827b;font-size:15px}.race-art{height:275px;background:#e8eee1;border-radius:16px;margin:35px 0 27px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-2deg);border:1px solid #dfe6d7;box-shadow:7px 8px 0 #fff;isolation:isolate}.race-art>span{font-size:10px;font-weight:750;letter-spacing:4px}.race-art>strong{font-size:150px;line-height:1.15;font-weight:850;letter-spacing:-12px;color:var(--dark);z-index:2}.race-art>small{font-size:9px;font-weight:650;letter-spacing:3px;z-index:2}.route-line{position:absolute;border:35px solid var(--coral);width:330px;height:170px;border-radius:100%;transform:rotate(-27deg);right:-135px;top:80px;z-index:-1}.race-art:after{content:"";position:absolute;left:-80px;top:-115px;border:2px dashed #b7c9ad;border-radius:100%;width:330px;height:350px;z-index:-1}.story-facts{display:flex;justify-content:space-between;gap:24px;padding:12px 0 25px;border-bottom:1px solid var(--border)}.story-facts small{display:block;letter-spacing:1.8px;color:var(--muted);font-size:9px;margin-bottom:9px}.story-facts b{font-size:14px}.story-note{color:var(--green);font-size:12px;margin-top:20px}.registration-card{padding:35px;background:white;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 35px #253e3905}.registration-card h2{margin-bottom:10px}.registration-card>.muted{font-size:13px;margin-bottom:30px}.registration-card fieldset{padding:0;border:0;margin:0;min-width:0}.form-grid,.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label,label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:9px}input,select,textarea{border:1px solid #dce3db;border-radius:7px;padding:12px 13px;background:#fff;color:var(--dark);width:100%;font-size:14px;min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f725912}input:disabled{background:#f5f6f4}.age-output{padding:12px 13px;background:#f5f7f2;border:1px solid var(--border);border-radius:7px;font-size:14px;color:var(--dark)}.age-output small{font-weight:400;color:var(--muted);margin-left:4px}.grid-wide{grid-column:1/-1}.form-subtitle{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.7px;border-top:1px solid var(--border);padding-top:20px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.section-title>div{display:flex;align-items:center;gap:12px}.section-title h3{margin:0;font-size:15px}.step-number{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f4f6ef;font-size:10px;color:var(--green);font-weight:750}.participant-form{border-top:1px solid var(--border);padding:25px 0;margin-top:25px}.payment-section{padding:25px 0 10px;margin-top:25px;border-top:1px solid var(--border)}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.payment-options label{flex-direction:row;align-items:center;padding:15px;border:1px solid var(--border);border-radius:8px;cursor:pointer;gap:12px}.payment-options label:has(input:checked){border-color:var(--green);background:#f7f9f3}.payment-options label.disabled{opacity:.5;cursor:default}.payment-options input{width:16px;height:16px;accent-color:var(--green);flex-shrink:0}.payment-options b{display:block;font-size:12px}.payment-options small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.payment-help{font-size:12px;color:var(--muted);white-space:pre-line;margin-top:16px}.order-summary{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:13px}.order-summary>strong{font-size:26px}.form-error{font-size:12px;color:#b22b21;margin:12px 0;line-height:1.5}.notice{background:#fff6df;border:1px solid #f0e4ba;border-radius:9px;padding:18px 20px;font-size:12px;line-height:1.6;margin-bottom:25px;color:#7b6531}.notice p{margin-bottom:0}.setup-notice{display:block}.setup-notice b{display:block}.admin-layout{display:flex;min-height:100vh}.admin-layout aside{width:244px;flex-shrink:0;position:fixed;height:100vh;background:white;border-right:1px solid var(--border);padding:38px 22px 25px;display:flex;flex-direction:column;z-index:5}.admin-layout aside .brand{margin:0 13px 48px;font-size:27px}.sidebar-label{font-size:8px;color:#9ca69d;font-weight:750;letter-spacing:1.8px;margin:0 14px 17px}.admin-layout aside nav{display:flex;flex-direction:column;gap:6px}.admin-layout aside nav a{padding:14px;border-radius:8px;font-size:12px;font-weight:550;color:#7b8780;display:flex;align-items:center;gap:12px}.admin-layout aside nav a>span{font-size:19px;width:19px;text-align:center}.admin-layout aside nav a:hover{background:#f7f8f4}.admin-layout aside nav a.active{background:#edf3e6;color:#335d42}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:9px;border-top:1px solid var(--border);padding-top:20px}.avatar{background:#eaf0e3;color:#54704d;font-size:12px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%}.sidebar-bottom>div:nth-child(2){min-width:0;flex:1}.sidebar-bottom strong{font-size:10px}.sidebar-bottom small{font-size:8px;display:block;overflow:hidden;text-overflow:ellipsis;margin-top:4px;color:var(--muted)}.admin-main{margin-left:244px;width:calc(100% - 244px)}.admin-header{height:77px;background:#ffffff90;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 45px;font-size:10px;color:var(--muted);letter-spacing:1.5px}.admin-header b{font-weight:400;color:#c5cec3;margin:0 15px}.admin-header a{font-size:10px;letter-spacing:0}.admin-main>main{padding:43px 45px 50px;min-height:calc(100vh - 140px);max-width:1700px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading h1{font-size:33px;margin-bottom:11px}.page-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.page-heading .eyebrow{font-size:9px;margin-bottom:13px}.page-heading .button{flex-shrink:0;font-size:11px}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px 25px 22px;position:relative;overflow:hidden}.kpi p{font-size:9px;letter-spacing:1.3px;color:#819078;font-weight:650;margin-bottom:14px}.kpi strong{display:block;font-size:35px;line-height:1.15;font-weight:650;letter-spacing:-1.3px;margin-bottom:11px}.kpi>span{font-size:10px;color:#a0a99e}.kpi.highlight{background:var(--dark);border-color:var(--dark);color:white}.kpi.highlight p{color:#bccab8}.kpi.highlight>span{color:#a9beb3}.kpi.highlight:after{content:"#";position:absolute;font-size:125px;color:#ffffff09;right:15px;bottom:-25px;font-weight:800}.dashboard-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-top:27px}.purpose-panel{padding:30px 30px 35px;background:#eaf0e0;border:1px solid #e1e7d8;border-radius:12px;position:relative;overflow:hidden;isolation:isolate}.purpose-panel .eyebrow{font-size:9px;color:#728267}.purpose-panel h2{font-size:29px;line-height:1.2;font-weight:600;margin-bottom:15px}.purpose-panel p:not(.eyebrow){font-size:11px;color:#76806e;max-width:260px}.purpose-panel .button{font-size:11px;margin-top:10px;background:var(--dark);border-color:var(--dark)}.decor-number{position:absolute;bottom:-8px;right:-12px;transform:rotate(-14deg);color:#dce5ce;font-size:110px;font-weight:800;letter-spacing:-8px;z-index:-1}.workflow-panel{padding:30px;background:white;border:1px solid var(--border);border-radius:12px}.workflow-panel .eyebrow{font-size:9px;color:#87927e}.workflow-panel h3{font-size:17px;margin-bottom:20px}.workflow-panel ol{list-style:none;margin:0;padding:0;counter-reset:step}.workflow-panel li{counter-increment:step;padding:0 0 20px 36px;position:relative}.workflow-panel li:before{content:counter(step);position:absolute;left:0;top:0;background:#f1f5ec;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:9px;color:#5b7550}.workflow-panel li b{font-size:11px;display:block;margin-bottom:4px}.workflow-panel li span{font-size:10px;color:var(--muted)}.workflow-panel>a{font-size:10px;color:var(--green)}.table-card{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.table-toolbar{padding:21px;display:flex;gap:12px;border-bottom:1px solid var(--border);align-items:center}.search-field{flex:1;position:relative;min-width:140px}.search-field>span{position:absolute;left:13px;top:9px;font-size:22px;color:#93a08b}.search-field input{padding-left:38px;font-size:11px}.table-toolbar select{width:155px;font-size:11px}.table-toolbar button{font-size:11px;white-space:nowrap;padding:12px}.table-scroller{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}th{background:#f7f9f3;padding:16px 19px;color:#8a9780;font-size:9px;font-weight:650;white-space:nowrap;border-bottom:1px solid var(--border)}td{padding:17px 19px;border-bottom:1px solid #eef1e9;white-space:nowrap}td>small{display:block;font-size:9px;color:var(--muted);margin-top:4px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}.number-chip{display:inline-block;min-width:55px;text-align:center;background:#edf3e5;color:#4a6240;border-radius:6px;padding:7px 9px;font-family:Consolas,monospace;font-weight:750;font-size:15px;letter-spacing:.5px}.number-chip.unassigned{color:#b0b6aa;background:#f5f6f2}.person-link{font-size:12px;font-weight:650}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:8px;font-weight:750;letter-spacing:.6px;white-space:nowrap}.badge:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor}.badge.paid{background:#eaf4e7;color:#56814d}.badge.pending{background:#fff6df;color:#b2964a}.badge.cancelled{background:#f8e7e3;color:#a66a61}.table-footer{padding:17px 21px;display:flex;justify-content:space-between;color:#a0aa97;font-size:9px;border-top:1px solid var(--border);gap:15px}.empty-state{text-align:center;padding:70px 25px;white-space:normal}.empty-state b{font-size:15px;color:#63705e}.empty-state p{font-size:12px;color:var(--muted);margin:12px 0 0}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:24px}.detail-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.detail-card{background:white;border:1px solid var(--border);border-radius:12px;padding:26px;margin-bottom:22px}.detail-card h3{margin-bottom:25px}.info-item small{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.info-item b{font-size:12px;font-weight:550;overflow-wrap:anywhere;display:block}.info-grid{gap:24px}.number-detail{padding:33px 25px;background:var(--dark);border-radius:12px;margin-bottom:22px;color:white;text-align:center;overflow:hidden}.number-detail p{font-size:9px;letter-spacing:2px;color:#bacab4}.number-detail strong{font-family:Consolas,monospace;display:block;font-size:clamp(30px,5vw,72px);letter-spacing:2px;overflow-wrap:anywhere;line-height:1.2;margin-bottom:12px}.number-detail span{font-size:11px;color:#b5c5b2}#number-form label{margin-bottom:18px}.audit-list article{display:flex;gap:16px;margin-bottom:21px}.audit-dot{height:8px;width:8px;margin-top:6px;background:var(--coral);border-radius:50%;flex-shrink:0}.audit-list b{font-size:12px}.audit-list p{font-size:11px;color:var(--muted);margin:5px 0}.audit-list small{font-size:9px;color:#a4afa0}.audit-metadata{border-top:1px solid var(--border);margin-top:20px;padding-top:22px}.settings-card{background:white;border:1px solid var(--border);border-radius:12px;padding:32px;max-width:800px}.settings-card hr{border:0;border-top:1px solid var(--border);margin:30px 0}.settings-card h3{margin-bottom:22px}.settings-card .notice{margin-top:25px}#settings-status{font-size:12px;color:var(--green);margin-left:18px}.login-page{min-height:calc(100vh - 165px);display:grid;place-items:center;padding:50px 20px}.login-card{width:100%;max-width:470px;background:white;padding:40px;border:1px solid var(--border);border-radius:16px}.login-card h1{font-size:32px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:13px}.login-card label{margin-top:22px}.login-card button{margin-top:12px}.confirmation-page{max-width:800px;margin:60px auto;padding:0 25px;text-align:center}.confirmation-icon{display:inline-grid;place-items:center;height:64px;width:64px;border-radius:50%;background:#e9f0df;color:var(--green);font-size:32px;margin-bottom:24px}.confirmation-page h1{font-size:37px}.confirmation-lead{font-size:15px;color:var(--muted)}.confirmation-meta{padding:24px;background:white;border:1px solid var(--border);border-radius:12px;display:flex;justify-content:space-around;margin:35px 0 24px}.confirmation-meta small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-bottom:12px}.confirmation-meta b{font-size:14px}.bib{background:white;border:1px solid var(--border);border-radius:12px;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:25px 30px;gap:20px;margin-bottom:14px}.bib small{font-size:9px;color:var(--muted);letter-spacing:1.8px}.bib h2{font-size:21px;margin:10px 0 0}.bib-number{padding-left:30px;border-left:1px dashed var(--border);text-align:center}.bib-number strong{font-size:39px;font-family:Consolas,monospace;color:var(--green);display:block;margin-top:7px}.confirmation-payment{border:1px solid var(--border);border-radius:12px;background:#eff3e8;padding:25px;margin:28px 0}.confirmation-payment p{font-size:13px;white-space:pre-line}.actions{display:flex;gap:12px;margin-top:20px}.centered{justify-content:center}.error-page{max-width:800px;margin:100px auto;text-align:center;padding:20px}.loading{padding:40px;color:var(--muted);font-size:13px}dialog{border:1px solid var(--border);border-radius:15px;padding:30px;width:calc(100% - 40px);max-width:520px;color:var(--dark);box-shadow:0 20px 100px #152d3530}dialog::backdrop{background:#18332c70;backdrop-filter:blur(3px)}dialog h2{font-size:23px}dialog p{font-size:13px;color:var(--muted)}dialog .actions{justify-content:flex-end}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);max-width:calc(100% - 40px);background:var(--dark);color:white;padding:15px 22px;border-radius:10px;font-size:12px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-main>main{padding-top:55px}.kpi{padding:32px}.kpi strong{font-size:43px}.dashboard-bottom{margin-top:30px}}
@media(max-width:1150px){.admin-layout aside{width:210px;padding:32px 15px}.admin-main{margin-left:210px;width:calc(100% - 210px)}.admin-main>main{padding:35px 25px}.admin-header{padding:0 25px}.page-heading{align-items:flex-start}.kpi{padding:21px 17px}.kpi strong{font-size:30px}.kpi p{font-size:8px}.dashboard-bottom{grid-template-columns:1fr 1fr}.register-layout{gap:40px;padding:45px 5%}.register-story h1{font-size:45px}.registration-card{padding:26px}.detail-layout{grid-template-columns:1.25fr 1fr}}
@media(max-width:850px){.admin-layout{display:block}.admin-layout aside{position:relative;height:auto;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--border)}.admin-layout aside .brand{margin:0 0 20px;font-size:24px}.sidebar-label,.sidebar-bottom{display:none}.admin-layout aside nav{flex-direction:row;overflow:auto;gap:4px}.admin-layout aside nav a{padding:10px 12px;white-space:nowrap;font-size:11px}.admin-layout aside nav a>span{display:none}.admin-main{width:100%;margin:0}.admin-header{height:55px}.register-layout{grid-template-columns:1fr;max-width:660px;padding:40px 24px;gap:30px}.register-story{position:static}.race-art{height:195px;max-width:400px;margin:25px auto}.race-art>strong{font-size:105px}.route-line{height:150px;top:55px}.story-note{margin-top:16px}.story-facts{justify-content:flex-start;gap:55px}.register-story h1{font-size:43px}.register-story>p:not(.eyebrow){max-width:none}.page-heading h1{font-size:29px}.detail-layout{grid-template-columns:1.4fr 1fr}.public-header{height:82px;padding:17px 24px}.public-header .brand{font-size:26px}.public-header nav{gap:18px;font-size:11px}}
@media(max-width:600px){.admin-main>main{padding:28px 18px}.admin-header{padding:0 20px;font-size:8px;letter-spacing:1px}.admin-header b{margin:0 8px}.admin-header a{font-size:8px}.page-heading{display:block;margin-bottom:25px}.page-heading .button{margin-top:18px}.page-heading h1{font-size:28px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.kpi:last-child{grid-column:1/-1}.kpi{padding:20px 16px}.kpi strong{font-size:29px}.kpi p{font-size:7px;letter-spacing:.9px}.kpi span{font-size:9px}.dashboard-bottom{grid-template-columns:1fr}.table-toolbar{flex-wrap:wrap;padding:15px}.search-field{flex-basis:100%}.table-toolbar select{flex:1}.table-footer{flex-direction:column;gap:8px}.detail-layout{display:flex;flex-direction:column-reverse;gap:0}.info-grid{gap:20px 15px}.detail-card{padding:23px}.number-detail strong{font-size:65px}.form-grid{grid-template-columns:1fr}.registration-card{padding:25px 20px}.payment-options{grid-template-columns:1fr}.register-story h1{font-size:39px}.public-header nav a.subtle{font-size:0}.public-header nav a.subtle:after{content:'Admin ↗';font-size:10px}.public-header .brand{font-size:24px}.public-header .brand-heart{font-size:39px}.public-header .brand-sub{font-size:7px}.story-facts{gap:30px}.story-facts b{font-size:12px}footer{font-size:9px;padding:22px;flex-direction:column;gap:10px}.confirmation-page h1{font-size:29px}.confirmation-meta{gap:20px;padding:22px 15px}.confirmation-meta b{font-size:11px}.confirmation-meta small{font-size:7px;letter-spacing:.8px}.bib{padding:20px;gap:15px}.bib h2{font-size:17px}.bib-number{padding-left:17px}.bib-number strong{font-size:29px}.actions button{font-size:11px;padding:12px}.settings-card{padding:24px 20px}.settings-card .form-grid{grid-template-columns:1fr}.login-card{padding:30px 25px}.login-card h1{font-size:29px}}
@media print{.public-header,footer,.confirmation-payment,.actions,#toast{display:none}.confirmation-page{margin:20px auto}.bib,.confirmation-meta{break-inside:avoid}.bib-number strong{color:black}body{background:white}}
.demo-banner{background:#fff0c8;color:#776022;text-align:center;padding:9px 18px;font-size:10px;letter-spacing:1.1px;font-weight:650}.admin-demo{border-radius:8px;margin-bottom:25px}

.story-facts{flex-wrap:wrap}.event-schedule{font-size:13px;color:var(--green);margin:22px 0}

.ath-payment-details{display:flex;align-items:center;gap:25px;text-align:left;margin-top:24px}.ath-payment-details img{width:220px;height:220px;object-fit:contain;background:white;border-radius:10px;flex-shrink:0}.ath-payment-details h3{margin-bottom:10px}.ath-payment-details .eyebrow{font-size:9px;margin-bottom:10px}.ath-payment-details .button{font-size:12px}@media(max-width:600px){.ath-payment-details{flex-direction:column;text-align:center;gap:18px}}
