/* ANIMUS CUP Phase 14.5.1 — GRIDLINE visual rebuild
   Direction: graphite / white / racing red / telemetry cyan.
   No gold, no carbon-fiber imitation, no luxury styling. */

:root{
  --bg:#05070a;
  --panel:#0a0e14;
  --panel2:#0d121a;
  --panel3:#111823;
  --line:#202936;
  --line2:#2c3746;
  --muted:#7f8997;
  --muted2:#a5afbc;
  --text:#f4f7fb;
  --red:#ff2b45;
  --red2:#ff5a70;
  --cyan:#35d7ff;
  --cyan2:#7ce8ff;
  --green:#54e6a4;
  --amber:#ffb14a;
  --blue:#35d7ff;
  --gold:#35d7ff;
  --max:1280px;
}

html{background:var(--bg)}
body{
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 78% -14%,rgba(53,215,255,.10),transparent 29%),
    radial-gradient(circle at 12% 6%,rgba(255,43,69,.10),transparent 24%),
    #05070a;
  background-size:48px 48px,48px 48px,auto,auto,auto;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(110deg,transparent 0 63%,rgba(255,43,69,.022) 63% 64%,transparent 64% 69%,rgba(53,215,255,.018) 69% 69.5%,transparent 69.5%);
}

/* Navigation */
.topbar{
  height:70px;
  background:rgba(5,7,10,.94)!important;
  border-bottom:1px solid #1a222d!important;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.brand{min-width:184px}
.brand-mark{
  width:40px!important;height:30px!important;
  border:0!important;border-radius:2px!important;
  background:var(--red)!important;
  box-shadow:none!important;
  color:#fff!important;
  font:900 13px/1 Barlow Condensed,Inter,sans-serif!important;
  font-style:normal!important;
  letter-spacing:.08em;
  transform:skew(-9deg);
}
.brand-mark::first-letter{transform:none}
.brand>span:last-child{font-family:Barlow Condensed,Inter,sans-serif;letter-spacing:.16em}
.brand b{font-size:19px}.brand small{color:var(--cyan)!important;font-size:9px}
.main-nav{gap:20px}
.main-nav a{font-family:Barlow Condensed,Inter,sans-serif;font-size:12px;letter-spacing:.13em;color:#87919e;padding:26px 0}
.main-nav a:hover,.main-nav a.on{color:#fff}
.main-nav a.on:after{height:3px!important;background:var(--red)!important;box-shadow:0 0 16px rgba(255,43,69,.45)}
.live-state{color:#8d97a4}.live-state i{background:var(--cyan)!important;box-shadow:0 0 12px rgba(53,215,255,.75)!important}
.account-chip,.ghost-btn,.nav-toggle{
  border:1px solid #26303d!important;background:#0b1017!important;color:#dfe5ec!important;
  clip-path:none!important;border-radius:2px!important;box-shadow:none!important;
}
.account-chip{padding:9px 12px!important;text-decoration:none;font:800 10px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.12em}
.account-chip.signed-in{border-color:rgba(84,230,164,.42)!important;color:var(--green)!important;background:rgba(84,230,164,.045)!important}

/* Shared typography / panels */
.eyebrow{font-family:Barlow Condensed,Inter,sans-serif;color:var(--cyan)!important;letter-spacing:.2em!important}
.hero h1,.page-head h1,.calendar-hero h1,.account-hero h1,.driver-hero h1{
  font-family:Barlow Condensed,Inter,sans-serif!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:-.025em!important;
}
.card,.metric,.result-card,.record-card,.track-record,.private-panel,.auth-card,.empty-state,.error-state{
  background:linear-gradient(180deg,#0c1118,#090d13)!important;
  border:1px solid #202936!important;
  border-radius:3px!important;
  box-shadow:none!important;
}
.card,.private-panel,.auth-card{position:relative}
.card:before,.private-panel:before,.auth-card:before{
  content:"";position:absolute;left:0;top:0;width:46px;height:2px;background:var(--red);opacity:.9;
}
.card-title h2{font-family:Barlow Condensed,Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.card-title small,.metric small,.record-card small,.hero-chip small{color:#6f7b89!important}
.card-title a,.back-link{color:var(--cyan)!important}
.metric strong{color:#fff}
.metric span,.muted{color:#7f8997!important}

/* Home */
.hero{
  min-height:390px!important;
  padding:52px!important;
  background:
    linear-gradient(90deg,rgba(255,43,69,.10),transparent 42%),
    linear-gradient(135deg,#0c1118 0%,#080c12 70%)!important;
  border:1px solid #202936!important;
  border-left:4px solid var(--red)!important;
  border-radius:4px!important;
}
.hero:before{
  content:"LIVE CHAMPIONSHIP";position:absolute;right:30px;bottom:22px;
  color:rgba(53,215,255,.12);font:900 12px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.32em;
}
.hero:after{color:rgba(255,255,255,.025)!important;font-family:Barlow Condensed,Inter,sans-serif!important;letter-spacing:.02em!important;right:20px!important;font-style:normal!important}
.hero h1{font-size:clamp(48px,7vw,84px)!important;line-height:.85!important}
.hero p{max-width:620px;color:#97a1ae!important}
.hero-chip{background:#080c12!important;border:1px solid #202936!important;border-left:2px solid var(--cyan)!important;border-radius:2px!important}
.hero-chip b{font-family:Barlow Condensed,Inter,sans-serif;text-transform:uppercase}
.hero-chip a{color:#fff!important;text-decoration:none}
.next-race{background:linear-gradient(120deg,#0d121a,#090d13)!important;border-left:3px solid var(--red)!important}
.status{border-radius:2px!important;background:transparent!important}
.status.open{color:var(--green)!important;border-color:rgba(84,230,164,.35)!important}
.status.done{color:var(--cyan)!important;border-color:rgba(53,215,255,.30)!important}
.status.full{color:var(--red2)!important;border-color:rgba(255,90,112,.35)!important}
.status.upcoming{color:#a0a9b4!important;border-color:#35404d!important}
.table-wrap,table{border-color:#202936!important;background:#090d13!important}
th{background:#070a0f!important;border-color:#202936!important;color:#718090!important}
td{border-color:#171f29!important}tbody tr:hover{background:#0e141d!important}
.points,.pos{font-family:Barlow Condensed,Inter,sans-serif}

/* Page headers */
.page-head{border-color:#202936!important}
.page-head:before{content:"";display:block;width:54px;height:3px;background:var(--red);margin-bottom:14px}
.season-badge{border-color:#2a3543!important;color:var(--cyan)!important;background:#090d13!important}

/* Calendar — complete visual rebuild */
.calendar-hero{
  position:relative!important;overflow:hidden!important;
  background:linear-gradient(120deg,#0b1017 0%,#080c12 72%)!important;
  border:1px solid #202936!important;
  border-left:4px solid var(--red)!important;
  padding:42px 46px!important;
  border-radius:4px!important;
}
.calendar-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 0 66%,rgba(53,215,255,.035) 66% 67%,transparent 67% 71%,rgba(255,43,69,.035) 71% 71.5%,transparent 71.5%);
}
.calendar-hero>*{position:relative;z-index:1}
.calendar-hero h1{font-size:clamp(44px,6vw,76px)!important;line-height:.88!important;margin:8px 0 14px!important;color:#fff!important}
.calendar-hero h1 span{color:var(--red)!important}
.calendar-hero p{color:#8f9aa8!important;max-width:650px!important}
.calendar-summary{gap:10px!important}
.calendar-summary>div{
  background:#070b10!important;border:1px solid #202936!important;border-top:2px solid var(--cyan)!important;
  border-radius:2px!important;padding:16px!important;
}
.calendar-summary small{color:#697686!important}
.calendar-summary b{color:#fff!important;font-family:Barlow Condensed,Inter,sans-serif!important;font-size:25px!important}
.calendar-summary span{color:#8995a4!important}
.season-progress{background:#151d27!important;height:3px!important}
.season-progress i{background:linear-gradient(90deg,var(--red),var(--cyan))!important;box-shadow:none!important}

.calendar-feature{
  margin-top:18px!important;
  background:linear-gradient(135deg,#0d131b,#080c12)!important;
  border:1px solid #26303d!important;
  border-top:3px solid var(--red)!important;
  border-radius:4px!important;
  box-shadow:0 16px 44px rgba(0,0,0,.18)!important;
  overflow:hidden!important;
}
.calendar-feature:before{display:none!important}
.calendar-feature-main{padding:28px 30px!important}
.calendar-feature-track{margin:15px 0 22px!important}
.calendar-feature-track h2{font:900 39px/1 Barlow Condensed,Inter,sans-serif!important;text-transform:uppercase;color:#fff!important}
.calendar-feature-track p{color:#8995a4!important}
.calendar-feature-track .flag{width:36px!important;height:25px!important}
.feature-meta{border-top:1px solid #202936!important;border-bottom:1px solid #202936!important}
.feature-meta>div{border-color:#202936!important;background:#090d13!important}
.feature-meta small{color:#657283!important}
.feature-meta b{color:#fff!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.feature-action{margin-top:18px!important}
.calendar-feature-clock{
  background:#070a0f!important;border-left:1px solid #202936!important;padding:28px!important;
  position:relative!important;
}
.calendar-feature-clock:before{content:"TIMING";position:absolute;right:18px;top:16px;color:rgba(53,215,255,.15);font:900 10px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.24em}
.calendar-feature-clock>small{color:#6d7a89!important}
.feature-countdown{gap:6px!important}
.feature-countdown>div{background:#0b1118!important;border:1px solid #202936!important;border-top:2px solid var(--cyan)!important;border-radius:2px!important}
.feature-countdown b{color:#fff!important;text-shadow:none!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.feature-countdown span{color:#6e7b8a!important}
.live-dot{color:var(--green)!important}
.live-dot:before{background:var(--green)!important;box-shadow:0 0 12px rgba(84,230,164,.65)!important}

.calendar-section-head{border-bottom:1px solid #202936!important;padding-bottom:10px!important}
.calendar-section-head h2{font:900 30px/1 Barlow Condensed,Inter,sans-serif!important;text-transform:uppercase}
.calendar-section-head>span{color:#657283!important}
.calendar-grid{gap:12px!important}
.calendar-card{
  background:#090d13!important;
  border:1px solid #202936!important;
  border-top:2px solid #344150!important;
  border-radius:3px!important;
  box-shadow:none!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.calendar-card:before{display:none!important}
.calendar-card:hover{transform:translateY(-3px)!important;border-color:#354353!important;background:#0b1118!important;box-shadow:0 12px 30px rgba(0,0,0,.24)!important}
.calendar-card.is-next{border-top-color:var(--red)!important;box-shadow:inset 0 1px 0 rgba(255,43,69,.08)!important}
.calendar-card.is-complete{border-top-color:var(--cyan)!important;opacity:.92!important}
.calendar-card-top{border-color:#1c2530!important;color:#657283!important;background:#070a0f!important}
.calendar-card-top b{color:var(--red)!important}
.calendar-card.is-complete .calendar-card-top b{color:var(--cyan)!important}
.calendar-track{padding:18px 15px 12px!important}
.calendar-track h3{font:900 22px/1 Barlow Condensed,Inter,sans-serif!important;color:#fff!important}
.calendar-track p{color:#7f8a98!important}
.calendar-grid-strip,.calendar-result-strip{border-color:#202936!important;background:#080c12!important}
.calendar-grid-strip>div,.calendar-result-strip>div{border-color:#202936!important}
.calendar-grid-strip small,.calendar-result-strip small{color:#647181!important}
.calendar-grid-strip b{color:#eef2f7!important}
.calendar-result-strip b{color:var(--cyan)!important}
.mini-countdown{border-top:1px solid #1c2530!important}
.mini-countdown>div{background:transparent!important;border:0!important}
.mini-countdown b{color:#fff!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.mini-countdown small{color:#667382!important}
.calendar-card-action{border-top:1px solid #171f29!important;background:#080b10!important}

/* Buttons */
.cal-btn{
  clip-path:none!important;border-radius:2px!important;
  font-family:Barlow Condensed,Inter,sans-serif!important;
  font-size:11px!important;font-weight:900!important;letter-spacing:.13em!important;
  min-height:38px!important;
  transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease!important;
}
.cal-btn:hover{opacity:1!important;transform:translateY(-1px)}
.cal-btn.primary{background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important;box-shadow:0 0 0 0 rgba(255,43,69,0)!important}
.cal-btn.primary:hover{background:#ff4359!important;box-shadow:0 0 22px rgba(255,43,69,.18)!important}
.cal-btn.secondary{background:#0b1118!important;color:var(--cyan)!important;border:1px solid #2a4551!important}
.cal-btn.secondary:hover{border-color:var(--cyan)!important;background:rgba(53,215,255,.06)!important}
.cal-btn.ghost{background:transparent!important;color:#b7c0cb!important;border:1px solid #34404d!important}
.cal-btn.danger{background:rgba(255,43,69,.045)!important;color:#ff8292!important;border:1px solid rgba(255,43,69,.30)!important}
.cal-btn.stripe{background:#635bff!important;border:1px solid #756eff!important;color:#fff!important;box-shadow:none!important}
.cal-btn.stripe:hover{background:#746dff!important;box-shadow:0 0 22px rgba(99,91,255,.20)!important}
.cal-action-state{border-radius:2px!important}
.cal-action-state.confirmed{color:var(--green)!important}
.cal-action-state.full,.cal-action-state.low{color:var(--red2)!important}
.cal-action-state.pending{color:var(--cyan2)!important;border-color:rgba(53,215,255,.30)!important;background:rgba(53,215,255,.04)!important}
.cal-action-state.muted{color:#6e7987!important}

/* Account / Driver Hub */
.account-hero{
  background:linear-gradient(120deg,#0c1118,#080c12)!important;
  border:1px solid #202936!important;
  border-left:4px solid var(--red)!important;
  border-radius:4px!important;
  padding:42px 46px!important;
}
.account-hero:after{content:"DRIVER ACCESS";position:absolute;right:28px;bottom:20px;color:rgba(53,215,255,.10);font:900 11px/1 Barlow Condensed,Inter,sans-serif;letter-spacing:.28em}
.account-hero h1{font-size:clamp(42px,6vw,72px)!important;line-height:.9!important}
.account-hero h1 span{color:var(--red)!important}
.account-hero p{color:#8f9aa8!important}
.account-security,.wallet-board{
  background:#070b10!important;border:1px solid #202936!important;border-top:2px solid var(--cyan)!important;border-radius:2px!important;
}
.account-security.pending{border-top-color:var(--red2)!important}
.account-security small,.wallet-board small{color:#667585!important}
.account-security b,.wallet-board b{color:#fff!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.account-security span,.wallet-board span{color:#84909f!important}
.wallet-board b em{color:var(--cyan)!important}
.auth-grid{gap:12px!important}
.auth-card{padding:26px!important;border-top:2px solid var(--cyan)!important}
.auth-card:first-child{border-top-color:var(--red)!important}
.auth-card label{color:#a5afbb!important}
.auth-card input{
  background:#06090d!important;border:1px solid #27313e!important;color:#fff!important;border-radius:2px!important;
  font-family:Inter,sans-serif!important;
}
.auth-card input:focus{border-color:var(--cyan)!important;box-shadow:0 0 0 2px rgba(53,215,255,.08)!important}
.auth-fine{color:#788493!important}
.account-notice{background:#090e14!important;border:1px solid #263240!important;border-left:3px solid var(--cyan)!important}
.account-notice.good{color:#9df0c6!important;border-left-color:var(--green)!important}
.account-notice.bad{color:#ff94a2!important;border-left-color:var(--red)!important}
.account-metric{background:#090d13!important;border:1px solid #202936!important;border-top:2px solid #2c3948!important;border-radius:2px!important}
.account-metric small{color:#697686!important}
.account-metric b{color:#fff!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.account-metric span{color:#7b8795!important}
.private-tag{color:var(--cyan)!important;border-color:rgba(53,215,255,.28)!important;background:rgba(53,215,255,.035)!important}
.private-tag.good{color:var(--green)!important;border-color:rgba(84,230,164,.28)!important;background:rgba(84,230,164,.035)!important}
.hub-race,.hub-results>div,.wallet-history>div{border-color:#1d2631!important}
.hub-race-round,.hub-results b,.wallet-history>div b{color:var(--cyan)!important;font-family:Barlow Condensed,Inter,sans-serif!important}
.hub-race span,.hub-race small,.hub-results em{color:#7e8997!important}
.link-status{background:#070b10!important;border-color:#202936!important}
.link-status strong{color:#fff!important}
.link-status p{color:#8692a0!important}
.link-status>div{border-color:#1c2530!important}.link-status>div span{color:#687585!important}
.hub-achievements>div{background:#070b10!important;border-color:#202936!important}
.hub-achievements>div>span{color:var(--cyan)!important}
.hub-achievements small{color:#6e7a89!important}
.link-instructions>span{border-color:rgba(53,215,255,.35)!important;color:var(--cyan)!important;background:rgba(53,215,255,.035)!important}
.link-instructions p{color:#8c98a6!important}

/* Driver profiles / race center / charts */
.driver-hero{background:linear-gradient(120deg,#0d121a,#080c12)!important;border:1px solid #202936!important;border-left:4px solid var(--red)!important;border-radius:4px!important}
.driver-rank{border-color:#26323f!important;background:#070b10!important}
.driver-rank strong,.honour-total{color:var(--cyan)!important}
.season-pulse .metric{border-top:2px solid #263545!important}
.best-track{background:#070b10!important;border-color:#202936!important}
.chart-shell{background:#070b10!important;border-color:#202936!important}
.race-hero,.race-summary,.race-intel-hero{border-color:#202936!important;background:#090d13!important}

/* Stripe return */
.payment-return{
  border:1px solid #26313e!important;border-left:3px solid var(--cyan)!important;
  background:#090e14!important;color:#dce5ee!important;
  font-family:Barlow Condensed,Inter,sans-serif!important;
}
.payment-return.verified{border-left-color:var(--green)!important;color:#b8f6d7!important}
.payment-return.cancelled{border-left-color:var(--red)!important;color:#ff9aa8!important}

/* Footer */
.footer{border-color:#1b2430!important;color:#718090!important}
.footer b{color:#dce2e9!important}.footer span{color:#596675!important}

/* Mobile */
@media(max-width:1000px){
  .calendar-feature-clock{border-left:0!important;border-top:1px solid #202936!important}
}
@media(max-width:900px){
  .main-nav{background:#070b10!important;border-color:#202936!important}
  .hero,.calendar-hero,.account-hero{padding:30px 24px!important}
}
@media(max-width:560px){
  .calendar-hero h1,.account-hero h1{font-size:44px!important}
  .calendar-feature-track h2{font-size:30px!important}
  .hero h1{font-size:50px!important}
}
