:root{
  --yellow:#ffd400;--yellow-2:#ffea70;--ink:#111214;--ink-2:#202226;--panel:#fff;--paper:#f4f3ef;
  --muted:#6d7077;--line:#deddd7;--green:#147a4b;--green-bg:#e5f7ed;--orange:#a75800;--orange-bg:#fff1dc;
  --red:#a12b2b;--red-bg:#fde9e7;--blue:#245b9b;--blue-bg:#e8f1fd;--shadow:0 12px 35px rgba(13,14,16,.09);
  --radius:20px;--sidebar:238px;--topbar:72px;--max:1520px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.45}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(17,18,20,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;padding:0}.brand img{border-radius:13px;box-shadow:0 4px 16px rgba(255,212,0,.28)}.brand span{display:flex;flex-direction:column}.brand strong{font-size:16px;letter-spacing:.01em}.brand small{color:#bfc1c7;font-size:12px}.topbar-actions{display:flex;align-items:center;gap:10px}.sidebar{position:fixed;z-index:40;top:var(--topbar);left:0;bottom:0;width:var(--sidebar);background:var(--ink);color:#fff;padding:24px 14px 18px;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;display:flex;align-items:center;gap:14px;border:0;border-radius:13px;padding:12px 14px;color:#c6c8cd;background:transparent;cursor:pointer;text-align:left;transition:.18s ease}.nav-item:hover{background:#26282d;color:#fff}.nav-item.active{background:var(--yellow);color:#111;font-weight:800}.nav-item span{font-size:21px;width:24px;text-align:center}.nav-item em{font-style:normal}.sidebar-foot{display:flex;align-items:center;gap:9px;color:#aeb0b6;padding:0 10px}.offline-dot{width:9px;height:9px;border-radius:50%;background:#42d17f;box-shadow:0 0 0 4px rgba(66,209,127,.12)}main{padding:calc(var(--topbar) + 28px) 28px 90px calc(var(--sidebar) + 28px);max-width:calc(var(--max) + var(--sidebar));margin:0 auto}.view{display:none;animation:fade .2s ease}.view.active{display:block}@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.page-heading h1{font-size:clamp(28px,4vw,48px);line-height:1.02;letter-spacing:-.045em;margin:2px 0 0}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:11px;color:#81720a}.inline-actions,.data-actions{display:flex;gap:10px;flex-wrap:wrap}.btn,.icon-btn{border:0;cursor:pointer;transition:.18s ease}.btn{padding:10px 15px;border-radius:11px;font-weight:800}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--yellow);color:#111}.btn-secondary{background:var(--ink);color:#fff}.btn-ghost{background:#ecebe6;color:#26272a}.btn-danger{background:var(--red-bg);color:var(--red)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.icon-btn{width:40px;height:40px;border-radius:11px;background:#2a2c31;color:#fff;font-size:22px;display:grid;place-items:center}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 3px 16px rgba(0,0,0,.035)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2{margin:2px 0 0;font-size:20px;letter-spacing:-.025em}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#eeeeea;color:#34353a;font-size:12px;font-weight:800}.badge.green{background:var(--green-bg);color:var(--green)}.badge.orange{background:var(--orange-bg);color:var(--orange)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.yellow{background:#fff7c7;color:#6b5a00}.hero-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .9fr;gap:24px;min-height:260px;background:var(--ink);color:#fff;border-radius:28px;padding:30px;margin-bottom:20px;box-shadow:var(--shadow)}.hero-card::after{content:"";position:absolute;width:360px;height:360px;border:64px solid var(--yellow);border-radius:50%;right:-150px;top:-180px;opacity:.95}.hero-content,.hero-profile{position:relative;z-index:2}.hero-card h2{font-size:clamp(26px,4vw,44px);line-height:1.03;letter-spacing:-.04em;margin:8px 0}.hero-card p{color:#c9cbd0;max-width:700px}.hero-label{display:inline-flex;padding:6px 9px;background:var(--yellow);color:#111;border-radius:8px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.hero-meta span{background:#27292e;border:1px solid #373940;border-radius:10px;padding:8px 10px;font-weight:700;color:#e7e8eb}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.profile-svg{width:100%;height:170px;display:block;filter:drop-shadow(0 12px 20px rgba(0,0,0,.25))}.profile-caption{display:flex;justify-content:space-between;color:#b9bbc1;font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;min-width:0}.kpi strong{display:block;font-size:28px;line-height:1;letter-spacing:-.04em;margin:8px 0 4px}.kpi small{color:var(--muted)}.kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800}.kpi-icon{width:32px;height:32px;border-radius:10px;background:#f2f1ec;display:grid;place-items:center;font-size:17px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}.stage-timeline{display:grid;grid-template-columns:repeat(9,minmax(100px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.stage-chip{border:1px solid var(--line);background:#f8f7f3;border-radius:13px;padding:12px;min-width:110px;cursor:pointer;text-align:left}.stage-chip.current{border-color:#c6a900;box-shadow:inset 0 0 0 2px var(--yellow)}.stage-chip.done{background:#edf8f1}.stage-chip strong{display:flex;align-items:center;justify-content:space-between}.stage-chip small{display:block;color:var(--muted);margin-top:6px}.mini-rider-list{display:grid;gap:8px}.mini-rider{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ecebe7}.mini-rider:last-child{border-bottom:0}.rider-main{display:flex;align-items:center;gap:11px;min-width:0}.avatar{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font-weight:950;flex:0 0 auto}.avatar.tier-S{background:#111;color:var(--yellow)}.avatar.tier-A{background:#e7effa;color:#204d83}.avatar.tier-B{background:#fff1b5;color:#5d4d00}.avatar.tier-C,.avatar.tier-D{background:#eeeeea;color:#55575d}.rider-text{min-width:0}.rider-text strong,.rider-text small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rider-text small{color:var(--muted);font-size:12px}.alert-list{display:grid;gap:10px}.alert{padding:12px 13px;border-radius:12px;background:#f5f4f0;border-left:4px solid #bbb;color:#34353a}.alert.good{background:var(--green-bg);border-color:var(--green)}.alert.warn{background:var(--orange-bg);border-color:#f0a137}.alert.bad{background:var(--red-bg);border-color:var(--red)}.alert strong{display:block;margin-bottom:2px}.team-layout,.stage-layout,.transfer-layout,.insights-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:18px;align-items:start;margin:18px 0}.sticky-panel{position:sticky;top:calc(var(--topbar) + 18px)}.team-summary-card{display:grid;grid-template-columns:1.2fr repeat(4,minmax(100px,.5fr));gap:12px;background:var(--ink);color:#fff;padding:18px;border-radius:20px}.team-summary-card .summary-main{padding:3px 8px}.team-summary-card h2{margin:2px 0 4px;font-size:24px}.summary-stat{background:#25272c;border-radius:14px;padding:14px}.summary-stat span{display:block;color:#aaadb4;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.summary-stat strong{display:block;font-size:22px;margin-top:6px}.budget-bar{height:8px;background:#3a3c42;border-radius:999px;overflow:hidden;margin-top:12px}.budget-bar i{display:block;height:100%;background:var(--yellow);border-radius:999px}.preset-panel{margin-top:18px}.preset-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;overflow-x:auto}.preset-card{min-width:190px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#faf9f6}.preset-card.active{border-color:#b89d00;box-shadow:inset 0 0 0 2px var(--yellow)}.preset-card h3{margin:0 0 4px;font-size:16px}.preset-card p{font-size:12px;color:var(--muted);min-height:35px}.preset-meta{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin:10px 0}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.roster-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fbfaf7}.roster-card:hover{border-color:#b5b4ae}.rider-actions{display:flex;align-items:center;gap:6px}.price-tag{font-weight:900;white-space:nowrap}.remove-rider,.add-rider{width:31px;height:31px;border:0;border-radius:9px;cursor:pointer;font-weight:900}.remove-rider{background:var(--red-bg);color:var(--red)}.add-rider{background:var(--green-bg);color:var(--green)}.swap-form,.transfer-form-grid{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:800;color:#56585e}.field select,.field input,.filters input,.filters select,.stage-picker select{width:100%;border:1px solid #cccac3;background:#fff;border-radius:11px;padding:10px 11px;outline:none}.field select:focus,.field input:focus,.filters input:focus,.filters select:focus{border-color:#a38b00;box-shadow:0 0 0 3px rgba(255,212,0,.24)}.analysis-box{border-radius:14px;background:#f7f6f2;padding:14px;margin-top:12px}.analysis-box h3{margin:0 0 10px;font-size:16px}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pros-cons ul{margin:0;padding-left:18px}.pros-cons li{margin:6px 0;font-size:13px}.pros h4{color:var(--green)}.cons h4{color:var(--red)}.suggestion-list{display:grid;gap:8px;margin-top:12px}.suggestion{display:flex;justify-content:space-between;gap:10px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:11px}.rider-market{margin-top:18px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:9px;margin-bottom:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{position:sticky;top:0;z-index:1;background:var(--ink);color:#fff;text-align:left;padding:10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.data-table td{padding:10px;border-bottom:1px solid #e8e7e2;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fffbed}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.tier-pill{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eee;font-weight:950}.tier-pill.S{background:#111;color:var(--yellow)}.tier-pill.A{background:#dfeafa;color:#174e8a}.tier-pill.B{background:#fff0ab;color:#645300}.market-actions{text-align:right}.market-rider strong{display:block}.market-rider small{color:var(--muted)}.load-more{width:100%;margin-top:10px}.stage-picker{display:flex;align-items:center;gap:8px}.stage-picker .icon-btn{background:#fff;color:#111;border:1px solid var(--line)}.stage-picker select{min-width:200px;font-weight:800}.stage-card{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:24px;padding:24px;margin-bottom:18px}.stage-card-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.stage-card h2{font-size:34px;line-height:1.05;margin:6px 0}.stage-card p{color:#c7c9cf}.stage-facts{display:flex;flex-wrap:wrap;gap:8px}.stage-facts span{background:#282a2f;border-radius:10px;padding:7px 9px;font-weight:800}.stage-analysis{margin-top:14px;border-top:1px solid #35373c;padding-top:14px}.lineup-list{display:grid;gap:8px}.lineup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fbfaf7}.lineup-row.captain{border-color:#c9aa00;box-shadow:inset 0 0 0 2px var(--yellow)}.lineup-score{display:flex;align-items:center;gap:8px}.score-ring{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--yellow) calc(var(--score)*1%),#e5e4df 0);position:relative}.score-ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}.score-ring b{position:relative;z-index:1;font-size:11px}.lineup-toggle{border:0;border-radius:9px;padding:7px 9px;background:#ecebe6;cursor:pointer;font-weight:800;font-size:12px}.captain-box{margin-top:14px;padding:14px;border-radius:14px;background:#fff8cc}.captain-box h3{margin:0 0 8px}.captain-select{display:flex;gap:8px}.captain-select select{flex:1;border:1px solid #c9b94f;border-radius:10px;padding:9px}.result-table input,.result-table select{width:100%;min-width:82px;border:1px solid #cfcdc7;border-radius:8px;padding:7px}.transfer-layout{grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr)}.fee-schedule{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.fee-chip{padding:6px 8px;border-radius:8px;background:#eeeeea;font-size:12px}.fee-chip.current{background:var(--yellow);font-weight:900}.transfer-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfaf7}.transfer-card+.transfer-card{margin-top:9px}.transfer-card-head{display:flex;justify-content:space-between;gap:10px}.transfer-card h3{margin:0;font-size:16px}.transfer-card p{color:var(--muted);font-size:13px}.transfer-impact{display:flex;gap:8px;flex-wrap:wrap}.history-empty{padding:22px;text-align:center;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.insight-card{background:var(--ink);color:#fff;border-radius:17px;padding:17px;min-height:150px}.insight-card:nth-child(even){background:#fff;color:#111;border:1px solid var(--line)}.insight-card h3{margin:10px 0 6px}.insight-card p{margin:0;color:#bfc1c6}.insight-card:nth-child(even) p{color:var(--muted)}.source-note{max-width:900px;margin:16px 0 0}.bottom-nav{display:none}.empty-state{text-align:center;padding:26px;color:var(--muted)}#toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111;color:#fff;padding:11px 15px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.22s ease;max-width:min(92vw,560px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;z-index:80;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:18px}.modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal h2{margin:0}.close-modal{border:0;background:#eee;border-radius:9px;width:34px;height:34px;cursor:pointer}.coverage-grid{display:grid;gap:7px;margin-top:13px}.coverage-row{display:grid;grid-template-columns:72px 1fr 34px;gap:8px;align-items:center;font-size:12px}.coverage-bar{height:8px;border-radius:999px;background:#e8e7e2;overflow:hidden}.coverage-bar i{display:block;height:100%;background:var(--yellow)}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.preset-grid{grid-template-columns:repeat(3,minmax(190px,1fr))}.insight-grid{grid-template-columns:repeat(2,1fr)}.team-summary-card{grid-template-columns:repeat(2,1fr)}.summary-main{grid-column:1/-1}.filters{grid-template-columns:1fr 1fr}.hero-card{grid-template-columns:1fr}.hero-profile{max-width:650px}.stage-card-grid{grid-template-columns:1fr}.team-layout,.stage-layout,.transfer-layout,.insights-layout{grid-template-columns:1fr}.sticky-panel{position:static}}
@media(max-width:820px){:root{--topbar:64px}.topbar{padding:0 14px}.brand img{width:38px;height:38px}.brand strong{font-size:14px}.brand small{font-size:10px}.install-button{display:none}.sidebar{display:none}main{padding:calc(var(--topbar) + 20px) 13px 92px;max-width:none}.bottom-nav{position:fixed;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(17,18,20,.97);border-top:1px solid #2d2f34}.bottom-nav button{border:0;background:transparent;color:#aaa;display:grid;place-items:center;gap:1px;padding:4px;border-radius:9px}.bottom-nav button.active{color:var(--yellow)}.bottom-nav span{font-size:19px}.bottom-nav small{font-size:10px}.page-heading{align-items:flex-start}.page-heading h1{font-size:33px}.page-heading>.btn,.page-heading>.inline-actions{display:none}.hero-card{padding:21px;border-radius:21px;min-height:auto}.hero-card::after{width:240px;height:240px;border-width:44px}.hero-card h2{font-size:30px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px}.kpi strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.panel{padding:15px;border-radius:17px}.team-summary-card{grid-template-columns:1fr 1fr;padding:13px}.roster-grid{grid-template-columns:1fr}.preset-grid{grid-template-columns:repeat(5,210px)}.filters{grid-template-columns:1fr}.filters input{grid-column:1/-1}.stage-picker select{min-width:140px;max-width:180px}.stage-card h2{font-size:28px}.pros-cons{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}.data-actions{display:grid}.data-actions .btn{width:100%}.team-layout,.stage-layout,.transfer-layout,.insights-layout{margin-top:12px}.stage-timeline{grid-template-columns:repeat(9,120px)}.lineup-row{grid-template-columns:minmax(0,1fr) auto}.lineup-row .lineup-toggle{grid-column:1/-1}.source-note{font-size:12px}}
@media(max-width:460px){.brand small{display:none}.page-heading{margin-bottom:16px}.page-heading h1{font-size:29px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-top span:first-child{font-size:11px}.team-summary-card{grid-template-columns:1fr}.summary-stat{padding:11px}.stage-picker .icon-btn{display:none}.stage-picker select{max-width:155px}.hero-actions .btn{flex:1}.panel-head{align-items:center}.preset-panel{padding-right:0}.preset-grid{padding-right:15px}.rider-text strong{font-size:13px}.rider-text small{font-size:11px}.avatar{width:34px;height:34px}.lineup-row{padding:9px}.score-ring{width:38px;height:38px}.topbar-actions .icon-btn{width:36px;height:36px}}
/* Overflow guards for narrow screens and horizontally scrollable content */
html,body{max-width:100%;overflow-x:hidden}.panel,.dashboard-grid>* ,.team-layout>* ,.stage-layout>* ,.transfer-layout>* ,.insights-layout>*{min-width:0}
@media(max-width:820px){.install-button{display:inline-flex;padding:8px 10px;font-size:12px;white-space:nowrap}.topbar-actions{gap:6px}}
@media(max-width:460px){.install-button{font-size:0;width:36px;height:36px;padding:0;align-items:center;justify-content:center}.install-button::before{content:"↓";font-size:18px}}

/* === Koerscentrale v3 additions === */
.skip-link{position:fixed;z-index:200;left:12px;top:-80px;background:#fff;color:#111;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow);font-weight:850}.skip-link:focus{top:12px}
.topbar-status{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:18px}.top-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#24262b;color:#c9cbd0;font-size:11px;font-weight:800;white-space:nowrap}.status-button{cursor:pointer}.status-button.connected{border-color:rgba(66,209,127,.55);color:#9be5ba}.live-chip.is-live{background:var(--yellow);color:#111;border-color:var(--yellow)}.live-chip.is-prestart{color:#ffe66a}.save-error{background:#8f2424!important}.offline-dot.ready{background:#42d17f}.offline-dot.pending{background:#f4b740}.offline-dot.offline{background:#7f8793}
.freshness-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;margin-bottom:15px;border-radius:14px;border:1px solid #dfc547;background:#fff9d8}.freshness-banner.fresh{border-color:#a7d8ba;background:#eefaf3}.freshness-banner div{display:flex;flex-direction:column}.freshness-banner span{font-size:13px;color:var(--muted)}
.hero-profile-meta{display:flex;justify-content:space-between;gap:8px;color:#d6d8dc;font-size:12px}.hero-profile-meta strong{color:#fff}.decision-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.decision-meta span{padding:6px 9px;background:#efeee9;border-radius:8px;font-size:12px;font-weight:750}.decision-card .btn{width:100%}
.score-chart-wrap{min-height:230px}.score-chart{display:block;width:100%;height:auto;overflow:visible}.score-chart text{font-size:11px;fill:#777a81}.chart-grid{stroke:#e4e3de;stroke-width:1}.projected-line{fill:none;stroke:#9fa1a7;stroke-width:3;stroke-dasharray:8 6}.actual-line{fill:none;stroke:#111214;stroke-width:4}.actual-dot{fill:#ffd400;stroke:#111214;stroke-width:2}.chart-key{display:flex;justify-content:flex-end;gap:18px;font-size:12px;color:var(--muted)}.chart-key span{display:flex;align-items:center;gap:7px}.chart-key i{display:block;width:24px;height:3px}.key-actual{background:#111214}.key-projected{background:repeating-linear-gradient(90deg,#9fa1a7 0 5px,transparent 5px 9px)}
.mode-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 15px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 16px rgba(0,0,0,.03)}.segmented{display:inline-flex;padding:4px;border-radius:11px;background:#ecebe6}.segmented button{border:0;border-radius:8px;padding:8px 13px;background:transparent;font-weight:850;cursor:pointer}.segmented button.active{background:#111;color:#fff}.segmented button[disabled]{opacity:.4;cursor:not-allowed}.mode-explanation{display:flex;flex-direction:column}.mode-explanation span{font-size:12px;color:var(--muted)}
.coverage-mini{display:grid;gap:8px;margin-top:12px}.coverage-mini>div{display:grid;grid-template-columns:72px 1fr 30px;gap:8px;align-items:center;font-size:11px}.coverage-mini i{display:block;height:7px;background:#e8e7e2;border-radius:999px;overflow:hidden}.coverage-mini b{display:block;height:100%;background:#ffd400}.coverage-mini em{font-style:normal;text-align:right;font-weight:750}.link-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.go-transfer-rider,.add-rider,.remove-rider{min-width:40px;min-height:40px;border:0;border-radius:10px;background:#ecebe6;font-weight:950;font-size:18px;cursor:pointer}.go-transfer-rider{background:#111;color:#fff}
.analysis-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analysis-title h3{margin:2px 0}.analysis-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.stage-delta-strip{display:grid;grid-template-columns:repeat(9,minmax(38px,1fr));gap:5px;margin:14px 0}.stage-delta{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 3px;border-radius:9px;background:#efeee9;font-size:10px}.stage-delta::before{content:"";position:absolute;inset:auto 0 0;height:calc(var(--strength)*100%);opacity:.23}.stage-delta.positive::before{background:#1d9a5d}.stage-delta.negative::before{background:#c64040}.stage-delta span,.stage-delta b{position:relative}.stage-delta b{font-size:11px}.validation-box,.adjustment-suggestion,.warning-callout,.model-disclaimer{margin-top:13px;padding:13px;border-radius:12px}.validation-box{background:var(--red-bg);color:var(--red)}.validation-box ul{margin:6px 0 0;padding-left:18px}.adjustment-suggestion{background:#fff5bf;border:1px solid #dfc547}.adjustment-suggestion p{margin:5px 0 10px}.warning-callout{background:#fff8d4;border-left:5px solid var(--yellow)}.warning-callout p{margin:4px 0 0;color:#5c5d62}
.decision-panel{margin-bottom:18px}.decision-comparison{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px}.decision-comparison>div{display:flex;flex-direction:column;padding:14px;border-radius:13px;background:#f5f4ef}.decision-comparison small{color:var(--muted);margin-top:5px}.decision-verdict{justify-content:center}.decision-verdict.agree{background:var(--green-bg);color:var(--green)}.decision-verdict.differ{background:#fff4ca;color:#6a5900}.decision-verdict>span{font-size:24px}.keypoints{margin-top:8px;color:#dedfe3;font-size:12px}.keypoints strong{color:var(--yellow)}.keypoints ul{margin:5px 0 0;padding-left:18px}.projection-number{min-width:34px;text-align:right;font-weight:900;font-variant-numeric:tabular-nums}.lineup-row.unavailable{opacity:.55;background:#f7eaea}.lineup-toggle[disabled]{opacity:.4;cursor:not-allowed}.captain-box small{display:block;margin-top:8px;color:#6f6751}.stage-score-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.stage-score-summary>div{display:flex;flex-direction:column;padding:12px;border-radius:12px;background:#f5f4ef}.stage-score-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#73757b}.stage-score-summary strong{font-size:23px}.stage-score-summary small{color:var(--muted)}.results-toolbar{display:grid;grid-template-columns:minmax(260px,.6fr) 1fr;gap:18px;align-items:end;margin-bottom:12px}.results-toolbar p{color:var(--muted);font-size:13px}.results-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:var(--muted);font-size:12px}
.confirm-transfer-summary,.detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px}.plan-row+.plan-row{margin-top:8px}.plan-row>div:first-child{display:flex;flex-direction:column}.plan-row span{font-size:12px;color:var(--muted)}
.datahub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.datahub-grid .span-2{grid-column:1/-1}.connector-form{display:grid;gap:12px}.connector-actions{display:flex;gap:9px;flex-wrap:wrap}.connector-form textarea,.manual-import-grid textarea{width:100%;resize:vertical;border:1px solid #cfcdc7;border-radius:10px;padding:10px;font:inherit}.connector-form details{border-top:1px solid var(--line);padding-top:10px}.connector-form summary{cursor:pointer;font-weight:800;margin-bottom:10px}.connector-snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.connector-snapshot>div{display:flex;flex-direction:column;padding:11px;background:#f5f4ef;border-radius:11px}.connector-snapshot span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#73757b;font-weight:850}.connector-snapshot strong{font-size:18px}.connector-result{display:flex;flex-direction:column;padding:11px;border-radius:11px}.connector-result.good{background:var(--green-bg);color:var(--green)}.manual-import-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.sync-log{display:grid;gap:8px}.sync-log article{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.sync-log article:last-child{border-bottom:0}.sync-log div{display:flex;flex-direction:column}.sync-log small{color:var(--muted)}.sync-source{font-weight:850}.field input,.field select,.field textarea{width:100%;border:1px solid #cfcdc7;border-radius:10px;padding:10px;background:#fff}.field label{display:block;margin-bottom:5px;font-size:12px;font-weight:850}
.rider-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.detail-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.detail-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px}.detail-grid h3{margin:0 0 10px}.completed-row{opacity:.58}.modal-wide{width:min(1050px,100%)}
.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.model-grid article{display:flex;gap:11px;padding:14px;background:#f5f4ef;border-radius:13px}.model-grid article>span{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:50%;background:#111;color:#ffd400;font-weight:950}.model-grid strong{display:block}.model-grid p{margin:4px 0 0;color:var(--muted);font-size:13px}.model-disclaimer{background:#eef2f8;border-left:5px solid #5274a3}.model-disclaimer p{margin:4px 0 0}.results-toolbar input{font-variant-numeric:tabular-nums}
.bottom-nav{grid-template-columns:repeat(6,1fr)!important}.bottom-nav button{min-width:0}.bottom-nav small{overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(max-width:1050px){.topbar-status{display:none}.decision-comparison{grid-template-columns:1fr 1fr}.decision-verdict{grid-column:1/-1}.stage-score-summary,.confirm-transfer-summary,.detail-kpis{grid-template-columns:repeat(2,1fr)}.model-grid{grid-template-columns:repeat(2,1fr)}.datahub-grid{grid-template-columns:1fr}.datahub-grid .span-2{grid-column:auto}.manual-import-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:820px){.mode-bar{grid-template-columns:1fr}.mode-bar>.btn{width:100%}.freshness-banner{align-items:flex-start}.freshness-banner .btn{flex:0 0 auto}.decision-comparison{grid-template-columns:1fr}.decision-verdict{grid-column:auto}.stage-score-summary{grid-template-columns:1fr 1fr}.results-toolbar{grid-template-columns:1fr}.results-foot{align-items:flex-start;flex-direction:column}.connector-snapshot{grid-template-columns:1fr 1fr}.sync-log article{grid-template-columns:80px 1fr auto}.rider-detail-head{align-items:flex-start;flex-direction:column}.detail-badges{justify-content:flex-start}.bottom-nav small{font-size:9px}.bottom-nav span{font-size:18px}.stage-delta-strip{grid-template-columns:repeat(5,1fr)}.score-chart-wrap{overflow-x:auto}.score-chart{min-width:650px}}
@media(max-width:520px){.freshness-banner{flex-direction:column}.freshness-banner .btn{width:100%}.stage-score-summary,.confirm-transfer-summary,.detail-kpis{grid-template-columns:1fr 1fr}.connector-snapshot{grid-template-columns:1fr}.model-grid{grid-template-columns:1fr}.mode-explanation{display:none}.segmented{width:100%}.segmented button{flex:1}.analysis-title{flex-direction:column}.stage-delta-strip{grid-template-columns:repeat(3,1fr)}.modal-actions .btn{width:100%}.sync-log article{grid-template-columns:1fr auto}.sync-source{grid-column:1/-1}.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav button{padding:4px 1px}.bottom-nav small{font-size:8px}.topbar-actions{margin-left:auto}.stage-score-summary small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.decision-stage{display:flex;flex-direction:column;gap:2px}.decision-stage>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#7c6d00}.decision-stage>strong{line-height:1.25}.decision-stage>small{color:var(--muted)}
.stage-timeline{overflow-x:auto;padding-bottom:5px}.timeline-stage{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;min-width:108px;min-height:82px;text-align:left}.timeline-stage>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#111;color:#ffd400;font-weight:900}.timeline-stage>strong{line-height:1.12}.timeline-stage>small{color:var(--muted)}.timeline-stage.done>span{background:var(--green);color:#fff}.timeline-stage.current{outline:2px solid #ffd400;outline-offset:1px}

/* v3.3 synchronisatiediagnostiek */
.connector-result.warn{background:#fff8d8;border-color:#e2b800;color:#4b3c00}
.connector-result.bad{background:#fff0ee;border-color:#db5b4f;color:#6f1710}
.unmatched-panel{margin-top:14px;border:1px solid var(--line,#d8d6cf);border-radius:16px;background:#faf9f5;overflow:hidden}
.unmatched-panel>summary{cursor:pointer;padding:14px 16px;font-weight:800}
.unmatched-panel>p{padding:0 16px 10px;margin:0}
.unmatched-list{display:grid;gap:1px;background:var(--line,#d8d6cf);border-top:1px solid var(--line,#d8d6cf);max-height:360px;overflow:auto}
.unmatched-list article{display:flex;flex-direction:column;gap:3px;padding:12px 16px;background:white}
.unmatched-list article strong{font-size:.95rem}
.unmatched-list article span{font-size:.8rem;color:var(--muted,#676767)}
