:root{
  --brand:#35246B;--brand-2:#4d38a0;--brand-3:#765de0;--brand-deep:#1f163f;
  --soft:#f5f2fb;--soft-2:#fbfaff;--ink:#191624;--muted:#716b7e;--line:#e9e5f0;
  --success:#147a49;--danger:#b42331;--warning:#966600;--shadow:0 18px 55px rgba(38,27,74,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;letter-spacing:-.005em}.py-lg-6{padding-top:5.5rem!important;padding-bottom:5.5rem!important}
a{transition:.2s ease}.text-brand{color:var(--brand)!important}.bg-soft{background:var(--soft)}
.site-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(53,36,107,.07);min-height:78px}.navbar-brand img{height:52px;width:auto;max-width:190px;object-fit:contain}.nav-link{font-weight:700;color:#403a49!important;padding:.85rem .9rem!important;border-radius:12px}.nav-link:hover{color:var(--brand)!important;background:var(--soft)}.nav-cta{padding:.78rem 1.15rem!important;border-radius:14px}.btn{font-weight:750;border-radius:13px}.btn-brand{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(53,36,107,.20)}.btn-brand:hover,.btn-brand:focus{background:linear-gradient(135deg,#2b1c5b,#44308d);border-color:transparent;color:#fff;transform:translateY(-1px);box-shadow:0 14px 30px rgba(53,36,107,.26)}.btn-outline-brand{border:1px solid #cfc5ec;color:var(--brand);background:#fff}.btn-outline-brand:hover{background:var(--soft);color:var(--brand);border-color:#b5a5e0}.btn-light{color:var(--brand)}
.eyebrow,.admin-kicker{text-transform:uppercase;font-weight:850;letter-spacing:.16em;font-size:.73rem}.section-title{font-weight:900;letter-spacing:-.045em}.hero{position:relative;overflow:hidden;background:linear-gradient(105deg,rgba(31,22,63,.98) 0%,rgba(53,36,107,.92) 52%,rgba(79,57,154,.68) 100%),url('https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=1900&q=88') center/cover;min-height:680px;color:#fff;display:flex;align-items:center}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.hero:after{content:"RUN";position:absolute;right:-1vw;bottom:-8vw;font-size:22vw;font-weight:950;letter-spacing:-.08em;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}.hero .container{position:relative;z-index:2}.hero h1{font-size:clamp(3.4rem,7vw,6.7rem);font-weight:950;line-height:.9;letter-spacing:-.065em}.hero p{font-size:1.18rem;max-width:650px;color:rgba(255,255,255,.83);line-height:1.7}.hero-metric{display:inline-flex;gap:.7rem;align-items:center;padding:.6rem .85rem;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:14px;backdrop-filter:blur(10px)}
.race-card{border:1px solid rgba(53,36,107,.06);border-radius:24px;overflow:hidden;box-shadow:0 15px 45px rgba(37,25,70,.09);transition:.25s;background:#fff}.race-card:hover{transform:translateY(-7px);box-shadow:0 24px 65px rgba(37,25,70,.14)}.race-card img{height:240px;object-fit:cover}.badge-brand{background:var(--soft);color:var(--brand);font-weight:850;padding:.55rem .8rem}.stat-card,.admin-card{border:1px solid rgba(53,36,107,.06);border-radius:20px;background:#fff;box-shadow:0 10px 35px rgba(37,25,70,.07)}.feature-card{height:100%;border:1px solid var(--line);border-radius:22px;padding:2rem;background:#fff}.feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--soft);color:var(--brand);font-size:1.45rem;font-weight:900}.form-card{border:1px solid rgba(53,36,107,.07);border-radius:24px;box-shadow:var(--shadow);background:#fff}.form-label{font-size:.86rem;color:#4c4658;margin-bottom:.48rem}.form-control,.form-select{min-height:50px;border-radius:13px;border-color:#ddd7e8;background:#fff;padding:.7rem .9rem}.form-control:focus,.form-select:focus{border-color:#8874ca;box-shadow:0 0 0 .22rem rgba(53,36,107,.10)}textarea.form-control{min-height:auto}.step-pill{background:#fff;color:#7d758b;border:1px solid var(--line);border-radius:50px;padding:.55rem .9rem;font-size:.78rem;font-weight:800}.step-pill.active{color:var(--brand);border-color:#cabeea;background:var(--soft)}.summary-box{background:linear-gradient(135deg,#f8f5ff,#f0ebfb);border:1px solid #e2daf4;border-radius:18px}.reg-progress{display:flex;align-items:center;gap:0;max-width:720px}.reg-progress .progress-step{display:flex;align-items:center;gap:.55rem;color:#847d90;font-size:.8rem;font-weight:800;white-space:nowrap}.reg-progress .progress-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #dcd4e9;background:#fff;color:#776e83}.reg-progress .progress-step.active{color:var(--brand)}.reg-progress .progress-step.active b{background:var(--brand);color:#fff;border-color:var(--brand)}.reg-progress .line{height:1px;min-width:28px;flex:1;background:#ddd7e8;margin:0 .6rem}.registration-shell{position:relative}.registration-shell:before{content:"";position:absolute;inset:0 0 auto 0;height:300px;background:linear-gradient(145deg,var(--brand-deep),var(--brand));z-index:0}.registration-shell>.container{position:relative;z-index:1}.registration-intro{color:#fff;padding-top:3.4rem;padding-bottom:2rem}.registration-intro p{color:rgba(255,255,255,.72)}.reg-form-card{border-radius:28px}.form-section-title{display:flex;align-items:center;gap:.8rem;font-weight:850;margin-bottom:1.3rem}.form-section-title span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--soft);color:var(--brand);font-size:.9rem}.sticky-race-summary{position:sticky;top:105px}.race-summary-card{border-radius:24px;background:linear-gradient(160deg,#251a4e,#3b267d);color:#fff;overflow:hidden;box-shadow:0 24px 55px rgba(38,27,74,.22)}.race-summary-card:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#a98cff,#fff,#7a5ce0)}.race-summary-card .muted{color:rgba(255,255,255,.65)}.race-summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.race-summary-row:last-child{border-bottom:0}.secure-chip{display:flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.08);padding:.75rem .85rem;border-radius:13px;font-size:.78rem;color:rgba(255,255,255,.8)}
.footer{background:linear-gradient(145deg,#171021,#21163c);color:#cfc8dd}.footer a{display:block;color:#cfc8dd;text-decoration:none;margin:.6rem 0;width:max-content}.footer a:hover{color:#fff;transform:translateX(3px)}.footer h6{color:#fff;font-weight:850}.footer-logo{height:50px;max-width:190px;object-fit:contain;filter:brightness(0) invert(1)}.footer-copy{max-width:520px;color:#aaa2bb;line-height:1.75}.footer-badge{display:inline-block;border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:.55rem .85rem;font-size:.76rem;color:#bdb5cc}.footer-bottom{border-top:1px solid rgba(255,255,255,.10);color:#8e879a}
/* Admin */
.admin-body{background:#f6f5f9}.admin-sidebar{min-height:100vh;height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#1f163f,#24184a);color:#fff;min-width:245px;max-width:270px}.admin-brand{display:flex!important;align-items:center!important;gap:.85rem!important;color:#fff!important;text-decoration:none!important;padding:.25rem .4rem 1.6rem!important;background:transparent!important}.admin-brand-logo{width:48px;height:48px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:6px}.admin-brand-logo img{max-width:100%;max-height:100%;object-fit:contain}.admin-brand strong{display:block;line-height:1}.admin-brand small{display:block;color:#a69dbb;font-size:.72rem;margin-top:.3rem}.admin-menu-label{color:#756c8a;letter-spacing:.13em;padding:.3rem .9rem .55rem}.admin-sidebar>a:not(.admin-brand),.admin-sidebar .mt-auto>a{display:flex;align-items:center;gap:.75rem;color:#c9c1da;text-decoration:none;padding:.78rem .9rem;border-radius:13px;margin:.15rem 0;font-weight:700;font-size:.91rem}.admin-sidebar>a:hover,.admin-sidebar>a.active,.admin-sidebar .mt-auto>a:hover{background:rgba(255,255,255,.09);color:#fff}.admin-sidebar>a.active{box-shadow:inset 3px 0 0 #9f82ff}.menu-ico{width:25px;text-align:center;color:#a995e7}.admin-main{min-width:0}.admin-topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid #ece9f1;position:sticky;top:0;z-index:20;min-height:75px}.admin-content{max-width:1600px}.admin-user{display:flex;align-items:center;gap:.7rem}.admin-user strong,.admin-user small{display:block;line-height:1.25}.admin-user small{color:#8b8495;font-size:.73rem}.admin-avatar{width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-weight:900}.mobile-menu-btn{border:1px solid var(--line);background:#fff}.mobile-admin-nav a{display:block;text-decoration:none;color:var(--ink);padding:.8rem;border-bottom:1px solid var(--line);font-weight:700}.page-head h2{letter-spacing:-.035em}.admin-kicker{color:var(--brand)}.dashboard-hero{background:linear-gradient(120deg,#211647,#3a2778);border-radius:25px;color:#fff;padding:2rem;position:relative;overflow:hidden}.dashboard-hero:after{content:"K";position:absolute;right:25px;bottom:-70px;font-weight:950;font-size:220px;color:rgba(255,255,255,.05);line-height:1}.dashboard-hero p{color:rgba(255,255,255,.7)}.metric-card{position:relative;overflow:hidden;border:1px solid rgba(53,36,107,.07);background:#fff;border-radius:19px;padding:1.35rem;box-shadow:0 10px 32px rgba(37,25,70,.06)}.metric-card small{color:#777180;font-weight:700}.metric-card strong{display:block;font-size:1.8rem;letter-spacing:-.04em;margin-top:.45rem}.metric-icon{position:absolute;right:16px;top:16px;width:39px;height:39px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--brand);font-weight:900}.table-card{border:1px solid rgba(53,36,107,.06);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(37,25,70,.06)}.table thead th{font-size:.71rem;text-transform:uppercase;letter-spacing:.055em;color:#7a7385;background:#faf9fc;white-space:nowrap;border-bottom-color:#ece8f1;padding:.9rem}.table td{vertical-align:middle;border-color:#f0edf4;padding:.9rem}.status{display:inline-flex;padding:.32rem .65rem;border-radius:50px;font-size:.71rem;font-weight:850}.status-paid,.status-confirmed{background:#e8f7ef;color:#157347}.status-pending,.status-authorized{background:#fff4db;color:#8a6100}.status-failed,.status-cancelled{background:#fdeaea;color:#b02a37}.status-refunded{background:#eaf2ff;color:#2d5eaa}
.settings-tabs{display:flex;gap:.4rem;background:#ebe7f3;padding:.35rem;border-radius:14px;width:max-content}.settings-tabs a{padding:.7rem 1.1rem;border-radius:10px;text-decoration:none;color:#706879;font-weight:800;font-size:.9rem}.settings-tabs a.active{background:#fff;color:var(--brand);box-shadow:0 4px 12px rgba(37,25,70,.08)}.settings-icon{width:50px;height:50px;border-radius:16px;background:var(--soft);display:grid;place-items:center;color:var(--brand);font-size:1.35rem;font-weight:900}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #c9bee2;border-radius:18px;min-height:180px;padding:1.5rem;background:#fcfbff;cursor:pointer;transition:.2s}.upload-zone:hover{background:var(--soft);border-color:#9279ce}.upload-title{font-weight:850;font-size:1rem}.upload-copy{font-size:.78rem;color:#81798b;margin-top:.35rem}.brand-preview{background:linear-gradient(145deg,#f8f5ff,#fff);border:1px solid var(--line);border-radius:18px;padding:1.2rem}.brand-preview-logo{height:120px;background:#fff;border:1px solid var(--line);border-radius:15px;display:grid;place-items:center;padding:1.2rem}.brand-preview-logo img{max-width:100%;max-height:80px}.favicon-preview{width:52px;height:52px;background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;padding:8px}.favicon-preview img{max-width:100%;max-height:100%}.security-note{background:#f6f2ff;border:1px solid #ded4f4;border-left:4px solid var(--brand);padding:1rem;border-radius:12px;color:#5b526e;font-size:.88rem}.config-status>div{display:flex;justify-content:space-between;gap:1rem;padding:.82rem 0;border-bottom:1px solid var(--line)}.config-status>div:last-child{border-bottom:0}.config-status span{color:#80798a}.config-status strong{font-size:.86rem;text-align:right}
.login-shell{min-height:100vh;background:radial-gradient(circle at top left,#5c43b0 0,#35246B 30%,#181025 75%);display:grid;place-items:center;padding:1.5rem}.login-card{width:min(960px,100%);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 90px rgba(12,8,25,.35)}.login-art{background:linear-gradient(145deg,#271950,#4a3298);color:#fff;min-height:610px;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;position:relative;overflow:hidden}.login-art:after{content:"RUN";position:absolute;left:-18px;bottom:-55px;font-size:145px;font-weight:950;color:rgba(255,255,255,.05)}.login-art p{color:rgba(255,255,255,.68)}.login-form-wrap{padding:3rem 3.5rem}.login-logo{max-height:65px;max-width:190px}.login-label{font-weight:900;font-size:2rem;letter-spacing:-.04em}
@media(max-width:991px){.hero{min-height:610px}.hero h1{font-size:4.5rem}.sticky-race-summary{position:relative;top:auto}.registration-shell:before{height:260px}.login-art{display:none}.login-form-wrap{padding:2.5rem}.admin-content{padding-top:1.5rem!important}}
@media(max-width:767px){.site-nav{min-height:70px}.navbar-brand img{height:46px}.navbar-collapse{padding:1rem 0}.hero{min-height:560px}.hero h1{font-size:3.45rem}.hero:after{font-size:45vw}.race-card img{height:205px}.reg-progress{overflow-x:auto;padding-bottom:.4rem}.reg-progress .line{min-width:18px}.registration-intro{padding-top:2.4rem}.registration-shell:before{height:280px}.reg-form-card{border-radius:20px}.login-form-wrap{padding:2rem 1.5rem}.admin-topbar{min-height:68px}.settings-tabs{width:100%}.settings-tabs a{flex:1;text-align:center}}
