:root{
  --bg:#15181b;
  --bg-deep:#080b0e;
  --bg-blue:#07131d;
  --surface:#1b1f22;
  --surface-2:#202529;
  --surface-3:#262c31;
  --surface-blue:#0b1822;
  --line:#30363b;
  --line-soft:#282e32;
  --text:#f4f7f8;
  --muted:#9da7ad;
  --muted-2:#6f7b82;
  --accent:#51cfff;
  --accent-soft:#a5e9ff;
  --accent-deep:#0a7da7;
  --success:#62dc91;
  --warning:#ffbd55;
  --danger:#ff6675;
  --radius-xl:26px;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow:0 22px 70px rgba(0,0,0,.26);
  --content:1240px;
  --wide:1480px;
  --header-h:68px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;text-rendering:optimizeLegibility}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
svg{width:1em;height:1em;flex:0 0 auto}
.is-hidden{display:none!important}

.site-header{position:sticky;top:0;z-index:100;background:rgba(7,10,13,.96);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:saturate(130%) blur(10px)}
.header-inner{height:var(--header-h);max-width:var(--wide);margin:auto;padding:0 24px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content;font-family:"Barlow Condensed",sans-serif;font-size:20px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.brand img{width:44px;height:44px;object-fit:contain}
.brand span{color:#d9e1e5}
.brand b{color:#fff;font-weight:900}
.desktop-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.desktop-nav a{position:relative;padding:10px 13px;border-radius:999px;color:#b8c1c6;font-size:12px;font-weight:700;transition:.18s ease}
.desktop-nav a:hover{color:#fff;background:#171c20}
.desktop-nav a.is-active{color:#fff;background:#20262a}
.desktop-nav a.is-active:after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;border-radius:999px;background:var(--accent)}
.header-actions{display:flex;align-items:center;gap:8px}
.menu-button{display:none;width:42px;height:42px;padding:11px;border:1px solid #293136;border-radius:12px;background:#161b1f;cursor:pointer}
.menu-button span{display:block;height:2px;margin:4px 0;border-radius:2px;background:#edf3f5}
.mobile-menu{display:none;padding:8px 14px 16px;background:#090d10;border-top:1px solid rgba(255,255,255,.06)}
.mobile-menu a{display:block;padding:13px 12px;border-radius:11px;color:#c3ccd0;font-size:14px;font-weight:700}
.mobile-menu a:hover{background:#171d21;color:#fff}

#app{min-height:72vh}
.page{max-width:var(--content);margin:0 auto;padding:48px 24px 82px}
.page-wide{max-width:var(--wide)}
.section{margin-top:58px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.section-head.centered{justify-content:center;text-align:center}
.section-title{margin:5px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:38px;font-weight:800;line-height:.95;letter-spacing:-.015em}
.section-copy{max-width:680px;margin:10px 0 0;color:var(--muted);font-size:14px}
.overline{display:inline-flex;align-items:center;gap:8px;color:var(--accent-soft);font-family:"Barlow Condensed",sans-serif;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.overline:before{content:"";width:20px;height:2px;border-radius:99px;background:var(--accent)}
.text-link{display:inline-flex;align-items:center;gap:6px;color:#d9e2e6;font-size:12px;font-weight:800}
.text-link svg{color:var(--accent)}

.button{min-height:42px;padding:10px 17px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:800;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}
.button:hover{transform:translateY(-1px)}
.button:disabled{opacity:.42;cursor:not-allowed;transform:none}
.button svg{font-size:16px}
.button-primary{background:var(--accent);color:#061017}
.button-primary:hover{background:#7bdcff}
.button-glass{background:rgba(18,24,28,.62);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px)}
.button-glass:hover{background:rgba(35,43,48,.82)}
.button-secondary{background:#293035;color:#f4f7f8}
.button-secondary:hover{background:#343c42}
.button-ghost{background:transparent;border:1px solid #343c42;color:#d8e0e4}
.button-ghost:hover{background:#20262a;border-color:#4b565e}
.button-danger{background:rgba(255,102,117,.12);border:1px solid rgba(255,102,117,.34);color:#ff9da7}
.button-success{background:rgba(98,220,145,.13);border:1px solid rgba(98,220,145,.32);color:#91efb4}
.button-warning{background:rgba(255,189,85,.12);border:1px solid rgba(255,189,85,.31);color:#ffd58e}
.button-small{min-height:36px;padding:8px 13px;font-size:11px}
.icon-button{width:40px;height:40px;padding:0;border:1px solid #333b40;border-radius:12px;background:#1d2327;color:#fff;font-size:22px;cursor:pointer}
.icon-button:hover{border-color:#4b565d;background:#272e33}
.circle-link{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071119;font-size:21px}
.circle-link:hover{background:#7bdcff}

.status-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid transparent;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.status-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
.status-live{background:rgba(81,207,255,.14);border-color:rgba(81,207,255,.28);color:#73d9ff}
.status-live i{box-shadow:0 0 0 5px rgba(81,207,255,.1)}
.status-finished{background:rgba(98,220,145,.1);border-color:rgba(98,220,145,.22);color:#91eeb2}
.status-scheduled{background:rgba(255,189,85,.1);border-color:rgba(255,189,85,.22);color:#ffd188}
.status-draft{background:#282e32;border-color:#3a4247;color:#a9b2b7}

.home-hero{position:relative;min-height:610px;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(81,207,255,.18),transparent 26%),linear-gradient(125deg,#091722,#080b0e 62%)}
.home-hero-media,.home-hero-overlay{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero-overlay{background:linear-gradient(90deg,rgba(5,8,11,.96) 0%,rgba(5,8,11,.78) 40%,rgba(5,8,11,.16) 76%),linear-gradient(0deg,#101417 0%,transparent 32%)}
.home-hero-inner{position:relative;z-index:2;max-width:var(--content);min-height:610px;margin:auto;padding:74px 24px 58px;display:flex;align-items:center;justify-content:space-between;gap:42px}
.home-hero-copy{max-width:670px}
.hero-kicker{display:flex;align-items:center;gap:12px;color:#d7e0e4;font-family:"Barlow Condensed",sans-serif;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.home-hero h1{max-width:760px;margin:18px 0 20px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(62px,8vw,108px);font-weight:900;line-height:.83;letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance}
.home-hero-copy>p{max-width:560px;margin:0;color:#c1cace;font-size:16px}
.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}
.hero-facts{align-self:flex-end;width:240px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:rgba(8,12,15,.75);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.hero-facts>div:first-child>span{color:#aeb8bd;font-size:11px;text-transform:uppercase;font-weight:800}
.hero-facts>div:first-child>strong{display:block;margin:8px 0 10px;font-family:"Barlow Condensed",sans-serif;font-size:42px;line-height:1}
.progress{height:5px;border-radius:999px;background:#30383d;overflow:hidden}
.progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.hero-fact-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.hero-fact-row>span{font-family:"Barlow Condensed",sans-serif;font-size:30px;font-weight:800}
.hero-fact-row small{display:block;color:#8e9aa1;font-family:Inter,sans-serif;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.home-page{padding-top:34px}

.next-event-card{position:relative;min-height:300px;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-blue);border:1px solid #253641;box-shadow:var(--shadow)}
.next-event-media,.next-event-shade{position:absolute;inset:0}
.next-event-media img{width:100%;height:100%;object-fit:cover}
.next-event-shade{background:linear-gradient(90deg,rgba(5,12,17,.95),rgba(5,12,17,.58) 58%,rgba(5,12,17,.16)),linear-gradient(0deg,rgba(5,12,17,.52),transparent)}
.next-event-body{position:relative;z-index:2;min-height:300px;padding:36px 38px;display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.next-event-body h2{max-width:700px;margin:8px 0 10px;font-family:"Barlow Condensed",sans-serif;font-size:52px;font-weight:900;line-height:.92;text-transform:uppercase}
.next-event-body p{margin:0;color:#c3cdd1;font-size:13px}
.next-event-actions{display:flex;align-items:center;gap:12px}

.highlight-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.result-highlight{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.result-highlight.card-accent{background:linear-gradient(145deg,#0b1d29,#11191e)}
.result-highlight>header{min-height:86px;padding:19px 21px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line-soft)}
.result-highlight h3{margin:4px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:28px;line-height:1;font-weight:800}
.result-highlight header>a{display:inline-flex;align-items:center;gap:6px;color:#bcc7cc;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.result-highlight header>a svg{color:var(--accent)}
.mini-table{padding:8px}
.mini-row{position:relative;min-height:58px;padding:10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;border-radius:12px}
.mini-row:nth-child(odd){background:rgba(255,255,255,.025)}
.mini-row:hover{background:rgba(81,207,255,.055)}
.mini-pos{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#293036;color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:16px;font-weight:800}
.mini-row:first-child .mini-pos{background:var(--accent);color:#061017}
.mini-row strong{display:block;font-size:13px}
.mini-row small{display:block;margin-top:2px;color:#78858c;font-size:9px}
.mini-row>b{font-family:"Barlow Condensed",sans-serif;font-size:18px}
.mini-row em{min-width:70px;color:var(--accent-soft);font-size:10px;font-style:normal;text-align:right}
.mini-empty{padding:35px;text-align:center;color:var(--muted)}
.standings-mini .mini-row{grid-template-columns:38px minmax(0,1fr) auto}
.standings-mini .mini-row em{display:none}

.rally-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rally-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.rally-card:hover{transform:translateY(-4px);border-color:#45525a;box-shadow:0 18px 45px rgba(0,0,0,.22)}
.rally-card-media{position:relative;aspect-ratio:16/9;background:#0c1720;overflow:hidden}
.rally-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rally-card:hover .rally-card-media img{transform:scale(1.035)}
.media-pattern{position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(81,207,255,.22),transparent 26%),repeating-linear-gradient(135deg,transparent 0 13px,rgba(255,255,255,.025) 13px 14px),linear-gradient(135deg,#0a1b27,#11171b)}
.rally-card-status{position:absolute;top:14px;left:14px}
.rally-card-body{min-height:116px;padding:18px;display:grid;grid-template-columns:44px minmax(0,1fr) 32px;gap:13px;align-items:center}
.rally-number{color:#5d6a71;font-family:"Barlow Condensed",sans-serif;font-size:27px;font-weight:900}
.rally-card h3{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:27px;font-weight:800;line-height:1}
.rally-card p{margin:6px 0 2px;color:#a8b2b7;font-size:11px}
.rally-card small{color:#6f7b82;font-size:9px}
.card-arrow{display:grid;place-items:center;color:var(--accent);font-size:19px}

.live-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.7fr);gap:18px}
.broadcast-card,.feed-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.broadcast-poster,.broadcast-embed{aspect-ratio:16/9;display:grid;place-items:center;background-size:cover;background-position:center;position:relative}
.broadcast-poster:after{content:"";position:absolute;inset:0;background:rgba(5,8,10,.44)}
.broadcast-poster.no-image{background:radial-gradient(circle at 50% 20%,rgba(81,207,255,.17),transparent 34%),#0a141b}
.play-button{position:relative;z-index:2;min-width:145px;padding:14px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,12,15,.75);display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(9px)}
.play-button svg{width:20px;height:20px;color:var(--accent)}
.broadcast-embed iframe{width:100%;height:100%;border:0}
.broadcast-card>footer{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.broadcast-card footer strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:22px}
.broadcast-card footer small{display:block;color:#7f8b91;font-size:10px}
.feed-card>header{height:62px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-soft)}
.feed-card>header h3{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:23px}
.feed-card>header span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#293035;color:#aeb8bd;font-size:10px}
.feed-list{max-height:470px;overflow:auto;padding:4px 14px}
.feed-line{padding:15px 4px;display:grid;grid-template-columns:12px 1fr;gap:10px;border-bottom:1px solid var(--line-soft)}
.feed-line:last-child{border:0}
.feed-dot{width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(81,207,255,.08)}
.feed-line>div>div{display:flex;align-items:center;gap:8px}
.feed-line strong{font-size:12px}
.feed-line b{padding:3px 6px;border-radius:6px;background:#263039;color:var(--accent-soft);font-size:8px}
.feed-line p{margin:4px 0;color:#b6c0c5;font-size:11px}
.feed-line small{color:#66737a;font-size:9px}

.event-hero{position:relative;min-height:500px;overflow:hidden;background:#08131b}
.event-hero-media,.event-hero-shade{position:absolute;inset:0}
.event-hero-media img{width:100%;height:100%;object-fit:cover}
.event-hero-shade{background:linear-gradient(90deg,rgba(5,8,11,.94),rgba(5,8,11,.5) 58%,rgba(5,8,11,.12)),linear-gradient(0deg,#111518 0%,transparent 38%)}
.event-hero-inner{position:relative;z-index:2;max-width:var(--content);min-height:500px;margin:auto;padding:70px 24px 48px;display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.event-hero h1{max-width:800px;margin:9px 0 16px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(58px,8vw,96px);font-weight:900;line-height:.85;text-transform:uppercase}
.event-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.event-meta>span:not(.status-badge){min-height:31px;padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(9,13,16,.55);display:inline-flex;align-items:center;gap:6px;color:#d2dade;font-size:10px}
.event-meta svg{font-size:13px;color:var(--accent)}
.event-progress{min-width:150px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(8,12,15,.7);text-align:center;backdrop-filter:blur(8px)}
.event-progress b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:38px;line-height:1}
.event-progress span{display:block;margin-top:5px;color:#8c989e;font-size:9px;text-transform:uppercase}
.event-switcher{position:sticky;top:var(--header-h);z-index:50;background:#0a0e11;border-bottom:1px solid #252b2f}
.event-switcher>div{max-width:var(--content);margin:auto;padding:9px 24px;display:flex;gap:5px;overflow:auto;scrollbar-width:none}
.event-switcher a{padding:9px 13px;border-radius:999px;color:#8e9a9f;font-size:10px;font-weight:800;white-space:nowrap}
.event-switcher a:hover,.event-switcher a.is-active{background:#242a2e;color:#fff}
.event-switcher a.is-active{box-shadow:inset 0 0 0 1px rgba(81,207,255,.24)}
.stage-tabs{display:flex;gap:6px;padding:7px;border:1px solid var(--line-soft);border-radius:15px;background:#191d20;overflow:auto;scrollbar-width:none}
.stage-tabs button{min-width:66px;padding:10px 13px;border:0;border-radius:10px;background:transparent;color:#8f9a9f;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.stage-tabs button:hover{background:#252b2f;color:#fff}
.stage-tabs button.is-active{background:var(--accent);color:#061017}
.stage-tabs button i{margin-left:4px;color:inherit;font-size:7px;font-style:normal}
.timing-card{margin-top:14px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.timing-card>header{min-height:70px;padding:15px 19px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft)}
.timing-card>header strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.timing-card>header small{display:block;color:#77848a;font-size:9px}
.timing-card>header>span{color:#8c989e;font-size:10px}
.table-wrap{overflow:auto}
.timing-table{width:100%;min-width:690px;border-collapse:collapse}
.timing-table th{height:43px;padding:0 16px;background:#171b1e;color:#728087;font-size:9px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.06em}
.timing-table th.right{text-align:right}
.timing-table td{height:64px;padding:10px 16px;border-top:1px solid #282e32;color:#c9d1d5;font-size:11px}
.timing-table tr:hover td{background:rgba(81,207,255,.025)}
.timing-table .position{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#2a3035;color:#fff;font-family:"Barlow Condensed",sans-serif;font-size:17px;font-weight:800}
.timing-table tr.is-top-1 .position{background:var(--accent);color:#061017}
.timing-table .driver-cell strong{display:block;color:#f4f7f8;font-size:12px}
.timing-table .driver-cell span{display:block;margin-top:2px;color:#6e7a80;font-size:8px}
.timing-table .time-cell,.timing-table .diff-cell{text-align:right;font-family:"Barlow Condensed",sans-serif;font-size:16px;font-weight:700}
.timing-table .diff-cell{color:var(--accent-soft);font-size:13px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.news-card{padding:19px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface)}
.news-card>span{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}
.news-card h3{margin:9px 0 6px;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.news-card p{margin:0;color:#aab4b9;font-size:11px}
.news-card small{display:block;margin-top:13px;color:#68757b;font-size:9px}

.standings-hero{position:relative;min-height:390px;overflow:hidden;background:radial-gradient(circle at 75% 20%,rgba(81,207,255,.17),transparent 28%),#09131b}
.standings-hero-media,.standings-hero-shade{position:absolute;inset:0}
.standings-hero-media img{width:100%;height:100%;object-fit:cover}
.standings-hero-shade{background:linear-gradient(90deg,rgba(6,9,12,.96),rgba(6,9,12,.63) 56%,rgba(6,9,12,.18)),linear-gradient(0deg,#111518 0%,transparent 35%)}
.standings-hero-inner{position:relative;z-index:2;max-width:var(--content);min-height:390px;margin:auto;padding:68px 24px 50px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.standings-hero h1{margin:8px 0 8px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(54px,7vw,84px);font-weight:900;line-height:.88;text-transform:uppercase}
.standings-hero p{margin:0;color:#c1cace;font-size:12px}
.hero-select{min-width:300px;margin-top:18px;padding:11px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(15,20,24,.75);color:#fff;font-size:11px;outline:none}
.podium{max-width:920px;margin:34px auto 0;display:grid;grid-template-columns:1fr 1.08fr 1fr;align-items:end;gap:15px}
.podium-slot{position:relative;min-height:245px;padding:25px 20px 22px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:linear-gradient(145deg,#202529,#171b1e);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}
.podium-slot:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 48%);pointer-events:none}
.podium-1{min-height:295px;border-color:rgba(81,207,255,.4);background:linear-gradient(145deg,#122733,#171d21);box-shadow:0 20px 60px rgba(0,0,0,.24)}
.podium-medal{position:absolute;top:14px;right:15px;color:#5e6a70;font-family:"Barlow Condensed",sans-serif;font-size:25px;font-weight:900}
.podium-1 .podium-medal{color:var(--accent)}
.podium-avatar{width:74px;height:74px;margin-top:10px;border:1px solid #3b454b;border-radius:50%;display:grid;place-items:center;background:#2a3136;font-family:"Barlow Condensed",sans-serif;font-size:34px;font-weight:900}
.podium-1 .podium-avatar{width:88px;height:88px;border-color:rgba(81,207,255,.48);background:#163142;color:var(--accent-soft)}
.podium-slot h3{margin:16px 0 9px;font-family:"Barlow Condensed",sans-serif;font-size:27px;line-height:1;font-weight:800}
.podium-slot>strong{font-family:"Barlow Condensed",sans-serif;font-size:32px;line-height:1}
.podium-slot>strong small{font-size:11px;color:#7b888e}
.podium-slot>span{margin-top:8px;color:#76838a;font-size:9px;text-transform:uppercase}
.podium-slot.is-empty{visibility:hidden}
.standings-summary{display:flex;gap:8px;flex-wrap:wrap}
.standings-summary span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:#9aa6ac;font-size:10px}
.standings-summary b{color:#fff}
.season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.season-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.season-card>header{padding:18px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line-soft)}
.season-card header span{color:var(--accent);font-size:9px;font-weight:800}
.season-card header h3{margin:3px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.season-card header>b{padding:5px 8px;border-radius:999px;background:#263039;color:#a9b6bc;font-size:8px}
.season-podium{padding:8px}
.season-podium>div{min-height:54px;padding:10px 11px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:11px}
.season-podium>div:nth-child(odd){background:rgba(255,255,255,.025)}
.season-podium span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#2a3136;font-family:"Barlow Condensed",sans-serif;font-weight:800}
.season-podium>div:first-child span{background:var(--accent);color:#061017}
.season-podium strong{font-size:12px}
.season-podium b{color:#dfe6e9;font-family:"Barlow Condensed",sans-serif;font-size:16px}

.calendar-hero{background:radial-gradient(circle at 80% 15%,rgba(81,207,255,.2),transparent 24%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.015) 18px 19px),linear-gradient(130deg,#091823,#080b0e);border-bottom:1px solid #20282d}
.calendar-hero .page{min-height:310px;padding-top:68px;padding-bottom:52px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.calendar-hero h1{max-width:900px;margin:10px 0 12px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(50px,7vw,82px);font-weight:900;line-height:.87;text-transform:uppercase}
.calendar-hero p{max-width:650px;margin:0;color:#aeb8bd;font-size:13px}
.calendar-hero .button{margin-top:20px}
.calendar-toolbar{min-height:68px;padding:0 4px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.calendar-toolbar>div{display:flex;gap:7px;align-items:center}
.calendar-toolbar h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:31px;text-transform:capitalize}
.calendar-toolbar>span{justify-self:end;color:#7f8b91;font-size:10px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.calendar-board,.calendar-detail{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}
.calendar-weekdays{height:44px;display:grid;grid-template-columns:repeat(7,1fr);align-items:center;border-bottom:1px solid var(--line-soft);background:#171b1e}
.calendar-weekdays span{text-align:center;color:#718087;font-size:9px;font-weight:800;text-transform:uppercase}
.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-day{min-height:112px;padding:10px;border:0;border-right:1px solid #282e32;border-bottom:1px solid #282e32;background:transparent;color:#fff;text-align:left;cursor:pointer;overflow:hidden}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day:hover{background:rgba(81,207,255,.035)}
.calendar-day.is-outside{opacity:.32}
.calendar-day>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#b8c2c7;font-size:11px;font-weight:700}
.calendar-day.is-today>span{background:var(--accent);color:#061017;font-weight:900}
.calendar-day>div{display:grid;gap:4px;margin-top:5px}
.calendar-day i{padding:5px 6px;border-left:2px solid var(--accent);border-radius:4px;background:#243039;color:#d5dfe3;font-size:7px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-day small{color:#7b898f;font-size:7px}
.calendar-detail{padding:24px;align-self:start;position:sticky;top:calc(var(--header-h) + 20px)}
.calendar-detail-date{margin-top:24px;display:flex;align-items:flex-end;gap:10px}
.calendar-detail-date b{font-family:"Barlow Condensed",sans-serif;font-size:68px;line-height:.75;color:var(--accent)}
.calendar-detail-date span{color:#a8b3b8;font-size:11px;text-transform:capitalize}
.calendar-detail h2{margin:22px 0 12px;font-family:"Barlow Condensed",sans-serif;font-size:36px;line-height:.95}
.detail-meta{display:grid;gap:9px}
.detail-meta span{display:flex;align-items:center;gap:8px;color:#a3aeb3;font-size:10px}
.detail-meta svg{font-size:14px;color:var(--accent)}
.calendar-detail>p{margin:18px 0 0;padding-top:17px;border-top:1px solid var(--line-soft);color:#9ca8ad;font-size:11px}
.calendar-detail-action{margin-top:22px}
.registered-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(98,220,145,.28);border-radius:999px;background:rgba(98,220,145,.1);color:#92eeb3;font-size:10px;font-weight:800}
.agenda-list{display:grid;gap:10px}
.agenda-card{min-height:112px;padding:15px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:16px;align-items:center;cursor:pointer;transition:border-color .16s ease,background .16s ease}
.agenda-card:hover{border-color:#455159;background:#202529}
.agenda-date{padding-right:15px;border-right:1px solid var(--line-soft);text-align:center}
.agenda-date b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:36px;line-height:1}
.agenda-date span{display:block;color:var(--accent);font-size:9px;text-transform:uppercase}
.agenda-tags{display:flex;gap:5px;flex-wrap:wrap}
.agenda-tags span{padding:4px 6px;border-radius:6px;background:#273037;color:#91a0a7;font-size:7px;font-weight:800;text-transform:uppercase}
.agenda-main h3{margin:7px 0 4px;font-family:"Barlow Condensed",sans-serif;font-size:25px;line-height:1}
.agenda-main p{margin:0;color:#9aa6ac;font-size:10px}
.agenda-main small{display:block;margin-top:5px;color:#68757b;font-size:8px}

.shop-hero,.account-hero{background:radial-gradient(circle at 77% 20%,rgba(81,207,255,.18),transparent 25%),linear-gradient(130deg,#0a1a25,#080b0e);border-bottom:1px solid #20272b}
.shop-hero .page,.account-hero .page{min-height:300px;padding-top:65px;padding-bottom:50px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.shop-hero h1,.account-hero h1{margin:10px 0 12px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(54px,7vw,86px);font-weight:900;line-height:.86;text-transform:uppercase}
.shop-hero p,.account-hero p{max-width:650px;margin:0;color:#aeb8bd;font-size:13px}
.pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pass-card{position:relative;border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface);overflow:hidden}
.pass-card.is-featured{border-color:rgba(81,207,255,.36);box-shadow:0 20px 60px rgba(0,0,0,.2)}
.pass-label{position:absolute;z-index:2;top:15px;right:15px;padding:6px 9px;border-radius:999px;background:var(--accent);color:#061017;font-size:8px;font-weight:900;text-transform:uppercase}
.pass-image{aspect-ratio:16/8;background:#0b151c;overflow:hidden}
.pass-image img{width:100%;height:100%;object-fit:cover}
.pass-content{padding:26px}
.pass-content>span{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}
.pass-content h2{margin:7px 0 0;font-family:"Barlow Condensed",sans-serif;font-size:35px;line-height:1}
.pass-content>strong{display:block;margin:18px 0 8px;font-family:"Barlow Condensed",sans-serif;font-size:58px;line-height:.8}
.pass-content p{max-width:430px;color:#96a2a8;font-size:11px}
.pass-content .button{margin-top:13px}
.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.account-stats>div{min-height:120px;padding:20px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface)}
.account-stats span{display:block;color:#7c898f;font-size:9px;font-weight:800;text-transform:uppercase}
.account-stats strong{display:block;margin-top:13px;font-family:"Barlow Condensed",sans-serif;font-size:38px;line-height:1}
.account-stats strong.small-value{font-size:18px;line-height:1.2;word-break:break-word}
.profile-card{padding:24px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px}
.profile-card h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:32px}
.profile-card>div>p{margin:7px 0 0;color:#829097;font-size:11px}

.auth-page{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:1fr 1fr;background:#0a0d0f}
.auth-visual{padding:60px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 50% 30%,rgba(81,207,255,.18),transparent 28%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.018) 18px 19px),#08131b}
.auth-visual img{width:150px}
.auth-visual h1{margin:25px 0 4px;font-family:"Barlow Condensed",sans-serif;font-size:70px;line-height:.9;text-transform:uppercase}
.auth-visual p{color:#9aa6ac}
.auth-card{width:min(560px,calc(100% - 40px));margin:auto;padding:34px;border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface)}
.auth-card h1{margin:12px 0 8px;font-family:"Barlow Condensed",sans-serif;font-size:48px;line-height:.9}
.auth-card>p{margin:0 0 24px;color:#8f9ba1;font-size:12px}
.auth-reset-row{display:flex;justify-content:flex-end;margin-top:-4px}
.auth-reset-button{padding:2px 0;border:0;background:transparent;color:var(--accent-soft);font-size:12px;font-weight:800;cursor:pointer}
.auth-reset-button:hover{text-decoration:underline;color:#fff}
.auth-reset-button:disabled{opacity:.45;cursor:not-allowed}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-full{grid-column:1/-1}
.field{display:grid;gap:7px}
.field label{color:#aab4b9;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.input,.select,.textarea{width:100%;min-height:44px;padding:11px 12px;border:1px solid #383f44;border-radius:11px;background:#161a1d;color:#edf3f5;outline:none;font-size:12px;transition:border-color .15s ease,box-shadow .15s ease}
.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(81,207,255,.09)}
.textarea{min-height:105px;resize:vertical}
.help{color:#6f7c82;font-size:9px}
.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:7px;padding-top:16px;border-top:1px solid var(--line-soft)}
.modal-copy{margin:0;color:#aab5ba;font-size:13px}

.empty{min-height:180px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.empty-icon{width:52px;height:52px;border:1px solid #343c41;border-radius:16px;display:grid;place-items:center;background:#22282c;color:var(--accent);font-family:"Barlow Condensed",sans-serif;font-size:23px;font-weight:800}
.empty h3{margin:15px 0 6px;font-family:"Barlow Condensed",sans-serif;font-size:27px}
.empty p{max-width:430px;margin:0;color:#7e8a90;font-size:11px}
.empty-action{margin-top:18px}
.skeleton{min-height:180px;border-radius:var(--radius-lg);background:linear-gradient(90deg,#1b2023 25%,#262c30 37%,#1b2023 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite}
.skeleton-hero{min-height:380px}
@keyframes skeleton{0%{background-position:100% 0}100%{background-position:0 0}}

/* Admin base layout */
.admin-shell{max-width:var(--wide);margin:auto;padding:24px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px}
.admin-sidebar{position:sticky;top:calc(var(--header-h) + 20px);height:fit-content;padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#111518}
.admin-sidebar-head{padding:12px 12px 17px;border-bottom:1px solid var(--line-soft)}
.admin-sidebar-head strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.admin-sidebar-head span{display:block;color:#718087;font-size:9px}
.admin-nav{display:grid;gap:3px;margin-top:10px}
.admin-nav button{min-height:43px;padding:0 12px;border:0;border-radius:10px;background:transparent;display:flex;align-items:center;gap:10px;color:#8f9bA1;font-size:11px;font-weight:800;text-align:left;cursor:pointer}
.admin-nav button svg{width:17px;height:17px}
.admin-nav button:hover{background:#1d2327;color:#fff}
.admin-nav button.is-active{background:#22303a;color:#fff;box-shadow:inset 3px 0 var(--accent)}
.admin-content{min-width:0}
.admin-header{min-height:85px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.admin-title{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:44px;font-weight:900;line-height:.92}
.admin-subtitle{max-width:660px;margin:9px 0 0;color:#839097;font-size:11px}
.admin-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.admin-kpi{min-height:115px;padding:17px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface)}
.admin-kpi span{color:#77848a;font-size:8px;font-weight:800;text-transform:uppercase}
.admin-kpi strong{display:block;margin-top:10px;font-family:"Barlow Condensed",sans-serif;font-size:40px;line-height:1}
.admin-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-quick{min-height:150px;padding:20px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:.16s ease}
.admin-quick:hover{border-color:#46535b;background:#202529;transform:translateY(-2px)}
.admin-quick .quick-icon{width:42px;height:42px;border-radius:12px;background:#26333b;display:grid;place-items:center;color:var(--accent);font-size:20px}
.admin-quick h3{margin:14px 0 5px;font-family:"Barlow Condensed",sans-serif;font-size:25px}
.admin-quick p{margin:0;color:#78858b;font-size:9px}
.admin-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}
.admin-card-head{min-height:70px;padding:14px 17px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;gap:14px}
.admin-card-head h3{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:25px}
.admin-card-head p{margin:3px 0 0;color:#77848a;font-size:9px}
.admin-list{display:grid;gap:10px}
.admin-event{padding:17px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface)}
.admin-event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.admin-event h3{margin:8px 0 4px;font-family:"Barlow Condensed",sans-serif;font-size:28px;line-height:1}
.admin-event p{margin:0;color:#7e8b91;font-size:9px}
.admin-event-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.admin-rallies{display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.admin-rally{min-height:58px;padding:10px 11px;border-radius:10px;background:#171b1e;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}
.admin-rally strong{display:block;font-size:11px}
.admin-rally small{display:block;color:#6f7b81;font-size:8px}
.admin-live-banner{padding:20px;border:1px solid rgba(81,207,255,.25);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0c1c26,#171c20);display:flex;justify-content:space-between;align-items:center;gap:20px}
.admin-live-banner h2{margin:8px 0 5px;font-family:"Barlow Condensed",sans-serif;font-size:34px}
.admin-live-banner p{margin:0;color:#849198;font-size:10px}
.admin-workflow{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}
.workflow-side,.workflow-main{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface)}
.workflow-side{padding:14px;align-self:start;position:sticky;top:calc(var(--header-h) + 20px)}
.workflow-step{padding:13px;border-radius:10px;background:#171b1e;margin-bottom:8px}
.workflow-step:last-child{margin-bottom:0}
.workflow-step>span{display:block;color:var(--accent);font-size:8px;font-weight:900;text-transform:uppercase}
.workflow-step label{display:block;margin:7px 0 5px;color:#aab5ba;font-size:9px;font-weight:800}
.workflow-main{overflow:hidden}
.workflow-main-head{padding:17px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.workflow-main-head h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:31px}
.workflow-main-head p{margin:5px 0 0;color:#78858b;font-size:9px}
.workflow-body{padding:17px}
.stage-button-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.stage-button-grid button{min-height:38px;border:1px solid #343c41;border-radius:9px;background:#171b1e;color:#89959b;font-size:9px;font-weight:800;cursor:pointer}
.stage-button-grid button.is-active{border-color:var(--accent);background:var(--accent);color:#061017}
.status-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.status-control-grid .button{width:100%}
.upload-zone{padding:22px;border:1px dashed #465159;border-radius:14px;background:#171b1e;text-align:center}
.upload-zone h3{margin:0 0 5px;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.upload-zone p{margin:0 0 13px;color:#78858b;font-size:9px}
.upload-zone input{max-width:100%}
.manual-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;margin-top:12px}
.admin-preview{margin-top:14px;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}
.admin-preview>header{padding:12px 14px;background:#171b1e;color:#a4afb4;font-size:10px;font-weight:800}
.rally-editor-list{display:grid;gap:10px;margin-top:13px}
.rally-editor{padding:14px;border:1px solid var(--line-soft);border-radius:12px;background:#181d20}
.rally-editor-head{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rally-editor-head strong{font-family:"Barlow Condensed",sans-serif;font-size:22px}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:11px 13px;border-bottom:1px solid var(--line-soft);font-size:10px;text-align:left}
.admin-table th{background:#171b1e;color:#758187;font-size:8px;text-transform:uppercase}

.modal-root:empty{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:300;padding:20px;background:rgba(0,0,0,.8);display:grid;place-items:center}
.modal{width:min(880px,100%);max-height:min(900px,calc(100vh - 40px));border:1px solid #3a4348;border-radius:var(--radius-xl);background:#1e2327;box-shadow:0 34px 100px rgba(0,0,0,.58);overflow:auto}
.modal-small{width:min(520px,100%)}
.modal-wide{width:min(1120px,100%)}
.modal-head{position:sticky;top:0;z-index:2;min-height:66px;padding:15px 19px;border-bottom:1px solid var(--line-soft);background:#1e2327;display:flex;justify-content:space-between;align-items:center;gap:12px}
.modal-head h2{margin:0;font-family:"Barlow Condensed",sans-serif;font-size:29px}
.modal-close{width:38px;height:38px;border:0;border-radius:11px;background:#30373c;color:#fff;font-size:20px;cursor:pointer}
.modal-body{padding:20px}

.toast-stack{position:fixed;z-index:500;right:18px;bottom:18px;width:min(380px,calc(100vw - 36px));display:grid;gap:9px}
.toast{padding:13px 15px;border:1px solid #3a4348;border-left:4px solid var(--accent);border-radius:13px;background:#23292d;box-shadow:var(--shadow);animation:toast-in .2s ease}
.toast strong{display:block;font-size:12px}
.toast span{display:block;margin-top:3px;color:#8d999f;font-size:10px}
.toast.is-error{border-left-color:var(--danger)}
.toast.is-success{border-left-color:var(--success)}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}

.site-footer{padding:48px 24px 96px;background:#071019;border-top:1px solid rgba(255,255,255,.06)}
.footer-inner{max-width:var(--content);margin:auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:56px}
.footer-brand strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:24px}
.footer-brand span{display:block;color:#75838a;font-size:9px}
.footer-links{display:flex;gap:18px;color:#a7b2b7;font-size:10px;font-weight:700}
.footer-inner small{grid-column:1/-1;padding-top:17px;border-top:1px solid #1c2931;color:#5f6d74;font-size:8px}
.mobile-dock{display:none}

@media(max-width:1050px){
  .desktop-nav{display:none}.menu-button{display:block}.mobile-menu.is-open{display:block}
  .home-hero-inner{align-items:flex-end}.hero-facts{display:none}
  .rally-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .highlight-grid{grid-template-columns:1fr}.live-layout{grid-template-columns:1fr}
  .calendar-layout{grid-template-columns:1fr}.calendar-detail{position:static}
  .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;overflow:auto}.admin-sidebar-head{display:none}.admin-nav{display:flex;min-width:max-content;margin:0}.admin-nav button{white-space:nowrap}
  .admin-workflow{grid-template-columns:1fr}.workflow-side{position:static}.workflow-side .workflow-step{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px}.workflow-side .workflow-step label{display:none}.status-control-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  :root{--header-h:58px;--radius-xl:20px;--radius-lg:16px}
  body{padding-bottom:70px}
  .header-inner{height:58px;padding:0 12px;gap:9px}.brand img{width:38px;height:38px}.brand span{font-size:17px}.header-actions .button{display:none}.menu-button{width:39px;height:39px}
  .page{padding:32px 13px 52px}.section{margin-top:42px}.section-head{align-items:flex-start;margin-bottom:17px}.section-title{font-size:32px}.text-link{font-size:9px}
  .home-hero{min-height:510px}.home-hero-inner{min-height:510px;padding:58px 14px 36px;align-items:flex-end}.home-hero-overlay{background:linear-gradient(0deg,#101417 0%,rgba(5,8,11,.65) 65%,rgba(5,8,11,.3))}.home-hero h1{font-size:56px}.home-hero-copy>p{font-size:13px}.hero-kicker>span{display:none}.hero-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-buttons .button{padding:10px 12px;font-size:10px}
  .home-page{padding-top:14px}.next-event-card{min-height:270px}.next-event-body{min-height:270px;padding:23px 20px;align-items:flex-end}.next-event-body h2{font-size:39px}.next-event-actions .status-badge{display:none}.circle-link{width:44px;height:44px}
  .result-highlight>header{padding:15px}.result-highlight header>a{font-size:8px}.mini-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px}.mini-row em{grid-column:3;font-size:8px}.mini-row>b{font-size:16px}
  .rally-card-grid,.news-grid,.season-grid,.pass-grid,.account-stats{grid-template-columns:1fr}.rally-card-body{grid-template-columns:38px minmax(0,1fr) 28px}.rally-card h3{font-size:25px}
  .broadcast-card>footer{align-items:flex-start;flex-direction:column}.feed-list{max-height:none}
  .event-hero{min-height:420px}.event-hero-inner{min-height:420px;padding:56px 14px 32px;align-items:flex-end}.event-hero h1{font-size:54px}.event-progress{display:none}.event-meta>span:not(.status-badge){font-size:8px}.event-switcher>div{padding:8px 12px}
  .event-page .section-head{display:block}.event-page .section-head .button{margin-top:14px}.stage-tabs{margin-left:-13px;margin-right:-13px;border-radius:0;border-left:0;border-right:0;padding-left:13px;padding-right:13px}
  .timing-card{border-radius:14px}.timing-card>header{padding:13px}
  .table-wrap{overflow:visible}.timing-table{min-width:0}.timing-table thead{display:none}.timing-table tbody{display:grid;gap:8px;padding:8px}.timing-table tr{min-height:82px;padding:11px;border:1px solid #30373c;border-radius:12px;background:#202529;display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 8px}.timing-table td{height:auto;padding:0;border:0}.timing-table td:nth-child(1){grid-row:1/3;align-self:center}.timing-table td:nth-child(2){grid-column:2;grid-row:1/3;align-self:center}.timing-table td:nth-child(3){display:none}.timing-table td:nth-child(4){grid-column:3;grid-row:1;text-align:right;align-self:end}.timing-table td:nth-child(5){grid-column:3;grid-row:2;text-align:right}.timing-table .time-cell{font-size:18px}.timing-table .diff-cell{font-size:10px}
  .standings-hero{min-height:330px}.standings-hero-inner{min-height:330px;padding:55px 14px 35px}.standings-hero h1{font-size:54px}.hero-select{min-width:0;width:100%}
  .podium{margin-top:20px;display:flex;flex-direction:column;gap:8px}.podium-slot{width:100%;min-height:0!important;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;text-align:left}.podium-1{order:-1}.podium-avatar{width:44px!important;height:44px!important;margin:0;grid-row:1/3;font-size:22px}.podium-slot h3{margin:0;font-size:23px}.podium-slot>strong{grid-column:3;grid-row:1/3;align-self:center;font-size:25px}.podium-slot>span{margin:3px 0 0}.podium-medal{display:none}
  .calendar-hero .page{min-height:280px;padding-top:55px;padding-bottom:35px}.calendar-hero h1{font-size:48px}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h2{grid-row:1;grid-column:1/-1;text-align:center;font-size:27px}.calendar-toolbar>div{grid-row:2}.calendar-toolbar>span{grid-row:2}
  .calendar-board{display:none}.calendar-detail{padding:20px}.calendar-detail-date b{font-size:58px}.agenda-card{grid-template-columns:50px minmax(0,1fr);gap:12px;padding:13px}.agenda-date{padding-right:10px}.agenda-date b{font-size:31px}.agenda-action{grid-column:1/-1}.agenda-action .button,.agenda-action .registered-pill{width:100%}
  .shop-hero .page,.account-hero .page{min-height:260px;padding-top:50px;padding-bottom:35px}.shop-hero h1,.account-hero h1{font-size:51px}.pass-content{padding:21px}.pass-content h2{font-size:31px}.pass-content>strong{font-size:50px}
  .profile-card{grid-template-columns:1fr;padding:18px;gap:18px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.form-actions{grid-column:auto}
  .auth-page{display:block;padding:24px 12px 44px}.auth-visual{display:none}.auth-card{width:100%;padding:23px}.auth-card h1{font-size:42px}
  .admin-shell{padding:12px}.admin-sidebar{margin:0 -12px;border-radius:0;border-left:0;border-right:0;padding:7px;overflow:auto}.admin-nav{gap:4px}.admin-nav button{min-height:39px;padding:0 10px;font-size:9px}.admin-header{flex-direction:column;min-height:0}.admin-title{font-size:38px}.admin-actions{justify-content:flex-start}.admin-kpis{grid-template-columns:1fr 1fr}.admin-kpi{min-height:92px}.admin-kpi strong{font-size:33px}.admin-quick-grid{grid-template-columns:1fr 1fr}.admin-quick{min-height:135px;padding:15px}.admin-live-banner{align-items:flex-start;flex-direction:column}.admin-event-head{flex-direction:column}.admin-event-actions{justify-content:flex-start}.admin-rally{grid-template-columns:1fr}.workflow-side .workflow-step{display:block}.status-control-grid{grid-template-columns:1fr 1fr}.stage-button-grid{grid-template-columns:repeat(3,1fr)}.manual-row{grid-template-columns:1fr 1fr}.manual-row .button{grid-column:1/-1}.admin-card-head{align-items:flex-start;flex-direction:column}.admin-table-wrap{overflow:auto}
  .modal-backdrop{padding:7px;align-items:end}.modal{max-height:94vh;border-radius:20px 20px 0 0}.modal-head{padding:13px 14px}.modal-body{padding:14px}.rally-editor .form-grid{grid-template-columns:1fr}
  .site-footer{padding:38px 14px 88px}.footer-inner{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-inner small{grid-column:auto}
  .mobile-dock{position:fixed;z-index:120;left:7px;right:7px;bottom:7px;height:59px;padding:5px;border:1px solid #23313a;border-radius:17px;background:rgba(7,14,20,.96);box-shadow:0 15px 45px rgba(0,0,0,.5);display:grid;grid-template-columns:repeat(4,1fr);backdrop-filter:blur(10px)}
  .mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:12px;color:#78868d}.mobile-dock a span{font-size:19px;line-height:1}.mobile-dock a b{font-size:8px}.mobile-dock a.is-active{background:#172631;color:var(--accent-soft)}
  .toast-stack{bottom:78px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* =========================================================
   V31 READABILITY + UX PASS
   - dark navy header
   - Arial/system typography
   - larger readable copy
   - restored driver cards
   - clearer calendar and admin
   ========================================================= */
:root{
  --bg:#0b141d;
  --bg-deep:#06111b;
  --bg-blue:#071c2d;
  --surface:#111f2b;
  --surface-2:#162735;
  --surface-3:#1b3040;
  --surface-blue:#0b2233;
  --line:#294052;
  --line-soft:#203545;
  --text:#f4f8fb;
  --muted:#a9bac6;
  --muted-2:#7f95a4;
  --accent:#54cdf7;
  --accent-soft:#b8edff;
  --accent-deep:#168ab4;
  --radius-xl:28px;
  --radius-lg:21px;
  --radius-md:15px;
  --shadow:0 22px 70px rgba(0,7,13,.30);
  --header-h:76px;
}
html,body{background:var(--bg)}
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
body{font-size:16px;line-height:1.58;color:var(--text)}
.site-header{background:rgba(7,28,45,.97);border-bottom:1px solid rgba(118,206,242,.14);box-shadow:0 8px 28px rgba(0,8,15,.20);backdrop-filter:blur(12px) saturate(135%)}
.header-inner{height:var(--header-h)}
.brand{font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700;letter-spacing:.01em;text-transform:none}
.brand b{font-weight:700}.brand span{color:#eef8fc}.brand img{width:48px;height:48px}
.desktop-nav a{padding:11px 14px;font-size:14px;font-weight:600;color:#bfd0da}
.desktop-nav a:hover{background:rgba(255,255,255,.075)}
.desktop-nav a.is-active{background:rgba(84,205,247,.13);color:#fff}
.desktop-nav a.is-active:after{bottom:5px}
.button{min-height:44px;padding:10px 18px;font-size:14px;font-weight:700}
.button-small{min-height:38px;padding:8px 14px;font-size:13px}
.button-primary{box-shadow:0 10px 26px rgba(84,205,247,.16)}
.page{padding-top:54px}
.section{margin-top:64px}.section-head{margin-bottom:24px}
.section-title,.home-hero h1,.next-event-body h2,.event-hero h1,.standings-hero h1,.calendar-hero h1,.admin-title,.admin-quick h3,.admin-event h3,.calendar-detail h2,.timing-card>header strong,.podium-slot h3,.podium-slot>strong,.brand,.hero-facts strong,.result-highlight h3,.broadcast-card footer strong,.feed-card>header h3,.news-card h3,.calendar-toolbar h2,.modal-head h2{
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:-.02em;
  text-transform:none;
}
.section-title{font-size:38px;font-weight:700;line-height:1.08}
.section-copy{font-size:16px;color:var(--muted)}
.overline{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;letter-spacing:.07em}
.text-link{font-size:14px;font-weight:700}
.status-badge{font-size:11px;font-weight:700;letter-spacing:.05em}

.home-hero{min-height:620px;background:radial-gradient(circle at 78% 28%,rgba(84,205,247,.22),transparent 27%),linear-gradient(125deg,#08253a,#071521 64%)}
.home-hero-inner{min-height:620px}
.home-hero h1{font-size:clamp(52px,7vw,94px);font-weight:700;line-height:.94}
.home-hero-copy>p{font-size:18px;line-height:1.65;color:#d0dde4}
.hero-kicker{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:none}
.hero-facts{width:270px;padding:23px;background:rgba(7,28,45,.82);border-color:rgba(141,220,249,.20)}
.hero-facts>div:first-child>span{font-size:13px}.hero-facts>div:first-child>strong{font-size:44px;font-weight:700}
.hero-fact-row>span{font-family:Arial,Helvetica,sans-serif;font-size:30px;font-weight:700}
.hero-fact-row small{font-family:Arial,Helvetica,sans-serif;font-size:11px;text-transform:none}
.next-event-card,.result-highlight,.broadcast-card,.feed-card,.rally-card,.timing-card,.news-card,.season-card,.pass-card,.profile-card{box-shadow:0 15px 45px rgba(0,6,12,.18)}
.next-event-card{border-color:#2b5169;background:linear-gradient(145deg,#0b2940,#0c1c2a)}
.next-event-body h2{font-size:48px;font-weight:700;line-height:1.04}.next-event-body p{font-size:15px}
.result-highlight{background:linear-gradient(155deg,#132432,#0f1c27)}
.result-highlight.card-accent{background:linear-gradient(145deg,#0a2a41,#102230)}
.result-highlight h3{font-size:28px;font-weight:700}.result-highlight header>a{font-size:13px}
.mini-row{min-height:68px}.mini-row strong{font-size:15px}.mini-row small{font-size:12px}.mini-row>b{font-size:15px}.mini-row em{font-size:12px}
.rally-card-body h3{font-size:23px}.rally-card-body p{font-size:14px}.rally-card-body small{font-size:12px}
.feed-line strong{font-size:14px}.feed-line p{font-size:13px}.feed-line small{font-size:11px}.feed-line b{font-size:10px}
.broadcast-card footer strong{font-size:20px}.broadcast-card footer small{font-size:12px}

/* Driver links and cards */
.driver-link{padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;display:block;max-width:100%}
.driver-link strong{display:block;color:#fff;font-size:15px;font-weight:700;transition:color .15s ease}
.driver-link span{display:block;margin-top:3px;color:var(--muted-2);font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.driver-link:hover strong{color:var(--accent)}
.drivers-hero{background:radial-gradient(circle at 82% 20%,rgba(84,205,247,.25),transparent 29%),linear-gradient(130deg,#08263b,#071521);border-bottom:1px solid rgba(99,194,233,.14)}
.drivers-hero .page{min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-top:76px;padding-bottom:58px}
.drivers-hero h1{max-width:850px;margin:10px 0 14px;font-size:clamp(46px,6.5vw,78px);line-height:1;font-weight:700;letter-spacing:-.04em}
.drivers-hero p{max-width:700px;margin:0;color:#c1d2dc;font-size:18px}
.drivers-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}
.drivers-toolbar h2{margin:0;font-size:30px}.drivers-toolbar p{margin:7px 0 0;color:var(--muted);font-size:15px}
.driver-search{width:min(360px,100%)}.driver-search span{display:block;margin-bottom:7px;color:var(--muted);font-size:13px;font-weight:700}
.driver-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.driver-card{position:relative;padding:22px;border:1px solid var(--line-soft);border-radius:22px;background:linear-gradient(150deg,#152a3a,#0f1e2a);box-shadow:0 18px 50px rgba(0,7,14,.18);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease;overflow:hidden}
.driver-card:before{content:"";position:absolute;right:-45px;top:-45px;width:150px;height:150px;border-radius:50%;background:rgba(84,205,247,.07)}
.driver-card:hover{transform:translateY(-3px);border-color:#3d718e;background:linear-gradient(150deg,#173246,#102434)}
.driver-card-top{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 34px;align-items:center;gap:15px}
.driver-avatar,.driver-profile-avatar,.admin-person-avatar{display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#3b8daf,#174b68);color:#fff;font-size:24px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.driver-avatar{width:58px;height:58px}.driver-card h3{margin:4px 0 3px;font-size:22px;line-height:1.12}.driver-card p{margin:0;color:var(--muted);font-size:13px}
.driver-surface{color:var(--accent-soft);font-size:12px;font-weight:700}.driver-card-arrow{color:var(--accent);font-size:22px}
.driver-card-stats{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.driver-card-stats>div{padding:13px;border:1px solid rgba(116,182,213,.13);border-radius:13px;background:rgba(4,18,28,.40)}
.driver-card-stats span{display:block;color:var(--muted-2);font-size:12px}.driver-card-stats strong{display:block;margin-top:4px;font-size:18px;font-weight:700}
.driver-profile{display:grid;gap:18px}.driver-profile-hero{padding:26px;border-radius:21px;background:linear-gradient(135deg,#0a3049,#102332);display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:20px;border:1px solid #2e5c77}
.driver-profile-avatar{width:86px;height:86px;border-radius:23px;font-size:36px}.driver-profile-title span{color:var(--accent-soft);font-size:13px;font-weight:700}.driver-profile-title h2{margin:5px 0 6px;font-size:36px}.driver-profile-title p{margin:0;color:#bdd0db;font-size:14px}
.driver-title-count{min-width:105px;padding:15px;border-radius:16px;background:rgba(4,17,27,.48);text-align:center}.driver-title-count strong{display:block;font-size:33px}.driver-title-count span{display:block;color:var(--muted);font-size:11px}
.driver-profile-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.driver-profile-kpis>div{padding:17px;border:1px solid var(--line-soft);border-radius:15px;background:var(--surface)}.driver-profile-kpis span{display:block;color:var(--muted);font-size:12px}.driver-profile-kpis strong{display:block;margin-top:5px;font-size:23px}
.driver-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.driver-profile-panel{padding:20px;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface)}.driver-profile-panel header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.driver-profile-panel h3{margin:0;font-size:21px}.driver-profile-panel header span{color:var(--muted);font-size:12px}
.surface-meter{height:12px;margin:20px 0 14px;border-radius:999px;background:#07131d;display:flex;overflow:hidden}.surface-meter i{display:block;height:100%}.surface-gravel{background:#cb9b62}.surface-tarmac{background:#7d91a1}.surface-snow{background:#d8f3ff}
.surface-list{display:grid;gap:9px}.surface-list>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.surface-list strong{color:#fff}
.driver-recent{display:grid}.driver-recent>div{min-height:57px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft)}.driver-recent>div:last-child{border-bottom:0}.recent-rank{width:31px;height:31px;border-radius:10px;background:#20394a;display:grid;place-items:center;color:var(--accent);font-weight:700}.driver-recent strong{display:block;font-size:14px}.driver-recent small{display:block;color:var(--muted);font-size:11px}.driver-recent b{font-size:13px}.muted-copy{color:var(--muted)}

/* Results readability */
.timing-table{min-width:760px}.timing-table th{height:48px;padding:0 18px;font-size:12px;font-weight:700;letter-spacing:.035em}.timing-table td{height:72px;padding:12px 18px;font-size:14px}.timing-table .position{width:36px;height:36px;font-family:Arial,Helvetica,sans-serif;font-size:17px}.timing-table .time-cell,.timing-table .diff-cell{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:700}.timing-table .diff-cell{font-size:14px}
.stage-tabs button{min-width:72px;padding:11px 14px;font-size:13px}.timing-card>header strong{font-size:23px}.timing-card>header small,.timing-card>header>span{font-size:12px}

/* Calendar: larger and easier to scan */
.calendar-hero{background:radial-gradient(circle at 80% 15%,rgba(84,205,247,.25),transparent 25%),repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.018) 22px 23px),linear-gradient(130deg,#08283d,#071522)}
.calendar-hero .page{min-height:340px}.calendar-hero h1{font-size:clamp(46px,6.5vw,76px);font-weight:700;line-height:1}.calendar-hero p{font-size:17px;line-height:1.6;color:#c3d2da}
.calendar-toolbar{min-height:82px}.calendar-toolbar h2{font-size:32px;font-weight:700}.calendar-toolbar>span{font-size:13px;color:var(--muted)}
.calendar-layout{grid-template-columns:minmax(0,1fr) 360px;gap:20px}.calendar-board,.calendar-detail{border-color:#29485b;background:#10202d;box-shadow:0 16px 45px rgba(0,7,13,.16)}
.calendar-weekdays{height:50px;background:#0c1b27}.calendar-weekdays span{font-size:12px;font-weight:700}
.calendar-day{min-height:132px;padding:12px;border-color:#203847}.calendar-day>span{width:32px;height:32px;font-size:14px}.calendar-day>div{gap:6px;margin-top:8px}.calendar-day i{padding:7px 8px;border-left-width:3px;border-radius:7px;background:#18384c;color:#f0f8fb;font-size:12px;font-weight:700;line-height:1.25}.calendar-day small{font-size:11px}
.calendar-detail{padding:27px}.calendar-detail-date b{font-family:Arial,Helvetica,sans-serif;font-size:65px}.calendar-detail-date span{font-size:14px}.calendar-detail h2{font-size:34px;line-height:1.08}.detail-meta span{font-size:13px}.calendar-detail>p{font-size:14px;line-height:1.6}
.agenda-card{min-height:112px}.agenda-date b{font-size:31px}.agenda-date span{font-size:12px}.agenda-main h3{font-size:21px}.agenda-main p,.agenda-main small{font-size:13px}.agenda-tags span{font-size:11px}

/* Admin: plain language and readable controls */
.admin-shell{grid-template-columns:275px minmax(0,1fr);gap:24px;padding:28px 24px 72px}.admin-sidebar{background:#0c1b27;border-color:#294455;padding:14px}.admin-sidebar-head strong{font-size:23px}.admin-sidebar-head span{margin-top:5px;font-size:12px;color:var(--muted)}
.admin-nav{gap:6px}.admin-nav button{min-height:48px;padding:0 14px;font-size:14px;font-weight:600;color:#b1c3ce}.admin-nav button.is-active{background:#173548;box-shadow:inset 4px 0 var(--accent)}
.admin-header{min-height:96px;margin-bottom:22px}.admin-title{font-size:42px;font-weight:700;line-height:1.02}.admin-subtitle{font-size:15px;line-height:1.55;color:var(--muted)}
.admin-kpi{min-height:125px;padding:20px;background:linear-gradient(150deg,#142837,#0f1f2b)}.admin-kpi span{font-size:12px;text-transform:none}.admin-kpi strong{font-family:Arial,Helvetica,sans-serif;font-size:38px;font-weight:700}
.admin-quick{min-height:170px;padding:22px;background:linear-gradient(150deg,#142737,#101f2a)}.admin-quick h3{font-size:22px;font-weight:700}.admin-quick p{font-size:14px;line-height:1.5;color:var(--muted)}
.admin-card,.admin-event{background:#10212e}.admin-card-head h3{font-size:22px}.admin-card-head p{font-size:13px}.admin-event{padding:19px}.admin-event h3{font-size:24px;font-weight:700}.admin-event p{font-size:14px;line-height:1.5;color:var(--muted)}.admin-rally{min-height:68px;padding:12px;background:#0c1a25}.admin-rally strong{font-size:14px}.admin-rally small{font-size:12px}.admin-live-banner h2{font-size:30px}.admin-live-banner p{font-size:14px}
.workflow-step>span,.workflow-step label,.upload-zone p,.manual-row,.admin-preview>header,.field label,.help{font-size:13px}.workflow-main-head h2{font-size:26px}.workflow-main-head p{font-size:13px}.upload-zone h3{font-size:22px}
.input,.select,.textarea{min-height:46px;font-size:15px}.textarea{min-height:120px}.admin-table th,.admin-table td{font-size:13px}.admin-table th{font-size:12px}
.admin-error{padding:22px;border:1px solid rgba(255,102,117,.32);border-radius:16px;background:rgba(255,102,117,.08)}.admin-error strong{font-size:16px}.admin-error p{margin:8px 0 0;color:var(--muted);font-size:14px}
.admin-person-card{padding:18px;border:1px solid var(--line-soft);border-radius:17px;background:#10212e;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px}.admin-person-main{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:13px}.admin-person-avatar{width:52px;height:52px;border-radius:15px;font-size:20px}.admin-person-main h3{margin:0 0 4px;font-size:19px}.admin-person-main p{margin:0;color:var(--muted);font-size:13px}.admin-person-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.admin-person-stats span{padding:5px 8px;border-radius:999px;background:#1a3547;color:#c9dce6;font-size:11px}.admin-person-pass{display:grid;gap:4px;color:var(--muted);font-size:12px}.admin-person-pass b{color:#fff}.admin-person-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}

.modal{background:#10202c;border-color:#345064}.modal-head{background:#10202c}.modal-head h2{font-size:26px;font-weight:700}.modal-body{padding:23px}.modal-copy{font-size:15px}
.site-footer{background:#061725}

@media(max-width:1100px){
  .desktop-nav a{padding:10px 9px;font-size:13px}
  .driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-layout{grid-template-columns:1fr}.calendar-detail{position:static}
  .admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-nav{grid-template-columns:repeat(6,minmax(145px,1fr));overflow-x:auto}.admin-nav button{justify-content:center}.admin-sidebar-head{border-bottom:0}.admin-person-card{grid-template-columns:1fr auto}.admin-person-pass{display:none}
}

@media(max-width:720px){
  :root{--header-h:68px}
  body{font-size:15px;padding-bottom:78px}
  .site-header{background:#071c2d}.header-inner{padding:0 14px;gap:10px}.brand img{width:42px;height:42px}.brand{font-size:18px}.header-actions .button{display:none}.menu-button{display:block;background:#0d2b3f;border-color:#2b5269}.mobile-menu{background:#071c2d}.mobile-menu a{font-size:15px;font-weight:600}
  .page{padding:36px 16px 62px}.section{margin-top:44px}.section-title{font-size:30px}.section-head{align-items:flex-start}.section-head>a{font-size:13px}.overline{font-size:12px}
  .home-hero,.home-hero-inner{min-height:560px}.home-hero-inner{padding:58px 16px 34px;display:block}.home-hero h1{font-size:48px;line-height:1}.home-hero-copy>p{font-size:16px}.hero-facts{width:100%;margin-top:28px}.next-event-body{padding:25px 21px}.next-event-body h2{font-size:36px}.next-event-actions{align-self:flex-end}.highlight-grid,.driver-profile-grid,.driver-profile-kpis{grid-template-columns:1fr}.result-highlight>header{align-items:flex-start}.result-highlight header>a{display:none}.mini-row{grid-template-columns:34px minmax(0,1fr) auto}.mini-row em{display:none}
  .drivers-hero .page{min-height:280px;padding-top:55px;padding-bottom:42px}.drivers-hero h1{font-size:42px}.drivers-hero p{font-size:16px}.drivers-toolbar{display:block}.driver-search{margin-top:18px}.driver-grid{grid-template-columns:1fr}.driver-card{padding:19px}.driver-profile-hero{grid-template-columns:70px minmax(0,1fr)}.driver-profile-avatar{width:70px;height:70px}.driver-title-count{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:8px}.driver-title-count strong{font-size:25px}.driver-title-count span{font-size:12px}.driver-profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-profile-kpis>div:last-child{grid-column:1/-1}
  .timing-table{min-width:0}.timing-table thead{display:none}.timing-table,.timing-table tbody,.timing-table tr,.timing-table td{display:block;width:100%}.timing-table tr{position:relative;padding:13px 15px 13px 60px;border-top:1px solid var(--line-soft)}.timing-table td{height:auto;padding:3px 0;border:0;font-size:14px}.timing-table td:first-child{position:absolute;left:15px;top:16px}.timing-table td:nth-child(3){color:var(--muted)}.timing-table .time-cell,.timing-table .diff-cell{text-align:left}.timing-table td:before{content:attr(data-label);display:inline-block;width:74px;color:var(--muted-2);font-size:11px}.timing-table td:first-child:before,.timing-table td:nth-child(2):before{display:none}
  .calendar-hero .page{min-height:285px}.calendar-hero h1{font-size:40px}.calendar-hero p{font-size:15px}.calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;padding:8px 0}.calendar-toolbar h2{order:-1;width:100%;font-size:27px}.calendar-layout{display:block}.calendar-board{overflow-x:auto;border-radius:18px}.calendar-weekdays,.calendar-month-grid{min-width:760px}.calendar-detail{margin-top:16px;padding:22px}.calendar-day{min-height:122px}.calendar-agenda{margin-top:30px}.agenda-card{grid-template-columns:56px minmax(0,1fr);gap:13px;padding:15px}.agenda-action{grid-column:1/-1}.agenda-action .button,.registered-pill{width:100%}
  .admin-shell{padding:14px 12px 54px}.admin-sidebar{padding:10px;border-radius:16px}.admin-sidebar-head{padding:7px 9px 10px}.admin-sidebar-head strong{font-size:19px}.admin-nav{display:flex;gap:7px;margin-top:5px}.admin-nav button{min-width:max-content;min-height:42px;padding:0 12px;font-size:13px}.admin-title{font-size:33px}.admin-header{display:block;min-height:0}.admin-actions{justify-content:flex-start;margin-top:14px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-grid{grid-template-columns:1fr}.admin-event-head,.admin-live-banner{display:block}.admin-event-actions{justify-content:flex-start;margin-top:14px}.admin-rally{grid-template-columns:1fr auto}.admin-rally .admin-event-actions{grid-column:1/-1;margin-top:3px}.admin-workflow{grid-template-columns:1fr}.workflow-side{position:static}.manual-row{grid-template-columns:1fr}.admin-person-card{grid-template-columns:1fr}.admin-person-actions{justify-content:flex-start}.admin-person-pass{display:grid}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px);border-radius:20px}.modal-body{padding:17px}
  .mobile-dock{display:grid;grid-template-columns:repeat(5,1fr);background:#071c2d;border-top-color:#28465a}.mobile-dock a{font-size:10px}.mobile-dock a span{font-size:18px}
}

/* V31 uses one clean type system everywhere. */
body *{font-family:Arial,Helvetica,sans-serif!important}
h1,h2,h3,h4,h5,h6{font-weight:700!important}
body strong,body b{font-weight:700}

/* V31.1 dashboard, Power Stage, driver history and compact calendar */
.hero-events-card{width:430px;max-width:100%;padding:0;overflow:hidden;background:linear-gradient(180deg,rgba(8,26,40,.96),rgba(7,22,34,.97));border-color:rgba(125,198,230,.24);box-shadow:0 18px 50px rgba(0,8,15,.34);backdrop-filter:blur(14px)}
.hero-events-card>header{min-height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.hero-events-card>header span{color:#eef9ff;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hero-events-card>header b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(84,205,247,.18);color:var(--accent);font-size:13px}
.hero-events-list{padding:8px 16px 10px}
.hero-event-item{min-height:76px;padding:14px 2px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:start;gap:12px;border-bottom:1px solid rgba(255,255,255,.10)}
.hero-event-item:last-child{border-bottom:0}
.hero-event-item>i{width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(84,205,247,.10)}
.hero-event-item strong{display:block;color:#fff;font-size:14px;line-height:1.3}
.hero-event-item p{margin:6px 0 0;color:#d6e7ef;font-size:13px;line-height:1.5;word-break:break-word}
.hero-event-item small{padding-top:2px;color:#9ec1d3;font-size:11px;white-space:nowrap;font-weight:700}
.hero-events-empty{margin:0;padding:28px 6px;color:#bfd5df;font-size:13px;text-align:center}
.hero-events-footer{padding:10px 2px 2px;border-top:1px solid rgba(255,255,255,.08)}
.hero-events-footer a{display:inline-flex;align-items:center;gap:7px;color:#9fdcff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.hero-events-footer svg{width:14px;height:14px;color:var(--accent)}

.powerstage-points-cell{color:var(--accent)!important;font-weight:700}
.timing-table.has-powerstage-points tr td:last-child{min-width:86px}

.driver-recent{display:grid;gap:17px;margin-top:14px}
.driver-recent-year{display:grid;gap:8px}
.driver-recent-year h4{margin:0;padding-bottom:7px;border-bottom:1px solid var(--line-soft);color:var(--accent);font-size:14px;letter-spacing:.05em}
.driver-recent-year>div{display:grid}
.driver-recent-row{min-height:58px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft)}
.driver-recent-row:last-child{border-bottom:0}
.driver-recent-row strong{display:block;font-size:14px}
.driver-recent-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.driver-rally-place{min-width:72px;padding:7px 9px;border-radius:10px;background:#18384c;color:#dff6ff;font-size:12px;text-align:center;white-space:nowrap}
.driver-rally-place.is-dnf{background:rgba(255,102,117,.10);color:#ff9daa}

.calendar-hero .page{min-height:255px;padding-top:58px;padding-bottom:38px}
.calendar-hero h1{font-size:clamp(40px,5.2vw,62px)}
.calendar-hero p{max-width:760px;font-size:15px;line-height:1.5}
.calendar-toolbar{min-height:68px}
.calendar-toolbar h2{font-size:29px}
.calendar-layout{grid-template-columns:minmax(0,1fr) 330px;gap:16px}
.calendar-weekdays{height:42px}
.calendar-day{min-height:94px;padding:8px}
.calendar-day>span{width:27px;height:27px;font-size:12px}
.calendar-day>div{gap:4px;margin-top:5px}
.calendar-day i{padding:5px 6px;border-left-width:2px;border-radius:5px;font-size:10px;line-height:1.2}
.calendar-day small{font-size:9px}
.calendar-detail{padding:21px}
.calendar-detail-date b{font-size:52px}
.calendar-detail-date span{font-size:12px}
.calendar-detail h2{font-size:29px}
.calendar-detail>p{font-size:13px;line-height:1.5}
.agenda-card{min-height:96px;padding-top:13px;padding-bottom:13px}

@media(max-width:1100px){
  .calendar-layout{grid-template-columns:1fr}
}

@media(max-width:720px){
  .calendar-hero .page{min-height:225px;padding-top:46px;padding-bottom:28px}
  .calendar-hero h1{font-size:38px}
  .calendar-hero p{font-size:14px;line-height:1.45}
  .calendar-toolbar{min-height:60px}
  .calendar-detail{padding:18px}
  .calendar-detail-date b{font-size:48px}
  .calendar-detail h2{font-size:27px}
  .agenda-card{min-height:88px;padding:12px}
  .driver-rally-place{min-width:66px;font-size:11px}
}


/* V31.1 final responsive corrections */
@media(max-width:1100px){
  .hero-events-card{display:block;width:min(430px,100%)}
}
@media(max-width:720px){
  .hero-events-card{display:block;width:100%;margin-top:24px}
  .hero-event-item{min-height:68px;padding:11px 1px}
  .hero-event-item strong{font-size:13px}
  .hero-event-item p{font-size:12px;line-height:1.45}
  .calendar-hero .page{min-height:205px;padding-top:38px;padding-bottom:24px}
  .calendar-toolbar{min-height:54px}
  .calendar-detail{padding:16px}
  .calendar-detail-date b{font-size:44px}
  .calendar-detail h2{font-size:25px}
}

/* V31.1.1 incident highlighting */
@keyframes incidentBlinkRed{
  0%,100%{box-shadow:0 0 0 0 rgba(255,76,76,.00);background:rgba(255,76,76,.08)}
  50%{box-shadow:0 0 0 1px rgba(255,76,76,.30),0 0 18px rgba(255,76,76,.20);background:rgba(255,76,76,.16)}
}
.hero-event-item.is-incident{
  padding-left:8px;
  padding-right:8px;
  border-radius:12px;
  animation:incidentBlinkRed 1.15s ease-in-out infinite;
}
.hero-event-item.is-incident>i,
.feed-line.is-incident .feed-dot{
  background:#ff4c4c;
  box-shadow:0 0 0 5px rgba(255,76,76,.16),0 0 12px rgba(255,76,76,.28);
}
.hero-event-item.is-incident strong,
.feed-line.is-incident strong,
.news-card.is-incident h3{
  color:#ffd5d5;
}
.hero-event-item.is-incident small,
.feed-line.is-incident small,
.news-card.is-incident small{
  color:#ffacac;
}
.hero-event-item.is-incident p,
.feed-line.is-incident p,
.news-card.is-incident p{
  color:#ffe6e6;
}
.news-card.is-incident{
  border-color:rgba(255,76,76,.28);
  background:linear-gradient(145deg,rgba(58,14,18,.88),rgba(27,14,18,.92));
  box-shadow:0 0 0 1px rgba(255,76,76,.10),0 14px 36px rgba(48,6,10,.28);
}
.news-card.is-incident>span{
  color:#ff8e8e;
}

/* V31.1.2 hero events hover expansion */
.hero-events-card{
  overflow:visible;
}
.hero-events-list{
  overflow:visible;
  position:relative;
}
.hero-event-item{
  position:relative;
  min-height:unset;
  padding:12px 10px;
  border-radius:14px;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
  transform-origin:center;
  transform-style:preserve-3d;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.hero-event-item + .hero-event-item{
  margin-top:8px;
}
.hero-event-item p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:4px 0 0;
}
.hero-event-item:hover,
.hero-event-item:focus-within{
  z-index:30;
  transform:perspective(1000px) translateY(-4px) scale(1.04) rotateX(3deg);
  box-shadow:0 22px 45px rgba(0,0,0,.34), 0 0 0 1px rgba(84,205,247,.18);
  background:linear-gradient(145deg,rgba(18,45,63,.98),rgba(11,28,40,.98));
  border-color:rgba(84,205,247,.24);
}
.hero-event-item:hover p,
.hero-event-item:focus-within p{
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
  text-overflow:clip;
}
.hero-event-item small{
  align-self:start;
}
.hero-events-footer{
  margin-top:10px;
  padding:10px 4px 4px;
  border-top:1px solid rgba(255,255,255,.08);
}
.hero-events-footer a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#8fdcff;
  font-size:12px;
  font-weight:700;
}
.hero-events-footer a:hover{
  color:#c8efff;
}
.hero-event-item.is-incident:hover,
.hero-event-item.is-incident:focus-within{
  box-shadow:0 22px 45px rgba(52,8,12,.36), 0 0 0 1px rgba(255,76,76,.22);
  background:linear-gradient(145deg,rgba(61,18,24,.98),rgba(34,16,21,.98));
  border-color:rgba(255,76,76,.24);
}

@media(max-width:720px){
  .hero-event-item:hover,
  .hero-event-item:focus-within{
    transform:none;
  }
  .hero-event-item p{
    -webkit-line-clamp:3;
  }
}

/* V31.1.3 gap toggle */
.timing-table .diff-cell:not(.powerstage-points-cell){
  color:#ff7a7a;
}
.gap-toggle{
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:color .16s ease, transform .16s ease, opacity .16s ease;
}
.gap-toggle:hover,
.gap-toggle:focus-visible{
  color:#ffb1b1;
  transform:translateY(-1px);
  outline:none;
}
.gap-toggle.is-exact{
  color:#ffd2d2;
}

/* V31.1.4 rally events readability */
.event-page .news-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.event-page .news-card{
  min-height:190px;
  padding:22px 20px 18px;
  border-radius:20px;
}
.event-page .news-card>span{
  font-size:11px;
  letter-spacing:.08em;
}
.event-page .news-card h3{
  margin:14px 0 10px;
  font-size:36px;
  line-height:1.02;
}
.event-page .news-card p{
  font-size:15px;
  line-height:1.58;
  color:#d4dee3;
}
.event-page .news-card small{
  margin-top:16px;
  font-size:12px;
  color:#aebcc4;
}

@media(max-width:1100px){
  .event-page .news-grid{
    grid-template-columns:1fr;
  }
  .event-page .news-card h3{
    font-size:31px;
  }
}

@media(max-width:720px){
  .event-page .news-card{
    min-height:unset;
    padding:18px 16px 16px;
  }
  .event-page .news-card>span{
    font-size:10px;
  }
  .event-page .news-card h3{
    margin:12px 0 8px;
    font-size:28px;
  }
  .event-page .news-card p{
    font-size:14px;
    line-height:1.5;
  }
  .event-page .news-card small{
    font-size:11px;
  }
}

/* V31.1.6 incident meta labels */
.incident-meta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 7px;
  color:#ff9d9d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-event-item.is-incident .incident-meta{
  color:#ff9d9d;
}
.event-page .news-card.is-incident>span,
.news-card.is-incident>span{
  letter-spacing:.08em;
}

/* V31.1.7 shared driver profile image */
.driver-avatar,
.driver-profile-avatar{
  overflow:hidden;
  padding:0;
  background:#0d2433;
}
.driver-avatar img,
.driver-profile-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}

/* V31.1.8 podium profile image */
.podium-avatar{
  overflow:hidden;
  padding:0;
  background:#0d2433;
}
.podium-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}

/* V31.1.9 home hero title 50% smaller */
.home-hero h1{
  font-size:clamp(26px,3.5vw,47px);
  line-height:1;
}

@media(max-width:720px){
  .home-hero h1{
    font-size:24px;
    line-height:1.05;
  }
}

/* V31.2 driver country flags */
.driver-name-with-flag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  vertical-align:middle;
}
.driver-name-with-flag>span:first-child{
  min-width:0;
}
.driver-flag{
  position:relative;
  flex:0 0 auto;
  width:22px;
  height:15px;
  display:inline-grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.20);
  border-radius:3px;
  background:#0a1822;
  box-shadow:0 2px 7px rgba(0,0,0,.24);
}
.driver-flag img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.driver-flag-fallback{
  display:none;
  color:#dff5ff;
  font-size:8px;
  font-weight:800;
  line-height:1;
}
.driver-flag.is-fallback img{display:none}
.driver-flag.is-fallback .driver-flag-fallback{display:block}
.driver-link .driver-name-with-flag{display:inline-flex}
.driver-link strong>.driver-name-with-flag{font-weight:inherit}
.driver-card h3 .driver-flag,
.driver-profile-title h2 .driver-flag,
.podium-slot h3 .driver-flag{
  transform:translateY(-1px);
}
.feed-line .driver-flag,
.hero-event-item .driver-flag,
.news-card .driver-flag{
  width:20px;
  height:14px;
}
.country-select-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:12px;
  align-items:stretch;
}
.country-flag-preview{
  min-height:44px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:#0b1c28;
  color:var(--muted);
  font-size:12px;
}
.country-flag-preview .driver-flag{
  width:32px;
  height:22px;
}

@media(max-width:720px){
  .driver-name-with-flag{gap:6px}
  .driver-flag{width:19px;height:13px}
  .country-select-row{grid-template-columns:1fr}
  .country-flag-preview{min-height:48px}
}

/* V31.2.3 restore driver-name readability after flag markup */
.driver-link > strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}
.driver-link > strong .driver-name-with-flag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  white-space:nowrap;
}
.driver-link > strong .driver-name-with-flag > span:first-child{
  display:inline;
  margin:0;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.driver-link > span{
  display:block;
  margin-top:3px;
  color:var(--muted-2);
  font-size:12px;
  font-weight:400;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.driver-link:hover > strong{
  color:var(--accent);
}

/* V31.2.5 driver profile readability */
.driver-profile-hero{
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:24px;
  padding:30px;
}
.driver-profile-avatar{
  width:112px;
  height:112px;
  border-radius:28px;
}
.driver-profile-title h2{
  margin:8px 0 8px;
  font-size:42px;
  line-height:1.04;
}
.driver-profile-title p{
  font-size:18px;
  line-height:1.45;
}

@media(max-width:720px){
  .driver-profile-hero{
    grid-template-columns:88px minmax(0,1fr);
    gap:16px;
    padding:22px;
  }
  .driver-profile-avatar{
    width:88px;
    height:88px;
    border-radius:24px;
  }
  .driver-profile-title h2{
    font-size:34px;
  }
  .driver-profile-title p{
    font-size:15px;
  }
}

/* V31.2.6 fix driver modal name size with flag markup */
.driver-profile-title > span{
  color:var(--accent-soft);
  font-size:13px;
  font-weight:700;
}
.driver-profile-title h2{
  font-size:42px;
  font-weight:800;
  line-height:1.04;
}
.driver-profile-title h2 .driver-name-with-flag{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.driver-profile-title h2 .driver-name-with-flag > span:first-child{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.driver-profile-title h2 .driver-flag{
  width:24px;
  height:16px;
  transform:translateY(-1px);
}

@media(max-width:720px){
  .driver-profile-title h2{
    font-size:34px;
  }
  .driver-profile-title h2 .driver-flag{
    width:21px;
    height:14px;
  }
}

/* =========================================================
   V31.3 MODERN ADMIN SYSTEM
   ========================================================= */
.admin-shell{
  max-width:1520px;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  padding:34px 28px 90px;
}
.admin-sidebar{
  top:calc(var(--header-h) + 24px);
  padding:16px;
  border:1px solid rgba(91,180,220,.18);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(12,35,51,.98),rgba(7,24,36,.98));
  box-shadow:0 24px 70px rgba(0,7,14,.28);
}
.admin-sidebar-head{
  padding:14px 14px 20px;
  border-bottom:1px solid rgba(125,195,226,.12);
}
.admin-sidebar-head strong{font-size:22px;line-height:1.2}
.admin-sidebar-head span{margin-top:7px;font-size:12px;color:#83a2b4}
.admin-nav{gap:7px;margin-top:14px}
.admin-nav button{
  min-height:50px;
  padding:0 15px;
  border-radius:14px;
  color:#9fb5c1;
  font-size:14px;
  font-weight:650;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.admin-nav button svg{width:19px;height:19px}
.admin-nav button:hover{background:rgba(84,205,247,.08);color:#fff;transform:translateX(2px)}
.admin-nav button.is-active{
  background:linear-gradient(135deg,rgba(84,205,247,.18),rgba(84,205,247,.08));
  color:#fff;
  box-shadow:inset 3px 0 var(--accent),0 10px 28px rgba(0,10,18,.18);
}
.admin-content{min-height:720px}
.admin-header{
  min-height:96px;
  margin-bottom:24px;
  padding:4px 2px;
  align-items:center;
}
.admin-title{font-size:48px;letter-spacing:-.035em}
.admin-subtitle{margin-top:10px;font-size:15px;line-height:1.5;color:#9bb0bc}
.admin-actions{gap:10px}
.admin-kpis{gap:16px}
.admin-kpi{
  min-height:128px;
  padding:20px;
  border-color:rgba(92,172,209,.16);
  border-radius:20px;
  background:linear-gradient(145deg,#122738,#0d1f2d);
  box-shadow:0 16px 45px rgba(0,8,15,.16);
}
.admin-kpi span{font-size:11px;letter-spacing:.06em;color:#89a1af}
.admin-kpi strong{margin-top:13px;font-size:42px;color:#f4fbff}
.admin-live-banner{
  padding:26px;
  border-color:rgba(84,205,247,.28);
  border-radius:23px;
  background:radial-gradient(circle at 80% 20%,rgba(84,205,247,.14),transparent 31%),linear-gradient(135deg,#0d2b40,#0c1d2a);
  box-shadow:0 22px 55px rgba(0,8,15,.2);
}
.admin-live-banner h2{font-size:36px}
.admin-live-banner p{font-size:14px;color:#a9bfcb}
.admin-quick-grid{gap:16px}
.admin-quick{
  min-height:172px;
  padding:23px;
  border-color:rgba(91,176,215,.16);
  border-radius:20px;
  background:linear-gradient(145deg,#122737,#0e1f2c);
  box-shadow:0 15px 40px rgba(0,8,15,.14);
}
.admin-quick:hover{border-color:rgba(84,205,247,.42);background:linear-gradient(145deg,#153148,#102637);transform:translateY(-4px)}
.admin-quick .quick-icon{width:48px;height:48px;border-radius:15px;background:rgba(84,205,247,.11)}
.admin-quick h3{margin-top:17px;font-size:24px}
.admin-quick p{font-size:13px;line-height:1.45;color:#91a7b3}
.admin-list{gap:14px}
.admin-event,
.admin-card,
.admin-person-card{
  border-color:rgba(91,176,215,.16);
  border-radius:20px;
  background:linear-gradient(145deg,#112432,#0d1d29);
  box-shadow:0 15px 40px rgba(0,8,15,.13);
}
.admin-event{padding:21px}
.admin-event h3{margin:10px 0 7px;font-size:27px}
.admin-event p{font-size:13px;line-height:1.45;color:#91a6b2}
.admin-event-actions{gap:8px}
.admin-rallies{gap:9px;margin-top:18px;padding-top:18px}
.admin-rally{
  min-height:68px;
  padding:12px 14px;
  border:1px solid rgba(82,151,183,.12);
  border-radius:14px;
  background:rgba(5,20,30,.52);
}
.admin-rally strong{font-size:14px}
.admin-rally small{margin-top:4px;font-size:11px;color:#849ba8}
.admin-card-head{min-height:82px;padding:18px 21px}
.admin-card-head h3{font-size:25px}
.admin-card-head p{font-size:13px;color:#8fa5b1}
.admin-person-card{padding:20px}
.admin-person-main h3{font-size:20px}
.admin-person-main p,.admin-person-pass{font-size:13px}
.admin-person-stats span{font-size:11px}
.admin-error{padding:24px;border:1px solid rgba(255,90,100,.28);border-radius:18px;background:rgba(92,18,26,.18)}

/* Admin form language */
.admin-content .field label,
.modal-admin-editor .field label{
  margin-bottom:8px;
  color:#b8cad4;
  font-size:12px;
  font-weight:750;
  letter-spacing:.035em;
}
.admin-content .input,
.admin-content .select,
.admin-content .textarea,
.modal-admin-editor .input,
.modal-admin-editor .select,
.modal-admin-editor .textarea{
  min-height:47px;
  border:1px solid rgba(116,171,197,.22);
  border-radius:13px;
  background:#0a1a25;
  color:#f3f8fb;
  font-size:14px;
}
.admin-content .textarea,
.modal-admin-editor .textarea{min-height:120px;padding-top:13px}
.admin-content .input:focus,
.admin-content .select:focus,
.admin-content .textarea:focus,
.modal-admin-editor .input:focus,
.modal-admin-editor .select:focus,
.modal-admin-editor .textarea:focus{
  border-color:rgba(84,205,247,.72);
  box-shadow:0 0 0 3px rgba(84,205,247,.10);
  outline:none;
}

/* Full modern event editor */
.modal-admin-editor{
  width:min(1420px,calc(100vw - 34px));
  max-height:calc(100vh - 28px);
  border-color:rgba(92,181,222,.25);
  border-radius:26px;
  background:#081722;
  overflow:hidden;
}
.modal-admin-editor .modal-head{
  min-height:72px;
  padding:16px 22px;
  background:rgba(8,23,34,.96);
  border-bottom-color:rgba(113,187,220,.14);
}
.modal-admin-editor .modal-head h2{font-size:28px}
.modal-admin-editor .modal-body{padding:0;overflow:auto}
.modern-event-editor{min-height:660px;display:flex;flex-direction:column}
.event-editor-tabs{
  position:sticky;
  top:0;
  z-index:4;
  padding:12px 20px;
  display:flex;
  gap:8px;
  border-bottom:1px solid rgba(104,180,214,.12);
  background:rgba(8,23,34,.96);
  backdrop-filter:blur(12px);
}
.event-editor-tabs button{
  min-height:40px;
  padding:0 17px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#8fa7b5;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.event-editor-tabs button:hover{background:rgba(84,205,247,.07);color:#fff}
.event-editor-tabs button.is-active{border-color:rgba(84,205,247,.22);background:rgba(84,205,247,.13);color:#e9f9ff}
.event-editor-content{padding:22px;flex:1}
.event-editor-footer{
  position:sticky;
  bottom:0;
  z-index:5;
  min-height:76px;
  padding:14px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border-top:1px solid rgba(104,180,214,.14);
  background:rgba(8,23,34,.97);
  backdrop-filter:blur(12px);
}
.event-editor-footer>div{display:flex;align-items:center;gap:10px}
.event-editor-footer>div:first-child{color:#89a4b2;font-size:13px}
.event-editor-footer>div:first-child b{color:#fff}
.editor-section-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}
.editor-section-grid-equal{grid-template-columns:1fr 1fr}
.editor-card{
  padding:22px;
  border:1px solid rgba(92,170,207,.16);
  border-radius:20px;
  background:linear-gradient(145deg,#102534,#0b1d29);
}
.editor-card>header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.editor-card h3{margin:4px 0 0;font-size:24px;line-height:1.15}
.editor-eyebrow{display:block;color:#73d9ff;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.editor-summary{
  min-height:230px;
  padding:25px;
  border:1px solid rgba(84,205,247,.22);
  border-radius:20px;
  background:radial-gradient(circle at 75% 16%,rgba(84,205,247,.17),transparent 35%),linear-gradient(145deg,#0c3046,#0b202e);
}
.editor-summary>span{color:#9ab3bf;font-size:12px}
.editor-summary>strong{display:block;margin-top:16px;font-size:64px;line-height:1}
.editor-summary>p{margin:7px 0 0;color:#a8bfca;font-size:14px}
.editor-summary-line{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);color:#e3f4fb;font-size:13px}
.editor-help{margin-top:15px;padding:13px;border-radius:12px;background:rgba(84,205,247,.07);color:#9db4c0;font-size:12px}

/* Rally workspace */
.rally-workspace{display:grid;grid-template-columns:315px minmax(0,1fr);gap:18px;align-items:start}
.rally-workspace-list{
  position:sticky;
  top:76px;
  padding:14px;
  border:1px solid rgba(92,170,207,.16);
  border-radius:20px;
  background:#0c1d29;
}
.rally-workspace-list>header{padding:5px 5px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rally-workspace-list>header strong{display:block;margin-top:3px;font-size:18px}
.rally-workspace-list>div{display:grid;gap:8px}
.editor-rally-item{
  width:100%;
  min-height:78px;
  padding:12px;
  border:1px solid rgba(91,163,196,.12);
  border-radius:15px;
  background:rgba(5,18,27,.62);
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.editor-rally-item:hover{border-color:rgba(84,205,247,.32);background:rgba(15,43,59,.75)}
.editor-rally-item.is-active{border-color:rgba(84,205,247,.55);background:linear-gradient(135deg,rgba(84,205,247,.15),rgba(84,205,247,.06));box-shadow:0 11px 28px rgba(0,9,16,.18)}
.editor-rally-order{width:34px;height:34px;border-radius:10px;background:rgba(84,205,247,.12);display:grid;place-items:center;color:#9de4ff;font-size:12px;font-weight:800}
.editor-rally-item strong{display:block;font-size:14px}
.editor-rally-item small{display:block;margin-top:4px;color:#839da9;font-size:10px;line-height:1.35}
.editor-rally-item .status-badge{padding:5px 7px;font-size:8px}
.rally-workspace-editor{min-width:0}
.rally-editor-toolbar{
  min-height:76px;
  padding:4px 2px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.rally-editor-toolbar h3{margin:5px 0 0;font-size:30px}
.rally-editor-toolbar>div:last-child{display:flex;gap:8px}
.rally-editor-modern{display:grid;gap:16px}
.route-generator-card{border-color:rgba(84,205,247,.25);background:radial-gradient(circle at 90% 0,rgba(84,205,247,.12),transparent 27%),linear-gradient(145deg,#102a3b,#0b1d29)}
.catalog-status{padding:7px 10px;border-radius:999px;background:rgba(84,205,247,.08);color:#a9e8ff;font-size:11px;white-space:nowrap}
.route-generator-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) 130px auto auto;gap:10px;align-items:end}
.route-generator-controls label>span{display:block;margin-bottom:7px;color:#a8bdc8;font-size:11px;font-weight:700}
.route-generator-source{margin:14px 0 0;color:#7f9aa8;font-size:11px;line-height:1.5}
.stage-plan-card{padding-bottom:17px}
.stage-plan-total{text-align:right}
.stage-plan-total strong{display:block;font-size:24px;line-height:1}
.stage-plan-total span{display:block;margin-top:5px;color:#86a0ad;font-size:11px}
.stage-plan-list{display:grid;gap:8px}
.stage-plan-row{
  min-height:58px;
  padding:7px;
  border:1px solid rgba(91,163,196,.12);
  border-radius:13px;
  background:rgba(5,19,28,.60);
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 130px 94px;
  gap:8px;
  align-items:center;
}
.stage-plan-number{height:42px;border-radius:10px;background:rgba(84,205,247,.11);display:grid;place-items:center;color:#9ce5ff;font-size:12px;font-weight:800}
.stage-plan-row .input{min-height:42px}
.stage-plan-row>label{position:relative}
.stage-plan-row>label span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#7794a3;font-size:11px;pointer-events:none}
.stage-plan-row>label .input{padding-right:32px}
.stage-plan-actions{display:flex;justify-content:flex-end;gap:5px}
.stage-plan-actions button{
  width:28px;
  height:32px;
  border:1px solid rgba(104,164,192,.18);
  border-radius:8px;
  background:#102636;
  color:#9bb5c2;
  cursor:pointer;
}
.stage-plan-actions button:hover{border-color:rgba(84,205,247,.46);color:#fff}
.stage-plan-actions button:last-child:hover{border-color:rgba(255,99,111,.48);background:rgba(255,99,111,.12);color:#ffadb4}
.stage-plan-add{
  width:100%;
  min-height:44px;
  margin-top:10px;
  border:1px dashed rgba(84,205,247,.30);
  border-radius:12px;
  background:rgba(84,205,247,.045);
  color:#98def8;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.stage-plan-add:hover{background:rgba(84,205,247,.10)}
.editor-empty-rallies{min-height:460px;border:1px dashed rgba(84,205,247,.28);border-radius:22px;background:rgba(84,205,247,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.editor-empty-rallies>span{font-size:54px;color:#66d6ff}
.editor-empty-rallies h3{margin:12px 0 6px;font-size:28px}
.editor-empty-rallies p{max-width:470px;margin:0 0 20px;color:#8ba4b0;font-size:14px}

/* Results workflow */
.admin-workflow{grid-template-columns:300px minmax(0,1fr);gap:18px}
.workflow-side,.workflow-main{border-color:rgba(91,176,215,.16);border-radius:20px;background:linear-gradient(145deg,#102432,#0c1d29);box-shadow:0 16px 45px rgba(0,8,15,.15)}
.workflow-side{padding:16px}
.workflow-step{padding:15px;border:1px solid rgba(83,151,182,.11);border-radius:14px;background:rgba(5,18,27,.55)}
.workflow-step>span{font-size:9px;letter-spacing:.08em}
.workflow-step label{font-size:12px}
.workflow-main-head{padding:21px 22px}
.workflow-main-head h2{font-size:29px}
.workflow-main-head p{font-size:13px;color:#90a8b4}
.workflow-body{padding:21px}
.modern-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.modern-stage-grid button{min-height:54px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}
.modern-stage-grid button strong{font-size:12px}
.modern-stage-grid button small{max-width:145px;color:#738f9e;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modern-stage-grid button.is-active small{color:#24556a}
.modern-upload-zone{padding:30px;border-width:1px;border-color:rgba(84,205,247,.32);background:radial-gradient(circle at 50% 0,rgba(84,205,247,.10),transparent 45%),rgba(5,18,27,.58);transition:border-color .15s ease,background .15s ease,transform .15s ease}
.modern-upload-zone.is-dragging{border-color:#54cdf7;background:rgba(84,205,247,.12);transform:scale(1.008)}
.modern-upload-zone.has-file{border-style:solid;border-color:rgba(87,220,157,.48)}
.upload-zone-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:16px;background:rgba(84,205,247,.12);display:grid;place-items:center;color:#8ee3ff;font-size:27px}
.modern-upload-zone h3{font-size:24px}
.modern-upload-zone p{font-size:13px}
.upload-zone-actions{margin-top:15px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.upload-zone-actions>span{color:#8da5b1;font-size:12px}
.manual-row{grid-template-columns:1.35fr 1fr 1fr auto;gap:10px}
.admin-preview{border-color:rgba(91,176,215,.16);border-radius:16px}
.admin-preview>header{padding:14px 16px;background:#0b1a25;font-size:12px}

/* Live feed composer */
.modern-feed-composer{overflow:hidden}
.feed-template-row{padding:14px 20px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(91,176,215,.12);background:rgba(4,18,27,.34)}
.feed-template-row button{min-height:34px;padding:0 12px;border:1px solid rgba(109,172,201,.18);border-radius:999px;background:#102838;color:#a9c2ce;font-size:11px;font-weight:750;cursor:pointer}
.feed-template-row button:hover{border-color:rgba(84,205,247,.46);color:#fff}
.feed-template-row button:first-child{border-color:rgba(255,93,105,.28);background:rgba(255,93,105,.08);color:#ffb0b6}
.feed-composer-body{padding:20px}

/* Calendar and users */
.admin-content .admin-person-card{grid-template-columns:minmax(0,1fr) 190px auto;gap:20px}
.admin-person-main{gap:15px}
.admin-person-avatar{width:58px;height:58px;border-radius:18px}
.admin-person-pass{padding:12px 15px;border:1px solid rgba(90,160,193,.13);border-radius:13px;background:rgba(4,18,27,.42)}

@media(max-width:1180px){
  .admin-shell{grid-template-columns:1fr;padding:22px 18px 72px}
  .admin-sidebar{position:static;padding:10px;overflow:auto}
  .admin-sidebar-head{display:none}
  .admin-nav{display:flex;min-width:max-content;margin:0}
  .admin-nav button{white-space:nowrap}
  .rally-workspace{grid-template-columns:260px minmax(0,1fr)}
  .route-generator-controls{grid-template-columns:1fr 120px;}
  .route-generator-controls .button{width:100%}
  .admin-workflow{grid-template-columns:1fr}
  .workflow-side{position:static}
  .modern-stage-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
  .admin-title{font-size:38px}
  .admin-kpis{grid-template-columns:1fr 1fr}
  .admin-quick-grid{grid-template-columns:1fr 1fr}
  .editor-section-grid,.editor-section-grid-equal{grid-template-columns:1fr}
  .editor-summary{min-height:190px}
  .rally-workspace{grid-template-columns:1fr}
  .rally-workspace-list{position:static}
  .rally-workspace-list>div{display:flex;overflow:auto;padding-bottom:4px}
  .editor-rally-item{min-width:260px}
  .stage-plan-row{grid-template-columns:48px minmax(0,1fr) 110px}
  .stage-plan-actions{grid-column:2/4}
  .modern-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-content .admin-person-card{grid-template-columns:1fr}
}
@media(max-width:560px){
  .admin-shell{padding:12px 10px 64px}
  .admin-header{align-items:flex-start}
  .admin-kpis,.admin-quick-grid{grid-template-columns:1fr}
  .modal-admin-editor{width:100vw;max-height:100vh;border-radius:0;border-left:0;border-right:0}
  .event-editor-tabs{padding:9px 10px;overflow:auto}
  .event-editor-tabs button{white-space:nowrap}
  .event-editor-content{padding:12px}
  .event-editor-footer{padding:10px 12px;align-items:flex-end}
  .event-editor-footer>div:first-child{display:none}
  .editor-card{padding:15px}
  .route-generator-controls{grid-template-columns:1fr}
  .rally-editor-toolbar{align-items:flex-start;flex-direction:column}
  .stage-plan-row{grid-template-columns:42px minmax(0,1fr)}
  .stage-plan-row>label{grid-column:2}
  .stage-plan-actions{grid-column:2}
  .modern-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manual-row{grid-template-columns:1fr}
  .manual-row .button{grid-column:auto}
}
.route-generator-source a{color:#9ee5ff;text-decoration:underline;text-decoration-color:rgba(158,229,255,.35);text-underline-offset:3px}
.route-generator-source a:hover{color:#fff}

/* V31.3.1 penalty time display */
.timing-table.has-penalty-column{
  min-width:900px;
}
.timing-table .penalty-header{
  color:#ad777c;
}
.timing-table .penalty-cell{
  color:#ff9da6;
  font-size:14px;
  font-weight:800;
  text-align:right;
  white-space:nowrap;
}
.timing-table .penalty-cell:not(:empty){
  text-shadow:0 0 14px rgba(255,120,135,.12);
}
@media(max-width:720px){
  .timing-table.has-penalty-column{
    min-width:0;
  }
  .timing-table .penalty-cell{
    text-align:left;
    font-size:14px;
  }
}

/* V31.3.4 modern podium redesign */
.modern-podium{
  max-width:1080px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr 1.16fr 1fr;
  align-items:end;
  gap:18px;
}
.modern-podium .podium-slot{
  position:relative;
  min-height:300px;
  padding:0;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.08);
  background:#0c1520;
  box-shadow:0 16px 44px rgba(0,0,0,.32);
  transform-style:preserve-3d;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.modern-podium .podium-slot:hover{
  transform:perspective(1100px) translateY(-10px) rotateX(5deg) rotateY(-2deg);
}
.modern-podium .podium-place-1{min-height:360px}
.modern-podium .podium-place-2,
.modern-podium .podium-place-3{min-height:320px}
.modern-podium .podium-bg,
.modern-podium .podium-bg img,
.modern-podium .podium-shade,
.modern-podium .podium-glow{position:absolute;inset:0}
.modern-podium .podium-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  opacity:.9;
  transform:scale(1.04);
}
.modern-podium .podium-shade{
  background:linear-gradient(180deg,rgba(4,10,16,.14) 0%,rgba(6,12,18,.32) 34%,rgba(5,11,18,.86) 76%,rgba(5,11,18,.98) 100%);
}
.modern-podium .podium-glow{
  inset:auto 14px 14px 14px;
  height:120px;
  border-radius:22px;
  filter:blur(26px);
  opacity:.42;
  pointer-events:none;
}
.modern-podium .podium-place-1 .podium-glow{background:rgba(255,211,92,.82)}
.modern-podium .podium-place-2 .podium-glow{background:rgba(199,210,223,.74)}
.modern-podium .podium-place-3 .podium-glow{background:rgba(205,127,74,.74)}
.modern-podium .podium-place-1{border-color:rgba(255,211,92,.34);box-shadow:0 22px 60px rgba(148,112,16,.24),0 14px 40px rgba(0,0,0,.34)}
.modern-podium .podium-place-2{border-color:rgba(199,210,223,.28);box-shadow:0 18px 50px rgba(97,110,124,.18),0 14px 40px rgba(0,0,0,.34)}
.modern-podium .podium-place-3{border-color:rgba(205,127,74,.28);box-shadow:0 18px 50px rgba(112,63,28,.18),0 14px 40px rgba(0,0,0,.34)}
.modern-podium .podium-rank{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-family:"Barlow Condensed",sans-serif;
  font-size:28px;
  font-weight:900;
  color:#08121b;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}
.modern-podium .podium-place-1 .podium-rank{background:#ffd35c}
.modern-podium .podium-place-2 .podium-rank{background:#c7d2df}
.modern-podium .podium-place-3 .podium-rank{background:#cd7f4a}
.modern-podium .podium-content{
  position:relative;
  z-index:3;
  min-height:100%;
  padding:22px 22px 20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  text-align:left;
}
.modern-podium .podium-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  margin-bottom:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#e6f5ff;
  background:rgba(7,19,29,.64);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(6px);
}
.modern-podium .podium-slot h3{
  margin:0 0 10px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:900;
  text-shadow:0 4px 18px rgba(0,0,0,.35);
}
.modern-podium .podium-place-1 h3{font-size:40px}
.modern-podium .podium-slot > strong{
  font-family:"Barlow Condensed",sans-serif;
  font-size:42px;
  line-height:1;
  letter-spacing:.01em;
}
.modern-podium .podium-place-1 > strong,
.modern-podium .podium-place-1 .podium-content > strong{font-size:48px}
.modern-podium .podium-slot > span,
.modern-podium .podium-content > span:last-child{
  margin-top:8px;
  color:#d3e2ea;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.modern-podium .podium-content > strong small{font-size:13px;color:#bfd3de}
.modern-podium .podium-slot .driver-name-with-flag{gap:10px}
.modern-podium .podium-slot .driver-flag{width:24px;height:16px}
.modern-podium .podium-slot:hover .podium-bg img{transform:scale(1.08)}
.modern-podium .podium-slot.is-empty{visibility:hidden}

@media(max-width:900px){
  .modern-podium{grid-template-columns:1fr;gap:12px}
  .modern-podium .podium-slot,
  .modern-podium .podium-place-1,
  .modern-podium .podium-place-2,
  .modern-podium .podium-place-3{min-height:280px}
  .modern-podium .podium-place-1{order:1}
  .modern-podium .podium-place-2{order:2}
  .modern-podium .podium-place-3{order:3}
  .modern-podium .podium-slot h3{font-size:30px}
  .modern-podium .podium-place-1 h3{font-size:34px}
  .modern-podium .podium-content > strong{font-size:38px}
}


.modern-podium .podium-place-1 .podium-label{border-color:rgba(255,211,92,.28);box-shadow:0 0 0 1px rgba(255,211,92,.08) inset}
.modern-podium .podium-place-2 .podium-label{border-color:rgba(199,210,223,.22);box-shadow:0 0 0 1px rgba(199,210,223,.06) inset}
.modern-podium .podium-place-3 .podium-label{border-color:rgba(205,127,74,.24);box-shadow:0 0 0 1px rgba(205,127,74,.06) inset}
.modern-podium .podium-place-1 .podium-content > strong{color:#ffe9a4}
.modern-podium .podium-place-2 .podium-content > strong{color:#edf3f8}
.modern-podium .podium-place-3 .podium-content > strong{color:#ffd2b3}

/* V31.3.6 podium prize pool */
.podium-showcase{
  max-width:1080px;
  margin:0 auto;
}
.prize-pool-card{
  margin:18px auto 0;
  padding:18px 22px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(10,18,28,.98),rgba(15,30,43,.96));
  box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;
  flex-direction:column;
  gap:8px;
  position:relative;
  overflow:hidden;
}
.prize-pool-card:before{
  content:"";
  position:absolute;
  inset:auto -10% -40px auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,211,92,.22),transparent 62%);
  pointer-events:none;
}
.prize-pool-card:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(90deg,rgba(255,211,92,.28),rgba(199,210,223,.18),rgba(205,127,74,.22));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
}
.prize-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#b5c5ce;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.prize-pool-card strong{
  position:relative;
  z-index:1;
  font-family:"Barlow Condensed",sans-serif;
  font-size:34px;
  line-height:1.05;
  color:#fff;
}
.prize-pool-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#99aab3;
  font-size:13px;
}
@media(max-width:900px){
  .prize-pool-card{margin-top:12px;padding:16px 18px}
  .prize-pool-card strong{font-size:28px}
  .prize-pool-card p{font-size:12px}
}

/* V31.3.7 podium PTS readability */
.modern-podium .podium-content > strong{
  display:inline-flex;
  align-items:flex-end;
  gap:8px;
  width:max-content;
  margin-top:2px;
  padding:8px 12px 7px;
  border-radius:16px;
  background:rgba(6,14,22,.68);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.26);
  backdrop-filter:blur(8px);
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.modern-podium .podium-content > strong small{
  font-size:14px;
  line-height:1.2;
  color:#dce8ee;
}
.modern-podium .podium-place-2 .podium-content > strong{
  background:rgba(14,18,24,.78);
  border-color:rgba(199,210,223,.18);
}
.modern-podium .podium-place-3 .podium-content > strong{
  background:rgba(20,14,12,.78);
  border-color:rgba(205,127,74,.20);
}

/* V31.4.0 prize pool trophy visual */
.prize-pool-card{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);
  align-items:center;
  gap:20px;
}
.prize-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}
.prize-visual{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:180px;
}
.prize-visual:before{
  content:"";
  position:absolute;
  inset:auto 50% 6px 50%;
  width:180px;
  height:48px;
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,211,92,.36),rgba(255,211,92,.12) 45%,transparent 72%);
  filter:blur(10px);
  pointer-events:none;
}
.prize-visual img{
  position:relative;
  z-index:1;
  max-width:190px;
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 16px 32px rgba(0,0,0,.34));
  transition:transform .25s ease;
}
.prize-pool-card:hover .prize-visual img{
  transform:translateY(-4px) scale(1.03);
}
@media(max-width:900px){
  .prize-pool-card{
    grid-template-columns:1fr;
    text-align:left;
  }
  .prize-visual{
    order:-1;
    min-height:140px;
    margin-top:2px;
  }
  .prize-visual img{
    max-width:145px;
  }
}


/* V31.3.3 punktitabeli parandused */
.timing-table .rallies-cell{
  color:var(--accent)!important;
}


/* V31.3.4 home hero rally live box */
.home-hero-inner{align-items:flex-start;padding-top:52px;padding-bottom:34px}
.home-hero-copy{max-width:700px;padding-top:10px;display:flex;flex-direction:column}
.hero-live-box{margin-top:24px;width:min(700px,100%);border:1px solid rgba(125,198,230,.26);border-radius:24px;background:linear-gradient(155deg,rgba(7,24,37,.92),rgba(10,31,47,.95));box-shadow:0 18px 50px rgba(0,8,15,.34);overflow:hidden;backdrop-filter:blur(14px)}
.hero-live-head,.hero-live-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}
.hero-live-head{border-bottom:1px solid rgba(255,255,255,.1)}
.hero-live-head h3{margin:6px 0 0;font-size:24px;line-height:1.1}
.hero-live-pill{padding:7px 10px;border-radius:999px;background:rgba(84,205,247,.14);color:#9edcff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.hero-live-media{aspect-ratio:16/9;background:#08121a;position:relative}
.hero-live-footer{border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#c3d2da}
.hero-live-footer a{display:inline-flex;align-items:center;gap:7px;color:#9fdcff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.hero-live-footer svg{width:14px;height:14px;color:var(--accent)}
.broadcast-loading,.broadcast-empty,.broadcast-external{min-height:100%;display:flex;align-items:center;justify-content:center;gap:16px;padding:22px;color:#d7e8ef;text-align:center;background:linear-gradient(135deg,#0b1d2a,#08131c)}
.broadcast-empty,.broadcast-external{flex-direction:column}.broadcast-empty strong,.broadcast-external strong{font-size:20px}
.broadcast-empty p,.broadcast-external p{margin:0;color:#b8cad2;font-size:13px;line-height:1.55}
.broadcast-embed,.broadcast-embed iframe,.broadcast-embed video{width:100%;height:100%}.broadcast-embed{background:#000}.broadcast-embed iframe,.broadcast-embed video{display:block;border:0}
.broadcast-poster{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.broadcast-poster.is-compact{min-height:100%}
.broadcast-poster:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,14,.18),rgba(5,9,14,.72))}
.broadcast-poster.no-image{background:linear-gradient(135deg,#102a3b,#091520)}
.broadcast-poster>*{position:relative;z-index:1}
.broadcast-poster-meta{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 12px;border-radius:16px;background:rgba(5,11,16,.58);backdrop-filter:blur(6px);text-align:left}
.broadcast-poster-meta strong{display:block;font-size:13px}.broadcast-poster-meta small{display:block;margin-top:3px;color:#bbced8;font-size:11px;line-height:1.45}
@media (max-width: 980px){
  .home-hero-inner{padding-top:44px}.hero-live-head,.hero-live-footer{flex-direction:column;align-items:flex-start}.hero-live-footer a{white-space:normal}
}
@media (max-width: 700px){
  .home-hero,.home-hero-inner{min-height:unset}.home-hero-inner{padding-top:42px;padding-bottom:26px}.home-hero-copy{padding-top:0}.hero-live-box{margin-top:18px;border-radius:20px}.hero-live-head h3{font-size:20px}.hero-live-media{aspect-ratio:16/10}.broadcast-poster{min-height:250px}
}


/* V31.3.6 Twitch player must fill the entire RALLY LIVE media area */
.hero-live-media > .broadcast-embed,
.broadcast-embed-twitch,
.broadcast-embed-twitch > .twitch-player-host,
.broadcast-embed-twitch > .twitch-player-host > iframe{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
}
.broadcast-embed-twitch{
  display:block!important;
  aspect-ratio:auto!important;
  overflow:hidden;
}
.broadcast-embed-twitch > .twitch-player-host{display:block!important}


/* V31.3.8 mobile standings spacing + clean live footer */
.hero-live-footer{
  justify-content:flex-end;
  min-height:48px;
  padding-top:12px;
  padding-bottom:12px;
}

@media(max-width:720px){
  /* Old generic podium mobile grid was still affecting the modern cards. */
  .modern-podium .podium-slot,
  .modern-podium .podium-place-1,
  .modern-podium .podium-place-2,
  .modern-podium .podium-place-3{
    display:block!important;
    grid-template:none!important;
    min-height:300px!important;
    padding:0!important;
    text-align:left!important;
  }
  .modern-podium .podium-content{
    min-height:300px;
    padding:20px 20px 18px;
    display:flex!important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
  }
  .modern-podium .podium-slot h3,
  .modern-podium .podium-place-1 h3{
    width:calc(100% - 62px);
    margin:0 0 10px;
    font-size:32px;
    line-height:1.02;
  }
  .modern-podium .podium-slot h3 .driver-name-with-flag{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:9px;
  }
  .modern-podium .podium-slot h3 .driver-name-with-flag>span:first-child{
    flex:0 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .modern-podium .podium-slot .driver-flag{
    flex:0 0 24px;
    width:24px;
    height:16px;
    transform:none;
  }
  .modern-podium .podium-content>strong{
    margin-top:0;
  }
  .modern-podium .podium-content>span:last-child{
    margin-top:12px;
    line-height:1.35;
  }

  /* Compact, properly spaced championship rows on phones. */
  .standings-page .timing-table.is-points-table,
  .standings-page .timing-table.is-points-table tbody{
    display:block!important;
    width:100%!important;
  }
  .standings-page .timing-table.is-points-table tbody{
    padding:10px!important;
  }
  .standings-page .timing-table.is-points-table tr{
    position:relative!important;
    width:100%!important;
    min-height:112px!important;
    margin:0 0 10px!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) 78px!important;
    grid-template-rows:1fr 1fr!important;
    column-gap:12px!important;
    row-gap:4px!important;
    border:1px solid #31424e!important;
    border-radius:18px!important;
    background:#20272f!important;
  }
  .standings-page .timing-table.is-points-table tr:last-child{
    margin-bottom:0!important;
  }
  .standings-page .timing-table.is-points-table td{
    position:static!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    display:block!important;
  }
  .standings-page .timing-table.is-points-table td:nth-child(1){
    grid-column:1!important;
    grid-row:1/3!important;
    align-self:center!important;
  }
  .standings-page .timing-table.is-points-table td:nth-child(2){
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
    min-width:0!important;
  }
  .standings-page .timing-table.is-points-table td:nth-child(3){
    display:none!important;
  }
  .standings-page .timing-table.is-points-table td:nth-child(4){
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
  }
  .standings-page .timing-table.is-points-table td:nth-child(5){
    grid-column:3!important;
    grid-row:2!important;
    align-self:center!important;
  }
  .standings-page .timing-table.is-points-table .position{
    width:48px;
    height:48px;
    border-radius:14px;
    font-size:22px;
  }
  .standings-page .timing-table.is-points-table .driver-link{
    width:100%;
    min-width:0;
  }
  .standings-page .timing-table.is-points-table .driver-link strong{
    font-size:16px;
    line-height:1.2;
  }
  .standings-page .timing-table.is-points-table .driver-link span{
    margin-top:5px;
    font-size:11px;
    line-height:1.3;
  }
  .standings-page .timing-table.is-points-table .time-cell,
  .standings-page .timing-table.is-points-table .rallies-cell{
    display:flex!important;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:3px;
    text-align:right!important;
    font-size:22px!important;
    line-height:1!important;
    color:#f1f7fa;
  }
  .standings-page .timing-table.is-points-table .rallies-cell{
    font-size:19px!important;
    color:var(--accent)!important;
  }
  .standings-page .timing-table.is-points-table .time-cell:before,
  .standings-page .timing-table.is-points-table .rallies-cell:before{
    content:attr(data-label)!important;
    display:block!important;
    width:auto!important;
    margin:0!important;
    color:#8ea4b1!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.1!important;
    letter-spacing:.02em;
  }
  .standings-page .timing-card>header{
    min-height:74px;
    padding:15px 16px;
  }
  .standings-page .timing-card>header strong{
    font-size:21px;
    line-height:1.2;
  }
}

@media(max-width:390px){
  .standings-page .timing-table.is-points-table tr{
    grid-template-columns:46px minmax(0,1fr) 68px!important;
    padding:14px!important;
    column-gap:10px!important;
  }
  .standings-page .timing-table.is-points-table .position{
    width:44px;
    height:44px;
  }
  .standings-page .timing-table.is-points-table .driver-link strong{
    font-size:15px;
  }
}

/* V31.4.1 current rally overall card; sound unlock stays invisible */
.media-sound-unlock{display:none!important}


/* V31.4.3 home Top 3 uses the modern podium cards */
.homepage-podium-card{display:flex;flex-direction:column}
.homepage-podium-body{padding:14px 14px 16px}
.homepage-podium-card .home-podium-wrap{display:block}
.homepage-podium-card .home-podium{grid-template-columns:1fr;gap:12px;max-width:none;margin:0}
.homepage-podium-card .home-podium .podium-slot,
.homepage-podium-card .home-podium .podium-place-1,
.homepage-podium-card .home-podium .podium-place-2,
.homepage-podium-card .home-podium .podium-place-3{min-height:240px}
.homepage-podium-card .home-podium .podium-place-1{order:1}
.homepage-podium-card .home-podium .podium-place-2{order:2}
.homepage-podium-card .home-podium .podium-place-3{order:3}
.homepage-podium-card .home-podium .podium-slot h3{font-size:30px}
.homepage-podium-card .home-podium .podium-place-1 h3{font-size:34px}
.homepage-podium-card .home-podium .podium-content>strong{font-size:38px}
.homepage-podium-card .home-podium .podium-rank{width:56px;height:56px;font-size:28px}
@media (max-width: 700px){
  .homepage-podium-body{padding:12px}
  .homepage-podium-card .home-podium .podium-slot,
  .homepage-podium-card .home-podium .podium-place-1,
  .homepage-podium-card .home-podium .podium-place-2,
  .homepage-podium-card .home-podium .podium-place-3{min-height:220px}
}


/* V31.4.6 finished rally winner / top 3 card */
.rally-result-highlight.is-finished{background:linear-gradient(145deg,#102437,#0c1925)}
.rally-result-body{padding:8px}
.finished-rally-top3{display:grid;gap:8px}
.finished-rally-row{min-height:78px;padding:12px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;border-radius:14px;background:rgba(255,255,255,.028);border:1px solid transparent}
.finished-rally-row.is-place-1{background:linear-gradient(90deg,rgba(255,211,92,.11),rgba(255,255,255,.025));border-color:rgba(255,211,92,.18)}
.finished-rally-row.is-place-2{background:linear-gradient(90deg,rgba(199,210,223,.08),rgba(255,255,255,.025))}
.finished-rally-row.is-place-3{background:linear-gradient(90deg,rgba(205,127,74,.08),rgba(255,255,255,.025))}
.finished-rally-driver{min-width:0}.finished-rally-driver .driver-link strong{font-size:14px}.finished-rally-driver .driver-link span{font-size:10px}
.finished-rally-time,.finished-rally-points{min-width:112px;text-align:right}
.finished-rally-time span,.finished-rally-points span{display:block;color:#8ea5b2;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.finished-rally-time strong,.finished-rally-points strong{display:block;margin-top:4px;color:#f4f8fb;font-size:15px}
.finished-rally-points strong{color:#ffe59a}.finished-rally-points small{display:block;margin-top:3px;color:#c9d4da;font-size:9px}
.rally-winner-spotlight{position:relative;min-height:330px;overflow:hidden;border-radius:18px;background:#08131d;border:1px solid rgba(255,211,92,.22)}
.rally-winner-bg,.rally-winner-bg img,.rally-winner-shade{position:absolute;inset:0}.rally-winner-bg img{width:100%;height:100%;object-fit:cover;object-position:center top}
.rally-winner-shade{background:linear-gradient(90deg,rgba(5,12,18,.96) 0%,rgba(5,12,18,.72) 50%,rgba(5,12,18,.23) 100%),linear-gradient(0deg,rgba(5,12,18,.94),transparent 56%)}
.rally-winner-content{position:relative;z-index:2;min-height:330px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.rally-winner-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,211,92,.16);border:1px solid rgba(255,211,92,.28);color:#ffe59a;font-size:11px;font-weight:900;letter-spacing:.1em}
.rally-winner-content h3{margin:14px 0 5px;font-size:42px!important;line-height:1}.rally-winner-content p{margin:0;color:#bdcbd3;font-size:12px}
.rally-winner-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.rally-winner-stats>div{min-width:150px;padding:13px 15px;border-radius:15px;background:rgba(5,14,21,.72);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(7px)}
.rally-winner-stats span{display:block;color:#90a8b5;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rally-winner-stats strong{display:block;margin-top:5px;color:#fff;font-size:20px}.rally-winner-stats>div:last-child strong{color:#ffe59a}.rally-winner-stats small{display:block;margin-top:4px;color:#d3dde2;font-size:10px}
@media(max-width:700px){
  .finished-rally-row{grid-template-columns:34px minmax(0,1fr) auto}.finished-rally-points{grid-column:2/-1;min-width:0;text-align:left;padding-top:6px;border-top:1px solid rgba(255,255,255,.07)}.finished-rally-time{min-width:92px}.rally-winner-spotlight,.rally-winner-content{min-height:300px}.rally-winner-content{padding:20px}.rally-winner-content h3{font-size:34px!important}.rally-winner-stats{width:100%}.rally-winner-stats>div{flex:1;min-width:130px}
}


/* V31.4.8 RALLY LIVE fallback image */
.broadcast-image-fallback{
  position:relative;
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  overflow:hidden;
  background:#061019;
}
.broadcast-image-fallback img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.broadcast-image-fallback.is-clickable{
  cursor:pointer;
  text-decoration:none;
}
.broadcast-image-fallback.is-clickable:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 54%,rgba(2,9,14,.72));
  pointer-events:none;
}
.broadcast-image-action{
  position:absolute;
  z-index:2;
  right:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(5,18,28,.82);
  color:#bcecff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  backdrop-filter:blur(8px);
}
.broadcast-image-action svg{width:15px;height:15px}
@media (max-width:700px){
  .broadcast-image-action{right:12px;bottom:12px;padding:8px 11px;font-size:10px}
}


/* V31.4.9 winner spotlight with fixed-height scroll list */
.rally-result-highlight.has-winner-list .rally-result-body{height:740px;overflow:hidden;display:flex;flex-direction:column}
.rally-winner-layout{display:flex;flex-direction:column;gap:12px;min-height:100%;height:100%}
.rally-winner-spotlight{flex:0 0 auto}
.winner-other-results{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}
.winner-other-results>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.winner-other-results>header span{color:#9fc5d8;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.winner-other-results>header b{color:#d8e7ef;font-size:12px}
.winner-other-list{flex:1;min-height:0;overflow:auto;display:grid;gap:8px;padding-right:4px;margin-top:10px}
.winner-other-list::-webkit-scrollbar{width:8px}.winner-other-list::-webkit-scrollbar-thumb{background:rgba(142,185,209,.35);border-radius:999px}.winner-other-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.winner-other-row{min-height:68px;padding:11px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;border-radius:13px;background:rgba(6,19,29,.66);border:1px solid rgba(255,255,255,.06)}
.winner-other-pos{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#26333c;color:#e7f1f7;font-size:15px;font-weight:800}
.winner-other-driver{min-width:0}.winner-other-driver .driver-link strong{font-size:14px}.winner-other-driver .driver-link span{font-size:10px}
.winner-other-status{text-align:right;min-width:86px}.winner-other-status span{display:block;color:#8ea5b2;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.winner-other-status strong{display:block;margin-top:4px;color:#ffd8a3;font-size:14px}
@media (max-width: 900px){.rally-result-highlight.has-winner-list .rally-result-body{height:700px}}
@media (max-width: 640px){.rally-result-highlight.has-winner-list .rally-result-body{height:680px}.winner-other-row{grid-template-columns:34px minmax(0,1fr)}.winner-other-status{grid-column:2/-1;text-align:left;padding-top:6px;border-top:1px solid rgba(255,255,255,.07);min-width:0}}
