:root{--yellow:#f7b514;--orange:#f18b1a;--ink:#1e1b1c;--muted:#777;--line:#e9e9e9;--bg:#f5f5f5;--card:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit}.topbar{position:sticky;top:0;z-index:50;background:rgba(30,27,28,.96);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,4vw,54px);box-shadow:0 10px 35px rgba(0,0,0,.18)}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.logo img{height:68px;width:68px;object-fit:contain;background:transparent}.mainnav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.mainnav a{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:14px;padding:12px 14px;border-radius:999px}.mainnav a:hover,.mainnav a.active{background:var(--yellow);color:#111}.hero{min-height:clamp(220px,34vw,420px);background:#201d1e center/cover no-repeat;position:relative;display:flex;align-items:end;margin:0 0 30px;border-radius:0}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 55%,rgba(0,0,0,.05))}.hero-inner{position:relative;width:min(1220px,100%);margin:0 auto;padding:48px 22px;color:#fff}.hero-inner h1{margin:0;font-size:clamp(36px,6vw,78px);line-height:.92;text-transform:uppercase;font-weight:1000;letter-spacing:-.04em}.page-wrap{width:min(1220px,calc(100% - 28px));margin:0 auto 70px}.alert{background:#fff7cf;border-left:6px solid var(--yellow);padding:15px 18px;border-radius:16px;margin:0 0 20px;box-shadow:0 10px 28px rgba(0,0,0,.05)}.alert-error{background:#ffe9e9;border-color:#dc3545}.panel,.card{background:var(--card);border-radius:28px;padding:clamp(18px,3vw,32px);box-shadow:0 18px 50px rgba(0,0,0,.08)}.mt{margin-top:22px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.card{text-decoration:none;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #fff}.card:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(0,0,0,.12)}.card strong{font-size:34px}.card span{color:var(--muted);font-weight:800}.btn,button{border:0;background:var(--yellow);color:#151515;border-radius:999px;padding:13px 20px;font-weight:1000;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:none}.btn.secondary,button.secondary{background:#eee}.btn.dark{background:#111;color:#fff}input,select,textarea{width:100%;border:1px solid #ddd;border-radius:16px;padding:13px 14px;font:inherit;background:#fff}label{font-weight:800;display:grid;gap:7px}.form-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.toolbar,.section-title,.selection-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.toolbar h2,.selection-head h2,.panel h2{margin:0;text-transform:uppercase;font-size:clamp(24px,3vw,42px);letter-spacing:-.03em}.muted{color:var(--muted)}.draft-layout{display:grid;grid-template-columns:1.25fr .9fr;gap:22px;align-items:start}.rider-pool,.selected-riders{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px;max-height:620px;overflow:auto;padding-right:6px}.rider-chip{background:#fff;border:2px solid #eee;border-radius:18px;padding:12px;text-align:left;display:grid;gap:4px;cursor:grab}.rider-chip:hover{border-color:var(--yellow)}.rider-chip .bib{color:var(--orange);font-weight:1000}.rider-chip strong{font-size:15px}.rider-chip small{color:var(--muted)}.selection-box{border:3px dashed #ddd;border-radius:28px;background:#fff;padding:22px;min-height:360px;position:sticky;top:110px}.selected-riders{grid-template-columns:1fr;max-height:520px}.selected-riders .rider-chip{cursor:pointer;background:#fff9df;border-color:var(--yellow)}.ranking-shell{background:#fff;border-radius:0 0 28px 28px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.07)}.ranking-top{background:#fff;padding:24px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ranking-top h1{font-size:clamp(28px,4vw,50px);margin:0;text-transform:uppercase;letter-spacing:-.04em}.powered{margin:8px 0 0;color:#555}.stage-nav{display:flex;align-items:center;gap:14px;text-align:center;text-transform:uppercase;font-weight:900}.stage-nav span{display:block;color:#777;font-size:13px}.circle{width:48px;height:48px;border:3px solid #cfcfcf;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:30px;background:#fff}.disabled{opacity:.35}.ranking-tabs{display:flex;overflow-x:auto;border-block:1px solid var(--line);background:#fff;justify-content:flex-end}.tab{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:15px 18px;text-decoration:none;text-transform:uppercase;font-weight:1000;border-left:1px solid var(--line);position:relative}.tab.active{background:#f4f4f4}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--yellow)}.jersey{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fafafa;border:1px solid #ddd}.ranking-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;background:#f7f7f7}.ranking-switch{display:flex;gap:22px;text-transform:uppercase;font-weight:1000}.ranking-switch strong{border-bottom:5px solid var(--yellow);padding-bottom:10px}.ranking-switch span{color:#888}.search{max-width:360px;border-radius:999px}.tour-table{width:100%;overflow-x:auto}.tour-head,.tour-row{display:grid;grid-template-columns:80px minmax(230px,2fr) minmax(180px,1.6fr) 120px 120px 90px 90px;align-items:center;min-width:900px}.tour-head{color:#777;font-weight:900;padding:18px 18px;text-transform:uppercase;font-size:13px}.tour-row{min-height:88px;padding:0 18px;border-bottom:1px solid #eee;background:#fff}.tour-row:nth-child(even){background:#f3f3f3}.tour-row.leader{background:#151515!important;color:#fff;min-height:118px}.rank{width:44px;height:44px;background:#000;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:1000}.leader .rank{background:#ddd;color:#111}.rider{display:flex;align-items:center;gap:12px}.bib{color:#777;font-weight:1000}.leader .bib{color:#fff}.found{outline:5px solid var(--yellow);outline-offset:-5px}.empty{padding:38px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.admin-nav a{background:#fff;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.05)}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.preview-hero{height:220px;background:center/cover no-repeat;border-radius:0;margin:16px 0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.photo-tile{aspect-ratio:1;background:#eee;overflow:hidden;border-radius:20px}.photo-tile img{width:100%;height:100%;object-fit:cover}.news-item{border-top:1px solid var(--line);padding:16px 0}.news-item:first-child{border-top:0}.result-block{overflow:auto}.result-grid{display:grid;grid-template-columns:44px 90px 1.2fr 1.2fr 1fr 1fr .8fr .8fr;gap:8px;align-items:center;min-width:980px;margin:8px 0}.result-grid.head{font-size:12px;text-transform:uppercase;color:#777;font-weight:1000}.checkline{display:flex;align-items:center;gap:10px}.checkline input{width:auto}@media(max-width:820px){.topbar{align-items:flex-start;flex-direction:column}.mainnav{justify-content:flex-start}.mainnav a{padding:9px 10px;font-size:12px}.logo img{height:56px;width:56px}.page-wrap{width:calc(100% - 20px)}.form-row,.draft-layout{grid-template-columns:1fr!important}.selection-box{position:static}.ranking-top,.ranking-tools{align-items:flex-start;flex-direction:column}.ranking-tabs{justify-content:flex-start}.search{max-width:none}.tour-head{display:none}.tour-row{grid-template-columns:58px 1fr;min-width:0;padding:14px;gap:10px}.tour-row>div:nth-child(n+3){grid-column:2;font-size:14px}.tour-row>div:nth-child(3):before{content:'Team: ';font-weight:900}.tour-row>div:nth-child(4):before{content:'Tijd: ';font-weight:900}.tour-row>div:nth-child(5):before{content:'Verschil: ';font-weight:900}.tour-row>div:nth-child(6):before{content:'Bonus: ';font-weight:900}.tour-row>div:nth-child(7):before{content:'Punten: ';font-weight:900}.hero-inner{padding:34px 18px}.rider-pool{max-height:none}.stage-nav{width:100%;justify-content:space-between}}

/* UI update 2026-04-30 */
.eyebrow{margin:0 0 8px;color:var(--orange);font-weight:1000;text-transform:uppercase;letter-spacing:.1em}.grid-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;margin-bottom:22px}.intro-panel{min-height:260px;display:flex;flex-direction:column;justify-content:center}.intro-panel h2{font-size:clamp(38px,5vw,72px);line-height:.9;margin:0 0 14px;text-transform:uppercase;letter-spacing:-.05em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.stage-card{background:linear-gradient(135deg,#1e1b1c,#383335);color:#fff;border-radius:30px;padding:32px;box-shadow:0 18px 50px rgba(0,0,0,.13);display:flex;flex-direction:column;justify-content:end;min-height:260px}.stage-card span{text-transform:uppercase;color:var(--yellow);font-weight:1000}.stage-card strong{font-size:clamp(34px,4vw,56px);line-height:1}.news-item img{width:100%;max-height:260px;object-fit:cover;border-radius:18px;margin-bottom:12px}.photo-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-tabs,.stage-strip{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ranking-tabs{justify-content:flex-start!important;overflow-x:auto;overscroll-behavior-x:contain}.ranking-tabs .tab{white-space:nowrap}.stage-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 18px;background:#151515}.stage-pill{flex:0 0 auto;min-width:108px;display:flex;align-items:center;gap:8px;text-decoration:none;background:#2a2728;color:#fff;border-radius:999px;padding:8px 12px}.stage-pill span{width:30px;height:30px;background:#fff;color:#111;border-radius:50%;display:grid;place-items:center;font-weight:1000}.stage-pill small{font-weight:800;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-pill.active{background:var(--yellow);color:#111}.tour-table-wrap{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.tour-table{min-width:880px}.tour-table .tour-head,.tour-table .tour-row{display:grid}.tour-total .tour-head,.tour-total .tour-row{grid-template-columns:80px 120px minmax(220px,2fr) 140px 140px 160px 120px}.tour-simple .tour-head,.tour-simple .tour-row{grid-template-columns:80px minmax(260px,2fr) 150px 150px 130px}.tour-head{background:#fafafa;position:sticky;top:0;z-index:1}.tour-row .rider{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.tour-row .rider a{text-decoration:none}.tour-row .rider a:hover{text-decoration:underline}.tour-row .rider small{color:#777}.leader .rider small{color:#ddd}.rider-chip.is-picked{opacity:.42;filter:grayscale(1);cursor:not-allowed}.rider-chip.is-picked:after{content:'Gekozen';font-size:12px;font-weight:1000;color:#111;background:var(--yellow);border-radius:999px;padding:4px 8px;justify-self:start}.participant-page h3{font-size:24px;text-transform:uppercase;margin:28px 0 14px}.score-badge{background:#111;color:#fff;border-radius:24px;padding:18px 24px;text-align:center}.score-badge span{display:block;text-transform:uppercase;color:var(--yellow);font-weight:1000}.score-badge strong{font-size:44px}.explain-box{background:#fff9df;border-left:6px solid var(--yellow);border-radius:18px;padding:16px 18px;margin:20px 0}.mini-table{border:1px solid var(--line);border-radius:20px;overflow:hidden}.mini-head,.mini-row{display:grid;grid-template-columns:100px 1fr 120px;gap:12px;padding:14px 16px;align-items:center}.mini-head{background:#111;color:#fff;text-transform:uppercase;font-weight:1000;font-size:13px}.mini-row:nth-child(odd){background:#f5f5f5}@media(max-width:820px){.grid-two{grid-template-columns:1fr}.stage-card{min-height:180px}.photo-grid.compact{grid-template-columns:repeat(2,1fr)}.ranking-shell{border-radius:20px;overflow:hidden}.ranking-top{padding:18px}.ranking-tabs{padding-bottom:4px}.tab{padding:12px 14px;font-size:13px}.jersey{width:28px;height:28px}.tour-table{min-width:0}.tour-total .tour-head,.tour-simple .tour-head{display:none}.tour-total .tour-row,.tour-simple .tour-row{display:grid;grid-template-columns:58px 1fr;min-width:0;padding:14px;gap:8px}.tour-total .tour-row>div:not(.rank),.tour-simple .tour-row>div:not(.rank){grid-column:2}.tour-row>div:not(.rank)::before{content:attr(data-label) ': ';font-weight:1000;color:#777}.leader div:not(.rank)::before{color:#ddd}.tour-row .rider::before{content:''}.tour-row .rider small{font-size:12px}.mini-head{display:none}.mini-row{grid-template-columns:1fr}.selection-box{min-height:220px}.rider-pool,.selected-riders{grid-template-columns:1fr}.panel,.card{border-radius:22px}.form-row{gap:12px}.toolbar{align-items:flex-start}.score-badge{width:100%}}
/* NTT rules update */
.result-grid.ntt{grid-template-columns:70px 130px minmax(220px,1fr) minmax(160px,1fr) 160px}.selection-stack{display:grid;gap:18px}.selection-box{min-height:260px}.rider-chip.is-picked{opacity:.45;filter:grayscale(1);cursor:not-allowed}.captain{display:inline-block;margin-left:8px;background:#fff2b8;color:#111;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}.soft{background:#fff9df}.explain-box{background:#f7f7f7;border-left:6px solid #f7b500;padding:18px;margin:20px 0;border-radius:14px}.mini-table{overflow-x:auto}.mini-head,.mini-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;align-items:center;min-width:720px}.mini-head{font-weight:900;color:#777;text-transform:uppercase}.mini-row{padding:14px 0;border-top:1px solid #eee}.ranking-tabs,.stage-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.ranking-tabs .tab,.stage-strip .stage-pill{flex:0 0 auto}@media(max-width:760px){.result-grid.ntt{grid-template-columns:44px 80px minmax(140px,1fr);gap:8px}.result-grid.ntt span:nth-child(4),.result-grid.ntt input:nth-child(4),.result-grid.ntt span:nth-child(5){grid-column:2 / -1}.ntt-registration{grid-template-columns:1fr}.mini-head,.mini-row{min-width:620px}.topbar{gap:10px}.mainnav{overflow-x:auto}}

/* Admin update: uitslagen selecties, deelnemers en ploegen */
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.admin-table th{background:#111;color:#fff;text-align:left;text-transform:uppercase;font-size:12px;letter-spacing:.04em;padding:14px}.admin-table td{padding:14px;border-bottom:1px solid #eee;background:#fff;vertical-align:middle}.admin-table tr.paid-row td{background:#e8f8ea}.admin-table input[type=checkbox]{width:22px;height:22px}.multi-select{min-height:420px;border-radius:18px;padding:12px}.multi-select option{padding:8px}.result-grid-select{display:grid;grid-template-columns:70px minmax(280px,1fr) 180px;gap:12px;align-items:center;min-width:620px;margin:10px 0}.result-grid-select.head{font-size:12px;text-transform:uppercase;color:#777;font-weight:1000}.result-grid-select select{width:100%}.admin-results-form .panel{overflow-x:auto}.inline-form{display:grid;gap:10px;max-width:520px}.paid-row strong:after{content:' Betaald';display:inline-block;margin-left:8px;background:#2fb344;color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;text-transform:uppercase}.admin-nav{align-items:center}.admin-nav a[href*="deelnemers"],.admin-nav a[href*="ploegen"]{border:1px solid #eee}@media(max-width:760px){.result-grid-select{grid-template-columns:44px minmax(220px,1fr);min-width:0}.result-grid-select span:last-child{grid-column:2}.admin-table{min-width:950px}.multi-select{min-height:300px}.form-row{grid-template-columns:1fr!important}}

/* Admin results create/edit upgrade */
.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-grid.compact{gap:.7rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:700}.form-grid .full{grid-column:1/-1}.settings-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.mt-sm{margin-top:.75rem}.section-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:1rem 0;margin-top:1rem;border-top:1px solid rgba(15,23,42,.08);z-index:5}.alert{border-radius:14px;padding:1rem;margin:1rem 0}.alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert ul{margin:.4rem 0 0 1.2rem}.result-grid-select select.rider-select{min-width:0}@media(max-width:800px){.admin-grid-2,.form-grid{grid-template-columns:1fr}.result-grid-select{grid-template-columns:42px minmax(220px,1fr) 120px;min-width:560px}.result-block{overflow-x:auto}.sticky-actions{padding:1rem}.sticky-actions .btn{width:100%}}

/* Admin riders list upgrade */
.admin-riders-header .toolbar{align-items:stretch}.admin-stats{display:flex;gap:12px;flex-wrap:wrap}.admin-stats div{min-width:130px;background:#111;color:#fff;border-radius:22px;padding:16px 18px;display:grid;gap:2px}.admin-stats strong{font-size:34px;line-height:1}.admin-stats span{text-transform:uppercase;color:#f7b514;font-size:12px;font-weight:1000}.inline-form.wide{max-width:none}.form-row.two{grid-template-columns:minmax(0,1fr) auto}.rider-filter-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.rider-filter-form input{min-width:280px}.rider-filter-form select{width:auto;min-width:180px}.riders-table{min-width:900px}.riders-table td:first-child,.riders-table th:first-child{width:120px}.bib-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;background:#fff2c5;color:#111;font-weight:1000;padding:8px 10px}.mini-label{display:inline-flex;margin-left:8px;background:#eef6ff;color:#0957a0;border-radius:999px;font-size:11px;font-weight:1000;text-transform:uppercase;padding:4px 8px}.status-badge{display:inline-flex;border-radius:999px;padding:7px 10px;text-transform:uppercase;font-size:12px;font-weight:1000}.status-badge.good{background:#e8f8ea;color:#147b33}.status-badge.bad{background:#fff1f1;color:#b42318}.admin-table tr.abandoned-row td{background:#fff7f7;color:#777}.admin-table tr.abandoned-row strong{text-decoration:line-through;text-decoration-thickness:2px}.switchline{display:inline-flex!important;grid-template-columns:auto auto;align-items:center;gap:10px;font-weight:900}.switchline input{width:22px;height:22px;accent-color:#b42318}.pagination-wrap{margin-top:18px}.pagination-wrap nav{display:flex;gap:6px;flex-wrap:wrap}.pagination-wrap svg{width:18px;height:18px}.pagination-wrap .hidden{display:none}@media(max-width:760px){.admin-riders-header .toolbar,.rider-filter-form{align-items:stretch;flex-direction:column}.admin-stats{width:100%}.admin-stats div{flex:1}.rider-filter-form input,.rider-filter-form select,.rider-filter-form button,.rider-filter-form .btn{width:100%;min-width:0}.form-row.two{grid-template-columns:1fr!important}.riders-table{min-width:760px}}

/* Publieke rennerslijst */
.riders-public .toolbar{align-items:flex-start}.rider-summary{display:flex;gap:12px;flex-wrap:wrap}.rider-summary div{min-width:128px;background:#111;color:#fff;border-radius:22px;padding:15px 18px;display:grid;gap:2px}.rider-summary strong{font-size:32px;line-height:1}.rider-summary span{text-transform:uppercase;color:var(--yellow);font-size:12px;font-weight:1000}.rider-public-filter{display:grid;grid-template-columns:minmax(220px,1fr) 210px auto auto;gap:10px;align-items:center}.public-riders-table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px}.public-riders-table th{background:#151515;color:#fff;text-align:left;text-transform:uppercase;font-size:12px;letter-spacing:.05em;padding:15px}.public-riders-table td{background:#fff;border-bottom:1px solid #eee;padding:16px 15px;vertical-align:middle}.public-riders-table tbody tr:hover td{background:#fff9df}.public-riders-table tr.abandoned-row td{background:#fff0f0;color:#7a2e2e}.public-riders-table tr.abandoned-row:hover td{background:#ffe5e5}.public-riders-table tr.abandoned-row td:nth-child(2) strong{text-decoration:line-through;text-decoration-thickness:2px}.public-riders-table .bib-pill{background:#fff2c5}.public-riders-table .status-badge{white-space:nowrap}@media(max-width:780px){.rider-public-filter{grid-template-columns:1fr}.rider-public-filter .btn,.rider-public-filter button{width:100%}.rider-summary{width:100%}.rider-summary div{flex:1}.public-riders-table{min-width:760px}}
.admin-preview-shell{border:3px solid #f7b514}.admin-preview-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 22px 18px}.stage-pill.draft{border:2px dashed #f7b514;opacity:.88}.action-row{display:flex!important;gap:12px;align-items:center;flex-wrap:wrap}.action-row .btn{width:auto}@media(max-width:760px){.action-row .btn,.admin-preview-actions .btn{width:100%;text-align:center}.admin-preview-actions{padding:0 14px 14px}}
.ranking-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 22px}.checkline.compact{margin:0;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px}.admin-preview-shell .tab{white-space:nowrap}

/* Sponsors strip */
/* Pro sponsorbalk */
.sponsor-strip{margin-top:50px;background:#151515;color:#fff;overflow:hidden;border-top:6px solid var(--yellow);box-shadow:0 -10px 34px rgba(0,0,0,.08);position:relative}
.sponsor-strip__title{text-align:center;text-transform:uppercase;font-weight:1000;letter-spacing:.08em;color:var(--yellow);padding:18px 16px 8px;font-size:14px}
.sponsor-marquee{position:relative;width:100%;overflow:hidden;padding:18px 0 24px}
.sponsor-marquee:before,.sponsor-marquee:after{content:"";position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.sponsor-marquee:before{left:0;background:linear-gradient(90deg,#151515,rgba(21,21,21,0))}
.sponsor-marquee:after{right:0;background:linear-gradient(270deg,#151515,rgba(21,21,21,0))}
.sponsor-track{display:flex;align-items:center;gap:42px;width:max-content;animation:sponsor-marquee 36s linear infinite;will-change:transform}
.sponsor-strip:hover .sponsor-track{animation-play-state:paused}
.sponsor-item{height:88px;min-width:180px;display:flex;align-items:center;justify-content:center;background:#fff;text-decoration:none;border-radius:20px;padding:16px 24px;box-shadow:0 12px 26px rgba(0,0,0,.16);white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.sponsor-item img{max-height:60px;max-width:145px;object-fit:contain;filter:grayscale(25%);opacity:.82;transition:transform .25s ease,filter .25s ease,opacity .25s ease}
.sponsor-item:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(0,0,0,.22)}
.sponsor-item:hover img{filter:grayscale(0);opacity:1;transform:scale(1.06)}
@keyframes sponsor-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sponsors-table{min-width:1050px}.sponsor-admin-logo{width:110px;height:70px;object-fit:contain;background:#f7f7f7;border-radius:14px;padding:8px}.sponsor-edit-form{display:grid;grid-template-columns:1.1fr 1.3fr 110px 110px 1.1fr auto;gap:10px;align-items:center}.muted-row{opacity:.55}
@media(max-width:820px){.sponsor-item{min-width:135px;height:74px;padding:12px 16px}.sponsor-item img{max-height:48px;max-width:105px}.sponsor-track{gap:14px;animation-duration:24s}.sponsor-edit-form{grid-template-columns:1fr;min-width:360px}.sponsor-marquee:before,.sponsor-marquee:after{width:42px}}

/* Seizoenen, etappes en beheer acties */
.btn.small, button.btn.small{padding:8px 12px;font-size:12px}.btn.danger, button.danger{background:#dc3545;color:#fff}.action-row.compact{gap:7px}.action-row.compact form{display:inline-flex;margin:0}.big-number{font-size:clamp(30px,4vw,52px);font-weight:1000;margin:10px 0;text-transform:uppercase;letter-spacing:-.04em}.stage-tabs{display:flex;gap:10px;overflow-x:auto;padding:12px 0;-webkit-overflow-scrolling:touch}.stage-tab{flex:0 0 auto;text-decoration:none;border-radius:999px;background:#eee;padding:10px 16px;font-weight:1000}.stage-tab.active{background:var(--yellow);color:#111}.rank-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}.rank-table th{background:#111;color:#fff;text-align:left;text-transform:uppercase;font-size:12px;padding:14px}.rank-table td{background:#fff;border-bottom:1px solid #eee;padding:14px}.admin-table .btn.small{white-space:nowrap}

/* Team shirts bij inschrijven en admin */
.rider-card-chip{display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;text-align:left;padding:9px 11px!important;min-height:62px}
.rider-card-chip .rider-shirt{width:40px;height:40px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #eee;flex:0 0 auto}
.rider-card-chip .rider-shirt img{width:100%;height:100%;object-fit:contain;padding:3px}
.rider-card-chip .shirt-placeholder{font-size:11px;font-weight:1000;color:#999;background:#f6f6f6;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.rider-card-chip .rider-meta{display:grid;gap:1px;min-width:0;line-height:1.2}
.rider-card-chip .rider-meta strong{white-space:normal;line-height:1.15}
.rider-card-chip .rider-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-riders .rider-card-chip{grid-template-columns:38px minmax(0,1fr);width:100%}
.selected-riders .rider-card-chip .rider-shirt{width:34px;height:34px;border-radius:10px}
.team-shirt-preview{width:76px;height:76px;object-fit:contain;background:#fff;border:1px solid #eee;border-radius:16px;padding:7px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.team-shirt-placeholder{display:inline-flex;width:76px;height:76px;align-items:center;justify-content:center;background:#f4f4f4;color:#777;border-radius:16px;font-size:12px;font-weight:900;text-align:center;padding:8px}.teams-table{min-width:950px}.teams-table input[type=file]{min-width:210px}
@media(max-width:760px){.rider-card-chip{grid-template-columns:40px minmax(0,1fr);min-height:58px}.rider-card-chip .rider-shirt{width:36px;height:36px}.teams-table{min-width:820px}}

/* Mobile refinement: team shirt cards in registration */
@media (max-width: 760px) {
    .ntt-registration {
        gap: 16px;
    }

    .ntt-registration .toolbar {
        gap: 10px;
        align-items: stretch;
    }

    .ntt-registration .toolbar h2 {
        margin-bottom: 6px;
    }

    .ntt-registration .search {
        width: 100%;
        min-height: 46px;
        font-size: 16px;
    }

    .rider-pool,
    .selected-riders {
        grid-template-columns: 1fr !important;
        gap: 8px;
        padding-right: 0;
    }

    .rider-card-chip,
    .selected-riders .rider-card-chip {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 9px;
        min-height: 52px;
        padding: 8px 10px !important;
        border-radius: 14px;
        width: 100%;
    }

    .rider-card-chip .rider-shirt,
    .selected-riders .rider-card-chip .rider-shirt {
        width: 32px;
        height: 32px;
        border-radius: 9px;
    }

    .rider-card-chip .rider-shirt img {
        padding: 2px;
    }

    .rider-card-chip .shirt-placeholder {
        font-size: 9px;
    }

    .rider-card-chip .rider-meta {
        min-width: 0;
        gap: 0;
    }

    .rider-card-chip .rider-meta .bib {
        font-size: 12px;
        line-height: 1.1;
    }

    .rider-card-chip .rider-meta strong {
        font-size: 14px;
        line-height: 1.15;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .rider-card-chip .rider-meta small {
        font-size: 12px;
        line-height: 1.15;
    }

    .rider-chip.is-picked:after,
    .selected-riders .captain {
        font-size: 10px;
        padding: 3px 7px;
    }

    .selection-stack {
        gap: 14px;
    }

    .selection-box {
        padding: 14px;
        border-radius: 18px;
    }

    .selection-head {
        gap: 8px;
        align-items: center;
    }

    .selection-head h2 {
        font-size: 18px;
    }
}

@media (max-width: 420px) {
    .rider-card-chip,
    .selected-riders .rider-card-chip {
        grid-template-columns: 30px minmax(0, 1fr) !important;
        gap: 8px;
        padding: 7px 9px !important;
        min-height: 48px;
    }

    .rider-card-chip .rider-shirt,
    .selected-riders .rider-card-chip .rider-shirt {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    .rider-card-chip .rider-meta .bib,
    .rider-card-chip .rider-meta small {
        font-size: 11px;
    }

    .rider-card-chip .rider-meta strong {
        font-size: 13px;
    }
}


/* === FINAL MOBILE FIX: inschrijfformulier rennerkaartjes === */
.ntt-registration .rider-pool,
.ntt-registration .selected-riders{
    align-items:stretch;
}
.ntt-registration .rider-card-chip{
    position:relative;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    grid-template-areas:"shirt meta";
    align-items:center!important;
    justify-content:stretch!important;
    justify-items:start!important;
    column-gap:12px!important;
    row-gap:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
}
.ntt-registration .rider-card-chip .rider-shirt{
    grid-area:shirt;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:10px!important;
}
.ntt-registration .rider-card-chip .rider-meta{
    grid-area:meta;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:2px!important;
    text-align:left!important;
}
.ntt-registration .rider-card-chip .rider-meta .bib{
    display:block!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:1000!important;
}
.ntt-registration .rider-card-chip .rider-meta strong{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:15px!important;
    line-height:1.15!important;
}
.ntt-registration .rider-card-chip .rider-meta small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:1.15!important;
}
.ntt-registration .rider-card-chip input[type="hidden"]{display:none!important;}
.ntt-registration .selected-riders .captain{
    position:absolute!important;
    top:6px!important;
    right:7px!important;
    margin:0!important;
    max-width:92px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1!important;
    padding:4px 7px!important;
}

@media (max-width: 820px){
    .ntt-registration.draft-layout{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:16px!important;
    }
    .ntt-registration .toolbar{
        display:grid!important;
        grid-template-columns:1fr!important;
        align-items:stretch!important;
        gap:10px!important;
    }
    .ntt-registration .toolbar h2,
    .ntt-registration .selection-head h2{
        font-size:20px!important;
        line-height:1.1!important;
    }
    .ntt-registration .search{
        width:100%!important;
        max-width:none!important;
        min-height:46px!important;
        font-size:16px!important;
    }
    .ntt-registration .rider-pool,
    .ntt-registration .selected-riders{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        max-height:none!important;
        overflow:visible!important;
        padding-right:0!important;
    }
    .ntt-registration .rider-card-chip,
    .ntt-registration .selected-riders .rider-card-chip{
        grid-template-columns:38px minmax(0,1fr)!important;
        column-gap:10px!important;
        min-height:56px!important;
        padding:8px 10px!important;
        border-radius:14px!important;
    }
    .ntt-registration .rider-card-chip .rider-shirt,
    .ntt-registration .selected-riders .rider-card-chip .rider-shirt{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        border-radius:9px!important;
    }
    .ntt-registration .rider-card-chip .rider-shirt img{
        padding:2px!important;
    }
    .ntt-registration .rider-card-chip .rider-meta strong{
        font-size:14px!important;
    }
    .ntt-registration .rider-card-chip .rider-meta .bib,
    .ntt-registration .rider-card-chip .rider-meta small{
        font-size:11px!important;
    }
    .ntt-registration .rider-chip.is-picked:after{
        position:absolute!important;
        right:7px!important;
        bottom:6px!important;
        font-size:10px!important;
        padding:3px 7px!important;
    }
    .ntt-registration .selection-box{
        position:static!important;
        min-height:auto!important;
        padding:14px!important;
        border-radius:18px!important;
    }
    .ntt-registration .selection-head{
        display:flex!important;
        align-items:center!important;
        gap:8px!important;
    }
}

@media (max-width: 430px){
    .page-wrap{width:calc(100% - 12px)!important;}
    .panel{padding:14px!important;}
    .ntt-registration .rider-card-chip,
    .ntt-registration .selected-riders .rider-card-chip{
        grid-template-columns:32px minmax(0,1fr)!important;
        min-height:50px!important;
        padding:7px 8px!important;
        column-gap:8px!important;
    }
    .ntt-registration .rider-card-chip .rider-shirt,
    .ntt-registration .selected-riders .rider-card-chip .rider-shirt{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
    }
    .ntt-registration .rider-card-chip .rider-meta strong{
        font-size:13px!important;
    }
    .ntt-registration .rider-card-chip .rider-meta .bib,
    .ntt-registration .rider-card-chip .rider-meta small{
        font-size:10.5px!important;
    }
    .ntt-registration .selected-riders .captain{
        top:4px!important;
        right:5px!important;
        font-size:9px!important;
        padding:3px 5px!important;
        max-width:78px!important;
    }
}

/* Fix zoekfunctie inschrijfpagina: hidden attribute moet altijd winnen van grid/button styling */
.ntt-registration .rider-chip[hidden]{display:none!important;}
.alert.danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert.danger strong{color:#7f1d1d}

/* Admin dashboard sidebar layout */
body:has(.admin-shell){background:#eef1f6}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#eef1f6}.admin-sidebar{position:sticky;top:0;height:100vh;background:#171717;color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:10px 0 35px rgba(0,0,0,.12);z-index:20}.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;padding:8px 8px 18px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:1000;text-transform:uppercase;letter-spacing:.05em}.admin-brand img{width:58px;height:58px;object-fit:contain;background:transparent}.admin-side-nav{display:grid;gap:7px;overflow:auto;padding-right:4px}.admin-side-nav a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#d8d8d8;border-radius:16px;padding:12px 14px;font-weight:900}.admin-side-nav a:hover,.admin-side-nav a.active{background:var(--yellow);color:#111}.admin-view-site{margin-top:auto;text-decoration:none;text-align:center;background:#fff;color:#111;border-radius:999px;padding:12px 14px;font-weight:1000}.admin-main{min-width:0}.admin-topbar{height:84px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,36px);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:15}.admin-topbar small{display:block;text-transform:uppercase;color:#777;font-weight:1000;font-size:12px;letter-spacing:.08em}.admin-topbar strong{display:block;font-size:24px;text-transform:uppercase;letter-spacing:-.03em}.admin-content{width:min(1280px,calc(100% - 32px));margin:26px auto 70px}.admin-content .admin-nav{display:none!important}.admin-content .panel{border-radius:24px}.admin-content h1{margin:0;font-size:clamp(32px,4vw,58px);text-transform:uppercase;letter-spacing:-.05em}.admin-content h2{margin-top:0}.success{background:#e8f8ea;border-left-color:#20a34a}.btn.danger,button.danger{background:#dc3545;color:#fff}.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.settings-card{display:grid;gap:16px}.settings-card h2{text-transform:uppercase;letter-spacing:-.03em}.settings-card h3{margin:10px 0 0;text-transform:uppercase}.settings-card form{display:grid;gap:14px}.form-row.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-preview{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:14px}.settings-logo-preview{max-width:145px;max-height:90px;object-fit:contain;background:#151515;border-radius:18px;padding:14px}.settings-hero-preview{height:120px;border-radius:0;background:center/cover no-repeat}.test-mail-box{margin-top:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.inline-admin-form{display:inline-flex!important;margin-right:8px}.settings-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.settings-shortcuts a{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;text-decoration:none;font-weight:1000;padding:14px}.settings-shortcuts a:hover{background:var(--yellow);color:#111}@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;border-radius:0;display:block}.admin-brand{border-bottom:0;padding-bottom:10px}.admin-side-nav{display:flex;overflow-x:auto;padding:8px 0}.admin-side-nav a{flex:0 0 auto}.admin-view-site{display:none}.admin-topbar{position:relative}.settings-grid{grid-template-columns:1fr}.settings-hero{align-items:flex-start;flex-direction:column}.test-mail-box{grid-template-columns:1fr}.settings-preview{grid-template-columns:1fr}}@media(max-width:760px){.admin-content{width:calc(100% - 20px);margin-top:14px}.admin-topbar{height:auto;padding:14px 16px;gap:12px;align-items:flex-start;flex-direction:column}.form-row.two-cols{grid-template-columns:1fr}.settings-logo-preview{max-width:120px}.admin-side-nav a{padding:10px 12px;font-size:14px}}

/* Admin uitslagen: zoekbare renner dropdown */
.searchable-rider-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.searchable-rider-field input[type=search]{width:100%;min-width:0;border:1px solid #d7dce3;border-radius:12px;padding:.75rem .9rem;font-weight:700;background:#fff}.searchable-rider-field input[type=search]:focus{outline:2px solid rgba(245,158,11,.35);border-color:#f59e0b}.searchable-rider-field input.invalid-choice{border-color:#dc2626;background:#fff7f7}.rider-search-help{font-size:.78rem;line-height:1.2}.result-grid-select .searchable-rider-field{width:100%}

/* Admin mobile/responsive upgrade */
.admin-mobile-hint{display:none}
@media(max-width:980px){
  body:has(.admin-shell){background:#eef1f6;overflow-x:hidden}
  .admin-shell{display:block;min-height:100vh}
  .admin-sidebar{position:sticky;top:0;height:auto;z-index:50;padding:12px 12px 10px;box-shadow:0 8px 28px rgba(0,0,0,.18)}
  .admin-brand{padding:4px 8px 10px;margin-bottom:4px;justify-content:space-between}
  .admin-brand img{width:44px;height:44px}.admin-brand span{font-size:15px}
  .admin-side-nav{display:flex!important;gap:8px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding:6px 2px 10px;scroll-snap-type:x proximity}
  .admin-side-nav a{flex:0 0 auto;scroll-snap-align:start;border-radius:999px;background:rgba(255,255,255,.08);padding:10px 13px;font-size:14px}
  .admin-side-nav a.active{background:var(--yellow);color:#111}
  .admin-mobile-hint{display:block;color:#bbb;font-size:12px;padding:0 8px 6px}
  .admin-main{width:100%;min-width:0}
  .admin-content{width:calc(100% - 20px);margin:14px auto 80px}
  .admin-content .panel,.admin-content .card{border-radius:18px;padding:16px;overflow-x:auto}
  .admin-topbar{position:sticky;top:88px;z-index:40;height:auto;padding:12px 14px;gap:10px;box-shadow:0 8px 22px rgba(0,0,0,.06)}
  .admin-topbar strong{font-size:18px}.admin-topbar .btn{padding:10px 12px;font-size:13px}
  .admin-table,.rank-table,.riders-table,.sponsors-table{min-width:760px}
  .form-row,.form-row.two,.form-row.two-cols,.form-grid,.settings-grid,.admin-grid-2{grid-template-columns:1fr!important}
  .toolbar,.section-title-row,.settings-hero{align-items:stretch;flex-direction:column}
  .toolbar .btn,.toolbar button,.section-title-row .btn{width:100%}
  .result-block,.table-wrap,.ranking-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .result-grid-select{min-width:620px}
  input,select,textarea{font-size:16px}
}
@media(max-width:560px){
  .admin-content h1{font-size:30px}.admin-content h2{font-size:23px}
  .admin-side-nav a{font-size:13px;padding:9px 11px}
  .admin-topbar{top:82px}
  .admin-content .panel,.admin-content .card{padding:14px;border-radius:16px}
  .result-grid-select{min-width:560px;grid-template-columns:42px minmax(260px,1fr) 110px!important}
  .searchable-rider-field input{min-width:240px}
  .test-mail-box{grid-template-columns:1fr!important}
}
.alert.info{background:#eef6ff;border-color:#3b82f6;color:#1e3a8a}.alert.info code,.small code{background:rgba(255,255,255,.75);padding:2px 6px;border-radius:6px}.small{font-size:.9rem}

/* Instagram account picker */
.instagram-account-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    margin: 14px 0 18px;
}
.instagram-account-option {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 16px;
    padding: 12px;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}
.instagram-account-option:hover,
.instagram-account-option.selected {
    border-color: #2563eb;
    box-shadow: 0 12px 30px rgba(37,99,235,.12);
}
.instagram-account-option input { width: auto; }
.instagram-account-option img {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    object-fit: cover;
}
.button-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.panel.soft { background: #f8fafc; }

/* Participant detail updates */
.participant-riders-table .abandoned-row{background:#fff0f0!important;color:#7a2e2e}.participant-riders-table .abandoned-row span:first-child{text-decoration:line-through;text-decoration-thickness:2px}.participant-riders-table .status-badge.bad{margin-left:8px;text-decoration:none!important}

/* Update: participant detail columns + stage result tab */
.participant-riders-table .mini-head,
.participant-riders-table .mini-row{grid-template-columns:minmax(220px,1fr) 140px 140px;}
.stage-result-table .tour-head,
.stage-result-table .tour-row{grid-template-columns:80px 120px minmax(260px,2fr) minmax(180px,1.2fr) 130px 140px 120px;}
.stage-result-wrap .rider{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
@media(max-width:820px){
  .participant-riders-table .mini-head{display:none;}
  .participant-riders-table .mini-row{grid-template-columns:1fr;}
  .stage-result-table{min-width:0;}
  .stage-result-table .tour-head{display:none;}
  .stage-result-table .tour-row{display:grid;grid-template-columns:58px 1fr;min-width:0;padding:14px;gap:8px;}
  .stage-result-table .tour-row>div:not(.rank){grid-column:2;}
  .stage-result-table .tour-row>div:not(.rank)::before{content:attr(data-label) ': ';font-weight:1000;color:#777;}
  .stage-result-table .tour-row .rider::before{content:'';}
}

/* Home laatste etappe top 3 */
.latest-stage-card .home-top3{margin-top:18px;border-top:1px solid rgba(255,255,255,.25);padding-top:14px}
.latest-stage-card .home-top3 h3{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.home-top3-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.home-top3-row:last-child{border-bottom:0}
.home-top3-pos{width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.home-top3-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Home latest stage podium */
.latest-stage-card.podium-card {
    position: relative;
    overflow: hidden;
    padding: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 55%, #fff7ed 100%);
}
.podium-card::before {
    content: "";
    position: absolute;
    right: -55px;
    top: -55px;
    width: 170px;
    height: 170px;
    background: rgba(245, 158, 11, .13);
    border-radius: 999px;
}
.podium-header {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.podium-header span {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #f97316;
    margin-bottom: 6px;
}
.podium-header strong {
    display: block;
    font-size: clamp(22px, 4vw, 34px);
    line-height: 1.05;
    color: #111827;
}
.podium-header p {
    margin: 8px 0 0;
    color: #64748b;
}
.podium-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 10px 14px;
    background: #111827;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}
.home-podium {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
    padding-top: 18px;
}
.podium-place {
    min-width: 0;
    text-align: center;
}
.podium-rider {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 18px;
    padding: 12px 10px;
    margin-bottom: 10px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .09);
}
.podium-medal {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    margin: -31px auto 8px;
    font-size: 21px;
    font-weight: 900;
    border: 4px solid #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .15);
}
.podium-name {
    display: block;
    font-size: 14px;
    font-weight: 900;
    color: #111827;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.podium-points {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}
.podium-block {
    border-radius: 18px 18px 8px 8px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 950;
    font-size: clamp(30px, 6vw, 54px);
    box-shadow: inset 0 8px 18px rgba(255,255,255,.22), 0 18px 32px rgba(15, 23, 42, .12);
}
.podium-place.first .podium-block { height: 150px; background: linear-gradient(180deg, #facc15, #f59e0b); }
.podium-place.second .podium-block { height: 112px; background: linear-gradient(180deg, #cbd5e1, #94a3b8); }
.podium-place.third .podium-block { height: 86px; background: linear-gradient(180deg, #fdba74, #ea580c); }
.podium-place.first .podium-medal { width: 64px; height: 64px; font-size: 28px; background: #fef3c7; color: #b45309; }
.podium-place.second .podium-medal { background: #f1f5f9; color: #475569; }
.podium-place.third .podium-medal { background: #ffedd5; color: #c2410c; }
@media (max-width: 720px) {
    .latest-stage-card.podium-card { padding: 22px 16px; }
    .podium-header { flex-direction: column; }
    .home-podium { gap: 8px; }
    .podium-rider { padding: 10px 6px; border-radius: 14px; }
    .podium-name { font-size: 12px; }
    .podium-points { font-size: 12px; }
    .podium-place.first .podium-block { height: 120px; }
    .podium-place.second .podium-block { height: 88px; }
    .podium-place.third .podium-block { height: 70px; }
}

/* Mobile fix: Laatste Etappe podium als compacte top-3 kaarten */
@media (max-width: 720px) {
    .latest-stage-card.podium-card {
        padding: 18px;
        border-radius: 22px;
    }

    .podium-header {
        gap: 10px;
        margin-bottom: 14px;
    }

    .podium-header strong {
        font-size: 24px;
    }

    .podium-badge {
        width: fit-content;
        padding: 8px 12px;
        font-size: 12px;
    }

    .home-podium {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding-top: 6px;
    }

    .podium-place {
        display: grid;
        grid-template-columns: 56px 1fr;
        align-items: center;
        gap: 12px;
        text-align: left;
        background: #fff;
        border: 1px solid rgba(148, 163, 184, .25);
        border-radius: 18px;
        padding: 12px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    }

    .podium-place.first { order: 1; border-color: rgba(245, 158, 11, .35); }
    .podium-place.second { order: 2; }
    .podium-place.third { order: 3; }

    .podium-rider {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .podium-medal {
        display: none;
    }

    .podium-block,
    .podium-place.first .podium-block,
    .podium-place.second .podium-block,
    .podium-place.third .podium-block {
        grid-column: 1;
        grid-row: 1;
        width: 52px;
        height: 52px;
        border-radius: 999px;
        font-size: 22px;
        box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
    }

    .podium-rider {
        grid-column: 2;
        grid-row: 1;
    }

    .podium-name {
        font-size: 15px;
        line-height: 1.25;
    }

    .podium-points {
        font-size: 13px;
    }
}
