/* SV Hatto-Heim Live */
:root{--blue:#064b9b;--blue2:#0b62c7;--yellow:#ffd900;--dark:#071a2d;--muted:#6b7788;--bg:#f4f7fb;--card:#fff;--red:#d71920;--green:#16833b;--line:#e8edf3}
img[src*="home-shirt-icon.png"],img[src*="keeper-shirt-icon.png"]{box-sizing:border-box;object-fit:contain!important;object-position:center!important;padding:4px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--dark)}
[hidden]{display:none!important}
header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:18px 16px 26px;text-align:center}
.livefeed-banner{width:min(100%,1380px);margin:0 auto;background:#05070c}.livefeed-banner img{display:block;width:100%;max-height:360px;object-fit:cover;object-position:center}
.logo{width:82px;height:82px;border-radius:50%;background:#fff;padding:2px;object-fit:contain}.brand{font-size:24px;font-weight:900;margin:8px 0 2px}.tag{font-size:13px;opacity:.85}
nav{display:flex;gap:8px;overflow:auto;background:#fff;padding:10px 12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px #00000012}
nav a{white-space:nowrap;text-decoration:none;color:var(--dark);background:#eef3f9;padding:10px 14px;border-radius:20px;font-weight:800;font-size:13px}
nav a.active{background:var(--yellow)}
.tabs{justify-content:center}.tab-btn{white-space:nowrap;background:#eef3f9;color:var(--dark);padding:10px 18px;border-radius:20px;font-weight:800;font-size:13px}.tab-btn.active{background:var(--yellow)}
main{max-width:1380px;margin:auto;padding:16px}.card{background:var(--card);border-radius:18px;padding:17px;margin-bottom:15px;box-shadow:0 4px 16px #0000000d}
h2{font-size:19px;margin:0 0 14px}.small{font-size:12px;color:var(--muted)}.live-label{font-weight:900;color:var(--red)}
.score{display:flex;align-items:center;justify-content:space-between;text-align:center;gap:12px;margin:18px 0}.team{flex:1;font-weight:900}.score-number{font-size:42px;font-weight:950;white-space:nowrap}.minute{display:inline-block;margin-top:5px;background:#e8f5ed;color:var(--green);padding:5px 9px;border-radius:10px;font-weight:900}
.goal-highlight{display:flex;align-items:center;gap:11px;background:#fff8c9;border:1px solid #f1dc68;border-radius:14px;padding:10px 12px;margin:0 0 12px}.goal-photo{width:48px;height:48px;object-fit:cover;border-radius:50%;background:#fff}
.event{padding:11px 0;border-bottom:1px solid var(--line)}.event:last-child{border-bottom:0}.event b:first-child{display:inline-block;width:42px}.event-remove{float:right;border:0;border-radius:50%;width:27px;height:27px;padding:0;background:#ffe1e3;color:#a01620;font-size:21px;line-height:25px;font-weight:900;cursor:pointer}.event-remove:hover{background:#f7b7bc}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 5px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}
.stat{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}
button,input,select{font:inherit}button{border:0;border-radius:12px;padding:12px 13px;font-weight:900;cursor:pointer}.primary{background:var(--yellow);color:var(--dark)}.secondary{background:#eef3f9}.danger{background:#ffdfe1;color:#9b1118}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form{display:grid;gap:10px}.form input,.form select{width:100%;padding:12px;border:1px solid #dbe2ea;border-radius:10px;background:#fff}
.timer-row{display:flex;align-items:center;gap:10px;margin:0 0 12px}.player-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.player-choice{text-align:left}.roster{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.player-card{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;border-bottom:1px solid var(--line);font-weight:800}.player-card:last-child{border-bottom:0}.player-photo,.picker-photo{width:34px;height:34px;object-fit:cover;border-radius:50%;background:#e8edf3;flex:0 0 34px}.placeholder{display:grid;place-items:center;font-size:10px}.photo-button{margin-left:auto;padding:7px 9px;font-size:12px}.picker-photo{vertical-align:middle;margin-right:6px;width:27px;height:27px}
.photo-file{display:none}
.player-list{display:grid;gap:8px}.player-stat{display:flex;justify-content:space-between;text-align:left}
.stat-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.stat-switch-btn{background:#eef3f9;color:var(--dark)}.stat-switch-btn.active{background:var(--yellow)}.player-stat[aria-expanded="true"]{background:#dcecff}.inline-profile{background:#f5f8fc;border:1px solid #dce5f0;border-radius:12px;padding:14px;margin:-1px 0 2px}.inline-profile h3{margin:0 0 10px;font-size:16px}.inline-profile h3 span{font-size:13px;color:var(--muted);font-weight:600}.inline-profile table{font-size:14px}
.programme-switch{grid-template-columns:repeat(3,1fr)}
.inline-profile tfoot{background:#e5edf7}.inline-profile tfoot th{color:var(--dark);font-weight:900}
.stats-player-photo{width:36px;height:36px;object-fit:cover;border-radius:50%;background:#dfe6ef;flex:0 0 36px}.player-stat b{flex:1}.stats-player-text{display:flex;flex:1;flex-direction:column;gap:2px}.stats-player-text b{flex:initial}.competition-goals{color:var(--muted);font-size:12px;font-weight:700}.competition-goals.near-star{color:var(--red);font-weight:900}.profile-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.profile-heading h3{margin:0}.profile-photo{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#dfe6ef}
.stats-total-goals{flex:0 0 auto;color:var(--dark);font-size:12px;font-weight:900;white-space:nowrap}
.top-scorers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.top-scorer{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:10px 5px;background:#f2f6fb;border-radius:11px}.top-scorer img,.top-scorer-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#dfe6ef}.top-scorer-photo{display:grid;place-items:center;color:var(--muted);font-size:10px}.top-scorer b{font-size:11px;line-height:1.15;overflow-wrap:anywhere}.top-scorer strong{font-size:21px;color:var(--blue);line-height:1}.top-scorer-rank{position:absolute;top:5px;left:7px;font-size:11px;font-weight:900;color:var(--muted)}
.form-results{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.form-result{display:grid;width:50px;height:50px;border-radius:50%;color:#fff;text-align:center;place-content:center;box-shadow:0 5px 12px #061f4825}.form-result b{font-size:18px;line-height:1}.form-result small{font-size:9px;font-weight:900}.form-w{background:linear-gradient(145deg,#31ad61,#14733a)}.form-g{background:linear-gradient(145deg,#97a5b3,#5d6b78)}.form-v{background:linear-gradient(145deg,#ef5b64,#a91f2b)}.competition-form-card h2 .small{font-weight:700}
.match-type{display:inline-block;margin-top:10px;padding:5px 9px;border-radius:999px;background:#eaf0f7;color:var(--dark);font-size:12px;font-weight:900}.match-type.cup{background:#fff1c2;color:#7a5600}.match-type.friendly,.match-type.oefen,.match-type.oefenwedstrijd{background:#e5f6eb;color:#16733a}
.timeline-header,.timeline-row{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:7px;align-items:center}.timeline-header{padding:0 0 8px;border-bottom:2px solid var(--line);color:var(--blue);font-size:11px}.timeline-header b:last-child{text-align:right}.timeline-header span{text-align:center;color:var(--muted)}.timeline-row{position:relative;font-size:12px}.timeline-home{text-align:left;font-weight:800}.timeline-away{text-align:right;font-weight:800}.timeline-minute{text-align:center;color:var(--muted);font-size:12px}.timeline-neutral{grid-column:1/4;text-align:center;font-weight:800}
.live-timeline{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.live-timeline h2{margin:0 0 10px;font-size:16px}
.live-timeline .timeline-minute{display:inline-block;min-width:38px;padding:4px 3px;border-radius:999px;background:#e7eef8;color:var(--blue);font-weight:900}
.sub-out{color:#c62828;font-weight:900}.sub-in{color:#168544;font-weight:900}
.lineup-substituted{margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}.lineup-substituted h3{margin:0 0 9px}.substitution-history{display:grid;gap:8px}.substitution-history-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce5ed;border-radius:11px;background:#f7f9fc;font-size:12px;font-weight:850}.substitution-history-item span{display:flex;align-items:center;gap:6px}.substitution-history-item i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-style:normal;font-size:15px}.substitution-out{color:#b7212a}.substitution-out i{background:#d7353f}.substitution-in{color:#147a3c}.substitution-in i{background:#1c9b50}.substitution-history-item>b{color:var(--muted)}
@media(max-width:560px){.substitution-history-item{grid-template-columns:1fr auto}.substitution-history-item .substitution-in{grid-column:1}.substitution-history-item>b{grid-column:2;grid-row:1/3}}
/* Knoppen in clubkleuren met een ingedrukt 3D-effect. */
button.primary,button.secondary,.tab-btn,.stat-switch-btn{background:linear-gradient(180deg,#fff36a 0%,var(--yellow) 58%,#f1c400 100%);color:var(--blue);border:1px solid #c89d00;box-shadow:inset 0 1px 0 #fffbd1,0 4px 0 #b78b00,0 7px 12px #503d0030;text-shadow:0 1px 0 #fff9ad;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.tab-btn.active,.stat-switch-btn.active{background:linear-gradient(180deg,#fff9a2 0%,#ffe100 58%,#e7b900 100%);color:var(--blue)}button.primary:hover,button.secondary:hover,.tab-btn:hover,.stat-switch-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}button.primary:active,button.secondary:active,.tab-btn:active,.stat-switch-btn:active{transform:translateY(3px);box-shadow:inset 0 2px 4px #8a690055,0 1px 0 #b78b00}.danger{background:linear-gradient(180deg,#ffb0b4,#e55b63);color:#fff;border:1px solid #aa2931;box-shadow:inset 0 1px 0 #ffe3e4,0 4px 0 #a92730,0 7px 12px #5c000028}.danger:active{transform:translateY(3px);box-shadow:inset 0 2px 4px #65000855,0 1px 0 #a92730}
.player-list{gap:6px}.player-stat{align-items:center;padding:6px 10px;min-height:48px}.stats-player-photo{width:32px;height:32px;flex-basis:32px}.stats-player-text{gap:0}.competition-goals{font-size:14px;line-height:1.1}.stats-total-goals{font-size:18px;line-height:1;color:var(--blue);padding-left:8px}
.season-player{display:flex;align-items:center;gap:7px;min-width:150px}.season-player img,.season-player-placeholder{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 28px}.season-player-placeholder{display:grid;place-items:center;background:#e4eaf1;color:var(--muted);font-size:8px;font-weight:800}
.season-table-wrap{overflow-x:auto}.season-table{min-width:580px}.season-table th:not(:first-child),.season-table td:not(:first-child){text-align:center}.season-table td:first-child{font-weight:800}
.season-table td.season-minutes-leader{background:#e8ebef;font-weight:950;color:#39434d}
.push-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #cadae9;background:linear-gradient(135deg,#f8fbff,#edf5fd)}.push-card h2{margin:0 0 4px}.push-card p{margin:3px 0}.push-card button{flex:0 0 auto}.push-status.enabled{color:#168544;font-weight:900}.push-status.error{color:#b7212a;font-weight:800}@media(max-width:560px){.push-card{align-items:stretch;flex-direction:column}.push-card button{width:100%}}
.guest-players-heading{margin:26px 0 4px;padding-top:18px;border-top:1px solid var(--line)}
.manual-lineup-player{display:flex;gap:8px;margin:12px 0}.manual-lineup-player input{min-width:0;flex:1;padding:10px;border:1px solid var(--line);border-radius:9px;font:inherit}
.public-pitch.lineup-pitch{min-height:590px}.public-pitch.lineup-pitch .lineup-place .lineup-slot{width:112px;min-height:118px}.public-pitch.lineup-pitch .lineup-place .lineup-slot b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:11px}
@media(max-width:560px){.public-pitch.lineup-pitch{min-height:430px;padding:19px 2px}.public-pitch.lineup-pitch .lineup-place .lineup-slot{width:clamp(45px,15vw,58px);min-height:68px;padding:3px}.public-pitch.lineup-pitch .lineup-place .lineup-slot b{font-size:8px;line-height:1.05;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere}.public-pitch.lineup-pitch .lineup-player-photo,.public-pitch.lineup-pitch .lineup-photo-placeholder{width:28px;height:28px}.public-pitch.lineup-pitch .lineup-slot small{font-size:7px}}
.fixture-item{padding:12px 0;border-bottom:1px solid var(--line)}.fixture-item:last-child{border-bottom:0}.fixture-time{font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}.fixture-team{display:inline-flex;align-items:center;gap:6px;font-weight:800}.fixture-line .club-logo{width:27px;height:27px;object-fit:contain}
.player-search{position:relative;display:block;margin:14px 0}.player-search span{position:absolute;left:14px;top:8px;color:#62778c;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;pointer-events:none}.player-search input{box-sizing:border-box;width:100%;min-height:52px;padding:21px 42px 7px 14px;border:1px solid #cbd9e6;border-radius:14px;background:#f8fafc;color:#102f51;font:inherit;font-weight:800;outline:0;box-shadow:inset 0 1px #fff}.player-search input:focus{border-color:#2263a1;background:#fff;box-shadow:0 0 0 3px #2263a119}.player-search:after{content:'⌕';position:absolute;right:15px;top:50%;color:#315d89;font-size:25px;transform:translateY(-50%);pointer-events:none}.search-empty{padding:14px;border-radius:12px;background:#f1f5f8;text-align:center;font-weight:800}
.postponed-public{margin:4px 0 18px;padding:14px;border:2px solid #e0b900;border-radius:14px;background:linear-gradient(135deg,#fff9d8,#fff)}.postponed-public h3{margin:0 0 10px;color:#6b5200}.postponed-fixture+.postponed-fixture{margin-top:12px;padding-top:12px;border-top:1px solid #eadb87}.postponed-fixture .fixture-line{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.postponed-fixture .small{text-align:center;margin-top:7px}.postponed-admin-item{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr) auto;align-items:end;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.postponed-admin-item:last-child{border-bottom:0}.postponed-admin-item>div:first-child{display:grid;gap:5px}.postponed-admin-item label{display:grid;gap:5px;font-size:12px;font-weight:800}.postponed-actions{display:flex;gap:8px}.postponed-actions button{white-space:nowrap}@media(max-width:700px){.postponed-admin-item{grid-template-columns:1fr}.postponed-actions{display:grid;grid-template-columns:1fr 1fr}.postponed-actions button{white-space:normal}}
.standing-row.champion-line td{border-bottom:3px solid var(--green)}.standing-row.playoff-line td{border-top:3px solid #f0b400}.standing-row.relegation-line td{border-top:3px solid var(--red)}.standings-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0 0}.yellow-line,.red-line{display:inline-block;width:20px;height:3px;background:#f0b400}.red-line{background:var(--red);margin-left:7px}
.ds-plus{color:var(--green);font-weight:900}.ds-minus{color:var(--red);font-weight:900}.ds-neutral{font-weight:800}
.standing-row.cup-qualified td{border-bottom:3px solid var(--green)}.green-line{display:inline-block;width:20px;height:3px;background:var(--green)}
.club-logo.oene-logo{transform:scale(1.3);margin:0 3px}
.live-standings-card,#tab-standen>.card{overflow:hidden;border:1px solid #1c5fa3;background:linear-gradient(145deg,#084a98,#052f69 60%,#031f4b);box-shadow:0 12px 28px #00193635;color:#fff}.live-standings-card .compact-standings>h2,#tab-standen>.card>h2{margin:-17px -17px 14px;padding:14px 17px;border-bottom:1px solid #65b7ff4d;background:#ffffff08;color:#ffdc18;text-transform:uppercase;letter-spacing:.05em}.live-standings-card table,#standings-competition table,#standings-cup table{border-collapse:separate;border-spacing:0;color:#fff}.live-standings-card thead,#standings-competition thead,#standings-cup thead{background:#021d44aa}.live-standings-card th,#standings-competition th,#standings-cup th{padding:9px 6px;border-bottom:1px solid #70baff59;color:#bcd8f2;font-size:9px;font-weight:950;text-transform:uppercase}.live-standings-card td,#standings-competition td,#standings-cup td{padding:9px 6px;border-bottom:1px solid #70baff2e;color:#f2f7fc;font-size:12px}.live-standings-card tbody tr:last-child td,#standings-competition tbody tr:last-child td,#standings-cup tbody tr:last-child td{border-bottom:0}.live-standings-card .fixture-team,#standings-competition .fixture-team,#standings-cup .fixture-team{color:#fff;font-weight:850}.live-standings-card .club-logo,#standings-competition .club-logo,#standings-cup .club-logo{width:25px;height:25px;padding:0;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 3px 4px #00152f)}.live-standings-card .standing-row,.live-standings-card .standing-row td,#standings-competition .standing-row,#standings-competition .standing-row td,#standings-cup .standing-row,#standings-cup .standing-row td{transition:background .15s}.live-standings-card .standing-row:hover td,#standings-competition .standing-row:hover td,#standings-cup .standing-row:hover td{background:#ffffff0b}.live-standings-card .standing-row.own-club td,#standings-competition .standing-row.own-club td,#standings-cup .standing-row.own-club td{background:#ffdc18;color:#06295a;font-weight:950;text-shadow:none}.live-standings-card .standing-row.own-club .fixture-team,#standings-competition .standing-row.own-club .fixture-team,#standings-cup .standing-row.own-club .fixture-team{color:#06295a}.live-standings-card .standing-row.own-club .ds-plus,.live-standings-card .standing-row.own-club .ds-minus,#standings-competition .standing-row.own-club .ds-plus,#standings-competition .standing-row.own-club .ds-minus,#standings-cup .standing-row.own-club .ds-plus,#standings-cup .standing-row.own-club .ds-minus{color:#06295a}.live-standings-card .standings-legend,#tab-standen .standings-legend{color:#c7dbef}.live-standings-card .green-line,#tab-standen .green-line{background:#46dc78}.live-standings-card .yellow-line,#tab-standen .yellow-line{background:#ffdc18}.live-standings-card .red-line,#tab-standen .red-line{background:#ff5963}
@media(max-width:560px){#tab-standen>.card{padding:11px}.live-standings-card .compact-standings>h2,#tab-standen>.card>h2{margin:-11px -11px 12px;padding:12px 11px}.live-standings-card th,.live-standings-card td{padding:6px 2px;font-size:9px}#standings-competition,#standings-cup{overflow-x:auto}#standings-competition table,#standings-cup table{min-width:610px}#standings-competition td,#standings-cup td{font-size:11px}.live-standings-card .club-logo{width:18px;height:18px}}
.season-average{margin:0 0 12px;padding:9px 11px;background:#e8f5ed;border-radius:10px;color:#176b35;font-size:13px}
.manual-standing-head,.manual-standing-row{display:grid;grid-template-columns:minmax(110px,1fr) repeat(7,44px);gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.manual-standing-head{font-size:11px;color:var(--muted);font-weight:900}.manual-standing-row b{font-size:13px}.manual-standing-row input{width:100%;padding:8px 3px;text-align:center;border:1px solid #dbe2ea;border-radius:7px}
.manual-form-editor{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:9px;background:#eef4fa}.manual-form-editor>span:first-child{color:#496580;font-size:10px;font-weight:850}.manual-form-editor>span:last-child{display:flex;gap:5px}.manual-form-editor select{width:39px;padding:5px 2px;border:1px solid #b9cada;border-radius:7px;background:#fff;color:#0a417b;font-weight:950;text-align:center}
@media(max-width:560px){.manual-form-editor{position:sticky;left:0}.manual-form-editor>span:first-child{font-size:9px}}
.public-pitch.lineup-pitch{min-height:360px;margin-top:8px}.public-pitch.lineup-pitch .lineup-slot{width:62px;min-height:52px}.public-pitch.lineup-pitch .lineup-slot b{font-size:9px}
.lineup-picker-popover{position:fixed;z-index:100;background:#fff;border:1px solid #d8e2ed;border-radius:14px;padding:10px;width:min(280px,calc(100vw - 20px));max-height:190px;overflow:auto;box-shadow:0 12px 30px #0003}.lineup-picker-popover h3{margin:0 0 8px;font-size:16px}.lineup-picker-popover .player-grid{grid-template-columns:1fr;gap:5px;margin:0 0 8px}.lineup-picker-popover .player-choice{padding:8px 10px;font-size:13px}.lineup-choice{text-align:center}
.player-picker-popover{position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(320px,calc(100vw - 20px));max-height:min(500px,calc(100vh - 30px));overflow:auto;margin:0;background:#fff;box-shadow:0 14px 35px #0005}.player-picker-popover .player-grid{grid-template-columns:1fr;gap:6px}.player-picker-popover .player-choice{padding:9px 10px}.own-goal-choice{background:#fff3cd}
.goal-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#001b4399;opacity:0;pointer-events:none;transition:opacity .25s}.goal-overlay.show{opacity:1}.goal-animation-card{display:flex;align-items:center;gap:18px;max-width:360px;padding:24px;background:linear-gradient(135deg,var(--blue),#0b62c7);border:4px solid var(--yellow);border-radius:24px;color:#fff;box-shadow:0 18px 40px #0008;transform:scale(.7);transition:transform .35s}.goal-overlay.show .goal-animation-card{transform:scale(1)}.goal-animation-card img,.goal-animation-photo{width:92px;height:92px;border-radius:50%;object-fit:cover;background:#fff;border:4px solid #fff}.goal-animation-photo{display:grid;place-items:center;font-size:40px}.goal-animation-card strong{display:block;color:var(--yellow);font-size:34px;line-height:1}.goal-animation-card b{display:block;font-size:20px;margin-top:7px}

/* Lichte driedelige doelpuntanimatie: bestaande spelersfoto + CSS, zonder video. */
.goal-celebration[hidden]{display:none}.goal-celebration{position:fixed;inset:0;z-index:2500;overflow:hidden;background:#021c43f2;color:#fff;opacity:0;pointer-events:none;transition:opacity .28s ease}.goal-celebration.show{opacity:1}.goal-celebration-stadium{position:absolute;inset:0;background:linear-gradient(180deg,#063e80b8,#021531f0),radial-gradient(circle at 50% 78%,#1470bc 0,transparent 45%)}.goal-celebration-stadium:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-14%;height:48%;background:repeating-linear-gradient(88deg,#ffdc181f 0 3px,transparent 3px 48px);filter:blur(2px);transform:perspective(420px) rotateX(55deg)}.goal-celebration-glow{position:absolute;left:50%;top:42%;width:min(76vw,580px);aspect-ratio:1;border:2px solid #ffdc1880;border-radius:50%;box-shadow:0 0 30px #ffdc18,0 0 90px #ffdc1899,inset 0 0 50px #ffdc184d;opacity:0;transform:translate(-50%,-50%) scale(.35)}.goal-celebration-panel{position:relative;width:min(100%,700px);height:100%;margin:auto}.goal-celebration-logo{position:absolute;z-index:2;top:max(28px,env(safe-area-inset-top));left:50%;width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 5px 8px #0008);transform:translateX(-50%)}.goal-celebration-score{position:absolute;z-index:3;left:50%;top:38%;width:min(72vw,340px);height:110px;border:2px solid #ffdc18;border-radius:18px;background:#031a3ee8;box-shadow:0 0 0 7px #ffdc1818,0 0 32px #ffdc1870;transform:translate(-50%,-50%)}.goal-celebration-score span{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(42px,11vw,72px);font-weight:950;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 4px 10px #000}.goal-score-after{color:#ffdc18;opacity:0;transform:scale(.65)}.goal-celebration-player{position:absolute;z-index:4;left:4%;bottom:-8%;width:58%;height:72%;opacity:0;transform:translateY(30%)}.goal-celebration-player img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 15px #0009)}.goal-player-placeholder{position:absolute;left:12%;bottom:25%;display:grid;width:180px;height:180px;border:4px solid #ffdc18;border-radius:50%;background:#0754a4;color:#ffdc18;font-size:30px;font-weight:950;place-items:center}.goal-celebration-copy{position:absolute;z-index:5;top:28%;right:3%;width:48%;text-align:center;opacity:0;transform:translateX(18%)}.goal-celebration-copy>*{display:block}.goal-celebration-copy strong{font-size:clamp(50px,12vw,92px);font-weight:1000;font-style:italic;line-height:.95;text-shadow:4px 5px 0 #074a91}.goal-celebration-copy strong:after{content:"";display:block;width:88%;height:9px;margin:12px auto 16px;background:#ffdc18;transform:skewX(-24deg)}.goal-celebration-copy b{color:#ffdc18;font-size:clamp(44px,11vw,78px);font-variant-numeric:tabular-nums;line-height:1}.goal-celebration-copy span{margin-top:14px;font-size:clamp(18px,4.2vw,30px);font-weight:950}.goal-celebration-copy small{margin-top:7px;font-size:clamp(20px,5vw,34px);font-weight:950}.goal-celebration-particles i{position:absolute;z-index:1;left:50%;top:48%;width:8px;height:22px;border-radius:2px;background:#ffdc18;opacity:0;transform:rotate(calc(var(--particle) * 20deg)) translateY(-48vh)}.goal-celebration-particles i:nth-child(3n){width:6px;height:6px;border-radius:50%;background:#fff}.goal-celebration-particles i:nth-child(4n){background:#1475c9}
.goal-celebration.phase-score .goal-celebration-glow{animation:goalGlow 1s ease-out both}.goal-celebration.phase-score .goal-celebration-score{animation:goalScorePulse 1s ease-out both}.goal-celebration.phase-player .goal-score-before{opacity:0}.goal-celebration.phase-player .goal-score-after{animation:goalScoreIn .35s ease-out both}.goal-celebration.phase-player .goal-celebration-player{animation:goalPlayerRise .7s cubic-bezier(.2,.85,.2,1) both}.goal-celebration.phase-player .goal-celebration-particles i,.goal-celebration.phase-hero .goal-celebration-particles i{animation:goalParticle 1.1s calc(var(--particle) * 22ms) ease-out both}.goal-celebration.phase-hero .goal-celebration-score{opacity:0;transform:translate(-50%,-50%) scale(.82);transition:.35s}.goal-celebration.phase-hero .goal-celebration-player{opacity:1;transform:translateY(0);transition:.45s}.goal-celebration.phase-hero .goal-celebration-copy{animation:goalCopyIn .5s .08s cubic-bezier(.2,.85,.2,1) both}
@keyframes goalGlow{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}45%{opacity:1}100%{opacity:.25;transform:translate(-50%,-50%) scale(1.15)}}@keyframes goalScorePulse{0%{transform:translate(-50%,-50%) scale(.75)}55%{transform:translate(-50%,-50%) scale(1.08)}100%{transform:translate(-50%,-50%) scale(1)}}@keyframes goalScoreIn{to{opacity:1;transform:scale(1)}}@keyframes goalPlayerRise{to{opacity:1;transform:translateY(0)}}@keyframes goalCopyIn{to{opacity:1;transform:translateX(0)}}@keyframes goalParticle{0%{opacity:0;transform:rotate(calc(var(--particle) * 20deg)) translateY(0)}25%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--particle) * 20deg)) translateY(-50vh)}}
@media(max-width:560px){.goal-celebration-logo{width:54px;height:54px}.goal-celebration-score{top:35%;height:88px}.goal-celebration-player{left:-7%;bottom:-3%;width:72%;height:68%}.goal-celebration-copy{top:29%;right:2%;width:50%}.goal-celebration-copy strong{font-size:13vw}.goal-celebration-copy b{font-size:12vw}.goal-celebration-copy span{font-size:5vw;overflow-wrap:anywhere}.goal-celebration-copy small{font-size:6vw}.goal-player-placeholder{width:120px;height:120px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.goal-celebration *{animation:none!important;transition:none!important}.goal-celebration.phase-hero .goal-celebration-player,.goal-celebration.phase-hero .goal-celebration-copy{opacity:1;transform:none}.goal-celebration.phase-hero .goal-celebration-score{opacity:0}}
.lineup-pitch{min-height:590px}.lineup-pitch .lineup-place .lineup-slot{width:112px;min-height:118px}.lineup-pitch .lineup-place .lineup-slot b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:11px}.lineup-player-photo,.lineup-photo-placeholder{width:48px;height:48px}@media(max-width:560px){.lineup-pitch{min-height:500px;padding-left:4px;padding-right:4px}.lineup-pitch .lineup-place .lineup-slot{width:68px;min-height:82px}.lineup-pitch .lineup-place .lineup-slot b{font-size:9px}.lineup-player-photo,.lineup-photo-placeholder{width:32px;height:32px}}
.lineup-actions{display:flex;flex-wrap:wrap;gap:9px}
.lineup-swap-button{display:block;margin:-3px auto 8px}.lineup-swap-button.active{outline:3px solid #1c9b50;outline-offset:3px}.lineup-place.swap-selected .lineup-slot{border-color:#24b85e!important;box-shadow:0 0 0 5px #24b85e88,0 7px 16px #001b0daa!important}
.lineup-place{position:relative;z-index:1;align-self:center;justify-self:center}.lineup-pitch .lineup-place:nth-child(1){grid-column:3;grid-row:4}.lineup-pitch .lineup-place:nth-child(2){grid-column:5;grid-row:3}.lineup-pitch .lineup-place:nth-child(3){grid-column:4;grid-row:3}.lineup-pitch .lineup-place:nth-child(4){grid-column:2;grid-row:3}.lineup-pitch .lineup-place:nth-child(5){grid-column:1;grid-row:3}.lineup-pitch .lineup-place:nth-child(6){grid-column:4;grid-row:2}.lineup-pitch .lineup-place:nth-child(7){grid-column:3;grid-row:2}.lineup-pitch .lineup-place:nth-child(8){grid-column:2;grid-row:2}.lineup-pitch .lineup-place:nth-child(9){grid-column:5;grid-row:1}.lineup-pitch .lineup-place:nth-child(10){grid-column:3;grid-row:1}.lineup-pitch .lineup-place:nth-child(11){grid-column:1;grid-row:1}.lineup-pitch .lineup-place .lineup-slot{width:88px;min-height:88px;display:grid;place-items:center;padding:5px}.lineup-player-photo,.lineup-photo-placeholder{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e5ebf2}.lineup-photo-placeholder{display:grid;place-items:center;font-size:9px;color:var(--muted)}.lineup-remove{position:absolute;right:-7px;top:-7px;width:23px;height:23px;border-radius:50%;padding:0;background:var(--red);color:#fff;line-height:20px;font-size:18px;z-index:3}.lineup-bench .lineup-place{position:relative}.lineup-bench .lineup-slot{width:100%;min-height:70px;display:grid;place-items:center;text-align:center}.lineup-bench .lineup-remove{right:-5px;top:-5px}
.admin-tabs{display:flex;gap:8px;margin-bottom:14px}.admin-tab{flex:1;background:#eef3f9;color:var(--dark)}.admin-tab.active{background:var(--yellow)}.admin-tab.admin-logout{margin-left:auto;background:#fff0f1;color:#b7212a;border:1px solid #f0c5c9}.admin-tab.admin-logout:hover{background:#d7353f;color:#fff}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}.lineup-pitch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 8px;background:linear-gradient(#279447,#187636);border-radius:14px;margin-bottom:14px}.lineup-slot{min-height:58px;padding:8px;background:#fff;text-align:left}.lineup-slot span{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.lineup-slot b{display:block;font-size:12px}.lineup-pitch .lineup-slot:nth-child(1){grid-column:2}.lineup-pitch .lineup-slot:nth-child(2){grid-column:1}.lineup-pitch .lineup-slot:nth-child(3){grid-column:2}.lineup-pitch .lineup-slot:nth-child(4){grid-column:3}.lineup-pitch .lineup-slot:nth-child(5){grid-column:2}.lineup-bench{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 15px}.lineup-public{margin-top:0}.lineup-formation{font-weight:900;margin:12px 0}.public-starters{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.public-starters span{background:#eef3f9;border-radius:8px;padding:8px;font-size:13px}
.lineup-pitch{position:relative;min-height:500px;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);gap:8px;padding:28px 12px;background:repeating-linear-gradient(90deg,#197638 0,#197638 20%,#218640 20%,#218640 40%);border:4px solid #fff;box-shadow:inset 0 0 0 4px #15632f}.lineup-pitch:after{content:'';position:absolute;inset:30px 8px;border:2px solid #fff;pointer-events:none}.lineup-pitch .lineup-slot{z-index:1;align-self:center;justify-self:center;width:88px;min-height:76px;border-radius:45% 45% 25% 25%;border:2px solid #d9e0e6;background:#fff;text-align:center;box-shadow:0 3px 8px #0004}.lineup-pitch .lineup-slot small{display:block;font-size:9px;color:#5b6c7c}.lineup-pitch .lineup-slot .shirt-number{font-size:18px;font-weight:950;color:var(--blue);margin:0}.lineup-pitch .lineup-slot b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineup-pitch .lineup-slot:nth-child(1){grid-column:3;grid-row:4}.lineup-pitch .lineup-slot:nth-child(2){grid-column:5;grid-row:3}.lineup-pitch .lineup-slot:nth-child(3){grid-column:4;grid-row:3}.lineup-pitch .lineup-slot:nth-child(4){grid-column:2;grid-row:3}.lineup-pitch .lineup-slot:nth-child(5){grid-column:1;grid-row:3}.lineup-pitch .lineup-slot:nth-child(6){grid-column:4;grid-row:2}.lineup-pitch .lineup-slot:nth-child(7){grid-column:3;grid-row:2}.lineup-pitch .lineup-slot:nth-child(8){grid-column:2;grid-row:2}.lineup-pitch .lineup-slot:nth-child(9){grid-column:5;grid-row:1}.lineup-pitch .lineup-slot:nth-child(10){grid-column:3;grid-row:1}.lineup-pitch .lineup-slot:nth-child(11){grid-column:1;grid-row:1}
.badge{display:inline-block;padding:5px 8px;border-radius:9px;background:#eef3f9;font-size:12px;font-weight:800}.status{margin-bottom:12px}.notice{padding:11px;border-radius:11px;background:#eef7ff;font-size:13px}
footer{text-align:center;padding:28px;color:var(--muted);font-size:12px}
.live-standings-card{display:none!important}.live-page-layout{grid-template-columns:minmax(0,1fr) minmax(210px,260px)}#manualStandingsRows{overflow-x:auto}.manual-standing-head,.manual-standing-row{min-width:520px}@media(max-width:560px){#standings-competition table,#standings-cup table{min-width:520px}.manual-standing-head,.manual-standing-row{min-width:520px;grid-template-columns:minmax(105px,1fr) repeat(7,42px)}}
.live-standings-card .standing-row td,#standings-competition .standing-row td,#standings-cup .standing-row td{border-top:0;border-bottom:1px solid #70baff2e}.live-standings-card .standing-row td:first-child,#standings-competition .standing-row td:first-child,#standings-cup .standing-row td:first-child{position:relative;width:42px;padding-left:18px}.live-standings-card .standing-row td:first-child:before,#standings-competition .standing-row td:first-child:before,#standings-cup .standing-row td:first-child:before{content:"";position:absolute;left:6px;top:20%;bottom:20%;width:4px;border-radius:99px;background:transparent}.live-standings-card .standing-row.champion-line td:first-child:before,.live-standings-card .standing-row.cup-qualified td:first-child:before,#standings-competition .standing-row.champion-line td:first-child:before,#standings-cup .standing-row.cup-qualified td:first-child:before{background:#45dc78;box-shadow:0 0 7px #45dc7866}.live-standings-card .standing-row.playoff-line td:first-child:before,.live-standings-card .standing-row.playoff-line+.standing-row td:first-child:before,#standings-competition .standing-row.playoff-line td:first-child:before,#standings-competition .standing-row.playoff-line+.standing-row td:first-child:before{background:#f2a900;box-shadow:0 0 7px #f2a90055}.live-standings-card .standing-row.relegation-line td:first-child:before,.live-standings-card .standing-row.relegation-line~.standing-row td:first-child:before,#standings-competition .standing-row.relegation-line td:first-child:before,#standings-competition .standing-row.relegation-line~.standing-row td:first-child:before{background:#ff3d48;box-shadow:0 0 7px #ff3d4855}
.club-logo{width:30px;height:30px;object-fit:contain}.fixture-line{display:flex;align-items:center;gap:8px}
.team-logo{width:28px;height:28px;object-fit:contain;display:block;margin:0 auto 4px}
.standing-logo{width:25px;height:25px;object-fit:contain;vertical-align:middle;margin-right:6px}
.message-error{color:#9b1118}.message-ok{color:var(--green)}
.result-card{padding:14px 0;border-bottom:1px solid var(--line)}.result-card:last-child{border-bottom:0}.result-card summary{cursor:pointer;list-style:none}.result-card summary::-webkit-details-marker{display:none}.result-score{display:flex;align-items:center;justify-content:center;gap:9px;margin:8px 0;font-weight:800;text-align:center}.result-score>b{white-space:nowrap;font-size:18px}.result-hint{display:block;color:var(--muted);text-align:center}.result-card[open] .result-hint{display:none}.result-events{margin-top:12px;padding:10px 12px;background:#f5f8fb;border-radius:10px;font-size:13px;line-height:1.7}.result-events b{display:inline-block;width:36px;color:var(--muted)}
.goal-star{display:inline-block;margin-left:5px;font-size:17px;line-height:1;vertical-align:-1px;text-shadow:0 1px 1px #0004}.goal-star.bronze{color:#b56d36}.goal-star.silver{color:#9aa4ae}.goal-star.gold{color:#e4ae13}.goal-star.platinum{color:#7757c8}
.media-upload-button{display:inline-block;cursor:pointer;margin-bottom:10px}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px}.media-item{position:relative;border:1px solid #dce4ec;border-radius:12px;overflow:hidden;background:#f7f9fc}.media-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.media-item .media-delete{width:100%;border-radius:0;font-size:.85rem;padding:8px}
.live-page-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr) minmax(210px,260px);gap:20px;align-items:start}.live-main-content{min-width:0}.live-media-card,.live-standings-card{position:sticky;top:12px}.live-media-card h2{margin-bottom:12px}.live-result-photo{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:10px}.compact-standings h2{font-size:16px;margin:0 0 9px}.compact-standings table{font-size:10px}.compact-standings th,.compact-standings td{padding:5px 2px}.compact-standings .club-logo{width:16px;height:16px}.compact-standings .fixture-team{gap:3px;font-size:10px}.compact-standings .standings-legend{font-size:10px;gap:4px}.compact-standings .yellow-line,.compact-standings .red-line{width:13px}
@media(min-width:650px){.controls{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){
  .livefeed-banner img{max-height:180px}
  .admin-tabs{overflow-x:auto}.admin-tab{flex:0 0 auto}
  main{padding:10px}.card{padding:13px}.tabs{justify-content:flex-start;overflow-x:auto;padding:0 10px 8px}.tab-btn{padding:9px 13px}.live-page-layout{display:flex;flex-direction:column}.live-standings-card,.live-media-card{position:static;width:100%}.live-standings-card{order:2}.live-main-content{width:100%;order:1}.live-media-card{order:3}.live-result-photo{max-height:360px}
  .lineup-pitch{box-sizing:border-box;width:100%;min-height:430px;gap:2px;padding:19px 2px;border-width:3px}.lineup-pitch:after{inset:20px 4px}
  .lineup-pitch .lineup-place .lineup-slot,.lineup-pitch .lineup-slot{width:clamp(45px,15vw,58px);min-height:68px;padding:3px}.lineup-pitch .lineup-place .lineup-slot b,.lineup-pitch .lineup-slot b{font-size:8px;line-height:1.05;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere}.lineup-pitch .lineup-slot small{font-size:7px}.lineup-pitch .lineup-slot .shirt-number{font-size:14px}
  .lineup-player-photo,.lineup-photo-placeholder{width:28px;height:28px}.lineup-photo-placeholder{font-size:7px}.lineup-remove{width:20px;height:20px;line-height:17px;font-size:16px;right:-4px;top:-4px}
  .public-pitch.lineup-pitch{min-height:300px;padding:16px 2px}.public-pitch.lineup-pitch .lineup-slot{width:clamp(43px,14vw,54px);min-height:49px}.public-pitch.lineup-pitch .lineup-slot b{font-size:8px}.lineup-bench{grid-template-columns:1fr;gap:7px}.lineup-bench .lineup-slot{width:100%;min-height:58px}
}

/* Premium opstelling 2026: herkenbare spelers, compact veld en vaste wisselbank. */
.lineup-live-card{overflow:hidden;border:1px solid #1769b5;border-radius:22px;background:#031a39;box-shadow:0 16px 38px #00142d45}
.lineup-live-brand{position:relative;display:grid!important;min-height:100px;grid-template-columns:74px minmax(0,1fr) auto!important;align-items:center;justify-items:start;gap:14px;padding:13px 18px!important;border:0!important;background:radial-gradient(circle at 80% 0,#1786dc55,transparent 32%),linear-gradient(135deg,#063978,#021b3d)!important;text-align:left}
.lineup-live-brand:after{display:none!important}
.lineup-live-brand img{position:static!important;width:68px!important;height:68px!important;transform:none!important}
.lineup-brand-copy{display:grid;gap:2px;min-width:0}
.lineup-brand-copy strong{color:#fff;font-size:clamp(21px,4vw,34px)!important;font-weight:950;letter-spacing:.02em!important;line-height:1!important}
.lineup-brand-copy small{color:#bad6ef;font-size:12px;font-weight:800}
.lineup-formation-badge{display:grid;min-width:72px;min-height:45px;padding:7px 12px;border:1px solid #28a3ef;border-radius:14px;background:#07509b;color:#fff;font-size:18px;font-weight:950;place-items:center;box-shadow:inset 0 1px #ffffff32}
.lineup-live-card .public-pitch.lineup-pitch{min-height:650px;padding:30px 14px 20px!important;border:0;background-image:linear-gradient(#032b2252,#021d274d),url('assets/lineup-grass-field-3d.webp?v=20260907-3d-v2')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;box-shadow:inset 0 18px 38px #001c2e75,inset 0 -20px 42px #0015257a!important}
.lineup-live-card .public-pitch .lineup-place .lineup-slot{width:96px;min-height:126px!important}
.lineup-live-card .lineup-player-frame{width:88px!important;height:98px!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;filter:drop-shadow(0 7px 6px #00131dcc)!important}
.lineup-live-card .public-pitch.lineup-pitch .lineup-player-photo,.lineup-live-card .public-pitch.lineup-pitch .lineup-photo-placeholder{position:static!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;clip-path:none!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important}
.lineup-live-card .public-pitch .lineup-slot b{min-height:30px;margin-top:-13px!important;padding:7px 4px 5px!important;border:1.5px solid #1ba1ef!important;border-radius:12px!important;background:linear-gradient(180deg,#07488f,#03295c)!important;font-size:10px!important;box-shadow:0 5px 11px #001322aa!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{right:50%!important;top:auto!important;bottom:22px!important;width:27px!important;height:27px!important;border:2px solid #ffdc18!important;border-radius:50%!important;background:#06295a!important;color:#fff!important;font-size:10px!important;transform:translateX(50%)}
details.public-lineup-bench{border:0!important;border-top:3px solid #ffdc18!important;background:linear-gradient(150deg,#fff,#edf5fc)!important}
details.public-lineup-bench>summary{min-height:50px;justify-content:flex-start!important;padding:12px 52px 10px 18px!important;border:0!important;background:transparent!important;color:#082f5d!important;font-size:15px!important;letter-spacing:.03em!important;text-align:left!important}
details.public-lineup-bench>summary small{border-color:#bfd4e8!important;background:#e6f1fa!important;color:#56728e!important;font-size:8px!important}
details.public-lineup-bench>summary:after{border-color:#0a66b4!important;color:#07549a!important}
details.public-lineup-bench>div{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0 12px 15px!important}
.public-bench-player{min-width:0;min-height:108px;padding:3px 2px 5px!important}
.public-bench-player>img,.public-bench-player>.bench-photo-placeholder{width:68px!important;height:75px!important;flex-basis:75px!important;margin-bottom:-7px!important;filter:drop-shadow(0 4px 4px #00234470)!important}
.public-bench-player b{min-height:28px!important;padding:6px 3px 4px!important;border:1px solid #198bd4!important;border-radius:9px!important;background:linear-gradient(180deg,#07509c,#03295d)!important;font-size:8px!important}
.public-bench-player small{left:-2px!important;right:auto!important;top:-10px!important;width:25px!important;height:25px!important;border:2px solid #ffdc18!important;border-radius:50%!important;color:#fff!important}
@media(max-width:560px){
  .lineup-live-card{border-radius:17px}
  .lineup-live-brand{min-height:75px;grid-template-columns:48px minmax(0,1fr) auto!important;gap:8px;padding:10px!important}
  .lineup-live-brand img{width:45px!important;height:45px!important}
  .lineup-brand-copy strong{font-size:18px!important}.lineup-brand-copy small{font-size:9px}
  .lineup-formation-badge{min-width:52px;min-height:36px;padding:5px 7px;border-radius:10px;font-size:13px}
  .lineup-live-card .public-pitch.lineup-pitch{min-height:535px;padding:25px 1px 17px!important}
  .lineup-live-card .public-pitch .lineup-place .lineup-slot{width:clamp(58px,17vw,70px);min-height:96px!important}
  .lineup-live-card .lineup-player-frame{width:clamp(54px,15vw,63px)!important;height:70px!important}
  .lineup-live-card .public-pitch .lineup-slot b{min-height:23px;margin-top:-9px!important;padding:5px 1px 3px!important;border-radius:8px!important;font-size:7px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{bottom:17px!important;width:21px!important;height:21px!important;font-size:8px!important}
  details.public-lineup-bench>summary{min-height:45px;padding:10px 43px 8px 11px!important;font-size:12px!important}
  details.public-lineup-bench>div{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:0 5px 11px!important}
  .public-bench-player{min-height:86px!important;padding-inline:0!important}
  .public-bench-player>img,.public-bench-player>.bench-photo-placeholder{width:45px!important;height:54px!important;flex-basis:54px!important}
  .public-bench-player b{min-height:23px!important;padding:5px 1px 3px!important;border-radius:7px!important;font-size:6.5px!important}
  .public-bench-player small{left:0!important;top:-8px!important;width:19px!important;height:19px!important;border-width:1px!important;font-size:6px!important}
}

/* Veilige seizoensafsluiting in de beheerapp. */
.season-close-card{max-width:760px;margin-inline:auto}
.season-close-card>label{display:block;margin:18px 0 7px;font-size:12px;font-weight:900;color:#526a83;text-transform:uppercase;letter-spacing:.05em}
.season-close-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.season-close-controls input{min-height:48px;font-size:16px;font-weight:850;font-variant-numeric:tabular-nums}
.season-close-preview{margin:16px 0;padding:14px;border:1px solid #d5e2ee;border-radius:14px;background:#f5f8fc}
.season-close-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.season-close-summary span{display:grid;gap:2px;min-height:76px;padding:12px;border-radius:11px;background:linear-gradient(145deg,#0b4c89,#06295a);color:#fff;text-align:center;place-content:center}
.season-close-summary b{color:#ffdc18;font-size:25px;line-height:1}
.season-close-summary small{color:#d9eafb;font-size:11px}
.season-close-preview p{margin:12px 0 0;text-align:center;font-weight:800}
.season-close-card>.danger{width:100%;min-height:48px}
@media(max-width:560px){.season-close-summary{gap:6px}.season-close-summary span{min-height:68px;padding:8px 4px}.season-close-summary b{font-size:22px}.season-close-summary small{font-size:9px}.season-close-controls{grid-template-columns:1fr}.season-close-controls button{width:100%}}

/* Beheerbediening per ploeg */
.team-match-controls{margin-top:18px}.team-action-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}.team-action-group{overflow:hidden;border:1px solid #d7e1ec;border-radius:16px;background:#f7f9fc;box-shadow:0 6px 18px #061f4810}.team-action-title{display:block;width:100%;border:0;border-radius:0;padding:12px 14px;color:#fff;background:linear-gradient(135deg,#06346f,#0b5aa4);font-size:15px;font-weight:950;text-align:center;cursor:default}.opponent-actions .team-action-title{background:linear-gradient(135deg,#424b57,#697582)}.team-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.team-action-buttons button{min-height:44px}.match-flow-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:560px){.team-action-groups{grid-template-columns:1fr;gap:11px}.team-action-buttons{grid-template-columns:repeat(2,1fr);padding:10px}.match-flow-controls{grid-template-columns:1fr}.team-action-title{padding:10px;font-size:14px}}

/* Live-scorebord */
.live-score-card{padding:0;overflow:hidden;border:1px solid #0d3972;box-shadow:0 12px 34px #061f4826}
.scoreboard-shell{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 50% 10%,#1761ad 0,#0a3976 42%,#041d45 100%)}
.scoreboard-shell:before,.scoreboard-shell:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff14;width:270px;height:270px;top:-185px}
.scoreboard-shell:before{left:-80px}.scoreboard-shell:after{right:-80px}
.scoreboard-header{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:11px 16px;background:#03163099;border-bottom:1px solid #ffffff1f;font-size:10px;font-weight:900;letter-spacing:.12em}
.scoreboard-header .live-label{justify-self:start;display:inline-flex;align-items:center;gap:6px;color:#fff;background:#e22b37;padding:5px 9px;border-radius:999px;box-shadow:0 3px 10px #0005}
.scoreboard-header .live-label i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff28;animation:livePulse 1.4s infinite}
.scoreboard-header .live-label.waiting{background:#627083}.scoreboard-header .live-label.waiting i{animation:none;background:#dfe6ed}.live-empty-state{position:relative;z-index:1;margin:-8px 20px 20px;padding:12px 15px;border:1px solid #ffffff28;border-radius:12px;background:#03163099;text-align:center}.live-empty-state strong,.live-empty-state span{display:block}.live-empty-state strong{color:#ffdb16;font-size:15px}.live-empty-state span{margin-top:3px;color:#c7d7e9;font-size:11px}
.scoreboard-title{color:#ffdb16;font-size:11px}.scoreboard-status{justify-self:end;color:#b8cbe3}
.live-score-card .score{position:relative;z-index:1;min-height:180px;margin:0;padding:22px 26px;gap:18px}
.live-score-card .team{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:17px;line-height:1.2;text-shadow:0 2px 5px #0008}
.live-score-card .team .fixture-team{display:flex;flex-direction:column;align-items:center;gap:9px}
.live-score-card .team .club-logo{width:62px;height:62px;padding:5px;object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 5px 16px #0006}
.score-centre{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;min-width:155px}
.score-caption{font-size:9px;font-weight:900;letter-spacing:.2em;color:#a9c6e9}
.live-score-card .score-number{margin:3px 0;color:#fff;font-size:52px;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 4px 12px #0009}
.live-score-card .minute{margin-top:8px;min-width:72px;padding:7px 12px;color:#092c5d;background:#ffdb16;border:2px solid #fff3a0;border-radius:999px;box-shadow:0 5px 14px #0005;font-variant-numeric:tabular-nums}
.live-score-card .live-timeline{padding:17px;background:#fff}
.timeline-row{margin-top:7px;padding:9px 8px;border-left:4px solid #aab7c4;border-radius:10px;background:#f5f7fa}.timeline-event-goal{border-left-color:#e5b900;background:#fff9d8}.timeline-event-goal .timeline-home,.timeline-event-goal .timeline-away{font-size:13px}.timeline-event-gele-kaart{border-left-color:#f1c40f;background:#fffbea}.timeline-event-rode-kaart{border-left-color:#d93643;background:#fff0f1}.timeline-event-wissel{border-left-color:#269c55;background:#eef9f2}.timeline-event-rust,.timeline-event-tweede-helft-gestart,.timeline-event-einde-wedstrijd{border-left-color:#24578f;background:#edf4fb}
@keyframes livePulse{50%{opacity:.35;transform:scale(.75)}}
@media(max-width:560px){
  .scoreboard-header{grid-template-columns:auto 1fr;padding:9px 10px}.scoreboard-title{justify-self:end}.scoreboard-status{display:block;grid-column:1/3;justify-self:center;font-size:9px;letter-spacing:.09em}
  .live-score-card .score{min-height:145px;padding:18px 8px;gap:6px}.live-score-card .team{font-size:12px}.live-score-card .team .fixture-team{gap:6px}.live-score-card .team .club-logo{width:47px;height:47px;padding:4px}
  .score-centre{min-width:108px}.live-score-card .score-number{font-size:40px}.live-score-card .minute{min-width:62px;padding:6px 8px;font-size:12px}.score-caption{font-size:8px}
  .live-score-card .live-timeline{padding:12px}.timeline-header{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);font-size:9px}.timeline-row{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);gap:4px;padding:8px 6px;font-size:10px}.timeline-event-goal .timeline-home,.timeline-event-goal .timeline-away{font-size:11px}.live-timeline .timeline-minute{min-width:32px;padding:3px 2px;font-size:10px}.live-empty-state{margin:-5px 10px 12px;padding:10px}.live-empty-state strong{font-size:13px}
}

/* Openbare opstelling: rustige tv-weergave met alleen spelersfoto's op het veld. */
.lineup-public{overflow:hidden;border:1px solid #dbe6ef}.lineup-public>summary{display:flex;align-items:center;justify-content:space-between;padding:2px}.lineup-public[open]>summary{margin-bottom:10px}.lineup-public .lineup-formation{display:table;margin:5px auto 12px;padding:7px 14px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#073b78,#0b65b8);font-size:13px;letter-spacing:.04em;box-shadow:0 4px 12px #06295a2b}
.public-pitch.lineup-pitch{min-height:500px;padding:34px 16px;background:repeating-linear-gradient(90deg,#166d35 0,#166d35 20%,#218242 20%,#218242 40%);border:4px solid #f7fbf8;box-shadow:inset 0 0 0 4px #125d2c,0 8px 22px #06371d2b}
.public-pitch.lineup-pitch:after{inset:31px 10px;border-width:2px}
.public-pitch.lineup-pitch .lineup-place .lineup-slot{width:78px;height:78px;min-height:78px;padding:0;overflow:hidden;border:4px solid #ffd91a;border-radius:50%;background:#e9eff5;box-shadow:0 7px 16px #001b0daa,0 0 0 3px #ffffff55}
.public-pitch.lineup-pitch .lineup-player-photo,.public-pitch.lineup-pitch .lineup-photo-placeholder{display:grid;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#e8eef4;color:#526477;font-size:10px;place-items:center}
.public-pitch.lineup-pitch .lineup-slot small,.public-pitch.lineup-pitch .lineup-slot b{display:none!important}
@media(max-width:560px){.public-pitch.lineup-pitch{min-height:390px;padding:24px 4px}.public-pitch.lineup-pitch:after{inset:21px 5px}.public-pitch.lineup-pitch .lineup-place .lineup-slot{width:clamp(48px,15vw,58px);height:clamp(48px,15vw,58px);min-height:48px;border-width:3px}.public-pitch.lineup-pitch .lineup-player-photo,.public-pitch.lineup-pitch .lineup-photo-placeholder{width:100%;height:100%;font-size:8px}}

/* Eerstvolgende wedstrijd in het lege live-scorebord. */
.scoreboard-next-fixture{display:flex;justify-content:center;align-items:center;gap:10px;margin:10px 0 5px;color:#fff;font-weight:900}.scoreboard-next-fixture .fixture-team{color:#fff}.scoreboard-next-fixture .club-logo{width:34px;height:34px}.scoreboard-next-type{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:999px;background:#ffdb16;color:#06295a;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.scoreboard-next-type.friendly{background:#d9f4df;color:#12672e}.scoreboard-next-type.cup{background:#fff0b7;color:#765600}

/* Dynamische blauw-gele opstellingskaart op de livepagina. */
.lineup-live-card{overflow:hidden;border-radius:18px;background:#031427;color:#fff;box-shadow:0 12px 30px #00142d33}.lineup-live-brand{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 14px 16px;background:radial-gradient(circle at 50% 120%,#0b3970 0,transparent 60%),linear-gradient(135deg,#021123,#061b34);border-top:5px solid var(--yellow)}.lineup-live-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 10px #0009)}.lineup-live-brand strong{color:#fff;font-size:clamp(22px,4vw,38px);letter-spacing:.035em;text-shadow:0 3px 0 #001126}
.lineup-live-card .public-pitch.lineup-pitch{min-height:650px;margin:0;padding:42px 18px;background:radial-gradient(circle at center,#0b2a48cc 0,#031427 68%),repeating-linear-gradient(90deg,#ffffff04 0,#ffffff04 20%,transparent 20%,transparent 40%);border:0;border-top:1px solid #ffd91a55;border-radius:0;box-shadow:inset 0 0 55px #0008}.lineup-live-card .public-pitch.lineup-pitch:after{inset:31px 14px;border:2px solid #ffffff8c}
.pitch-markings{position:absolute;inset:31px 14px;z-index:0;border:2px solid #ffffff8c;pointer-events:none}.pitch-markings i{position:absolute;display:block}.pitch-halfway{left:0;right:0;top:50%;border-top:2px solid #ffffff8c}.pitch-centre{left:50%;top:50%;width:118px;height:118px;border:2px solid #ffffff8c;border-radius:50%;transform:translate(-50%,-50%)}.pitch-box{left:50%;width:48%;height:18%;border:2px solid #ffffff8c;transform:translateX(-50%)}.pitch-box-top{top:-2px;border-top:0}.pitch-box-bottom{bottom:-2px;border-bottom:0}.pitch-goal{left:50%;width:22%;height:7%;border:2px solid #ffffff8c;transform:translateX(-50%)}.pitch-goal-top{top:-2px;border-top:0}.pitch-goal-bottom{bottom:-2px;border-bottom:0}.lineup-live-card .public-pitch.lineup-pitch:after{display:none}
.lineup-live-card .public-pitch .lineup-place .lineup-slot{position:relative;width:104px;height:auto;min-height:132px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.lineup-player-frame{position:relative;width:84px;height:72px;margin:22px auto 0;padding:0;background:transparent;filter:drop-shadow(0 5px 5px #0009)}.lineup-player-frame:before{content:'';position:absolute;inset:0;background:var(--yellow);clip-path:polygon(50% 0,94% 23%,94% 76%,50% 100%,6% 76%,6% 23%)}.lineup-live-card .lineup-player-photo,.lineup-live-card .lineup-photo-placeholder{position:absolute;left:4px;bottom:4px;z-index:1;display:grid;width:76px;height:96px;border-radius:0;clip-path:polygon(50% 0,88% 9%,94% 75%,50% 100%,6% 75%,12% 9%);object-fit:cover;object-position:center top;background:#edf2f7;color:#526477;place-items:center}.lineup-live-card .lineup-slot .lineup-shirt-number{position:absolute;right:2px;top:66px;display:grid;width:27px;height:27px;margin:0;border:2px solid var(--yellow);border-radius:7px;background:var(--blue);color:var(--yellow);font-size:12px;font-weight:950;place-items:center;z-index:3}.lineup-live-card .lineup-slot b{display:block!important;position:relative;z-index:2;width:100%;margin-top:-1px;padding:6px 4px;border:2px solid var(--yellow);border-radius:4px;background:var(--blue);color:#fff;font-size:11px!important;line-height:1.05!important;text-align:center;white-space:normal!important;overflow:visible!important;box-shadow:0 4px 8px #0008}
.public-lineup-bench{padding:16px 18px 20px;border-top:2px solid #ffd91a55;background:#041a34}.public-lineup-bench h3{margin:0 0 10px;color:var(--yellow)}.public-lineup-bench>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.public-bench-player{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff0c}.public-bench-player img{width:34px;height:34px;border:2px solid var(--yellow);border-radius:50%;object-fit:cover}.public-bench-player span{min-width:0}.public-bench-player b{display:block;color:#fff;font-size:10px;line-height:1.1}.public-bench-player small{color:var(--yellow);font-size:9px}
.lineup-change-arrow{display:inline-grid!important;place-items:center;border-radius:50%;color:#fff!important;font-style:normal;font-weight:950;line-height:1}.lineup-arrow-out{position:absolute;right:-5px;top:-5px;z-index:8;width:22px!important;height:22px;background:#d93643;box-shadow:0 2px 6px #0007}.lineup-arrow-in{width:17px!important;height:17px;margin-left:4px;background:#1b9d50;font-size:11px;vertical-align:middle}.bench-photo-placeholder{display:grid;width:34px;height:34px;flex:0 0 34px;border:2px solid var(--yellow);border-radius:50%;background:#e8eef4;color:#526477;font-size:8px;place-items:center}
@media(max-width:560px){.lineup-live-brand{gap:9px;padding:14px 8px 12px}.lineup-live-brand img{width:48px;height:48px}.lineup-live-brand strong{font-size:19px}.lineup-live-card .public-pitch.lineup-pitch{min-height:455px;padding:25px 2px}.pitch-markings{inset:20px 5px}.pitch-centre{width:78px;height:78px}.lineup-live-card .public-pitch .lineup-place .lineup-slot{width:clamp(53px,16vw,68px);min-height:88px}.lineup-player-frame{width:clamp(46px,13vw,58px);height:46px;margin-top:15px;padding:0}.lineup-live-card .lineup-player-photo,.lineup-live-card .lineup-photo-placeholder{left:3px;bottom:3px;width:calc(100% - 6px);height:62px}.lineup-live-card .lineup-slot .lineup-shirt-number{right:-1px;top:43px;width:20px;height:20px;border-width:1px;border-radius:5px;font-size:9px}.lineup-live-card .lineup-slot b{padding:4px 1px;font-size:7px!important;overflow-wrap:anywhere}.public-lineup-bench{padding:12px 8px}.public-lineup-bench>div{grid-template-columns:repeat(2,minmax(0,1fr))}.public-bench-player b{font-size:9px}}

/* Ronde basisfoto's met altijd zichtbare achternamen. */
.lineup-live-card .public-pitch .lineup-place .lineup-slot{min-height:118px}.lineup-live-card .lineup-player-frame{width:78px;height:78px;margin:0 auto;padding:4px;border-radius:50%;background:var(--yellow);filter:drop-shadow(0 5px 5px #0009)}.lineup-live-card .lineup-player-frame:before{display:none}.lineup-live-card .lineup-player-photo,.lineup-live-card .lineup-photo-placeholder{position:static!important;width:100%!important;height:100%!important;border-radius:50%!important;clip-path:none!important;object-fit:cover;object-position:center top}.lineup-live-card .public-pitch .lineup-slot b{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:5!important;width:100%;margin-top:3px;padding:6px 3px;color:#fff!important;background:var(--blue)!important;border:2px solid var(--yellow)!important;border-radius:5px;font-size:10px!important;line-height:1.05!important;text-align:center!important;white-space:normal!important;overflow:visible!important}.lineup-live-card .lineup-slot .lineup-shirt-number{right:1px;top:55px;z-index:6}

/* H2H bij de eerstvolgende tegenstander. */
.h2h-scoreboard{margin:16px 18px 0;border:1px solid #ffffff2b;border-radius:13px;background:#ffffff0c;color:#fff}.h2h-scoreboard>summary{padding:12px 15px;color:var(--yellow);font-weight:900;text-align:center;cursor:pointer;list-style-position:inside}.h2h-scoreboard[open]>summary{border-bottom:1px solid #ffffff24}.h2h-scoreboard>#headToHead{padding:15px}.h2h-heading>div{display:flex;align-items:center;justify-content:center;gap:14px}.h2h-heading .fixture-team{flex-direction:column;gap:5px;color:#fff;text-align:center}.h2h-heading .club-logo{box-sizing:border-box;width:58px;height:58px;padding:6px;border:0;border-radius:50%;background:#fff;object-fit:contain}.h2h-heading>b{color:#aac0d8;font-size:11px;text-transform:uppercase}.h2h-heading>span{display:block;margin-top:8px;color:#aac0d8;text-align:center}.h2h-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.h2h-summary span{padding:10px 4px;border-radius:10px;background:#ffffff12;color:#bfd0e2;font-size:10px;text-align:center}.h2h-summary strong{display:block;color:var(--yellow);font-size:20px}.h2h-results{display:grid;gap:7px}.h2h-results>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-left:4px solid var(--yellow);border-radius:8px;background:#ffffff0d}.h2h-results span{color:#aac0d8;font-size:11px}.h2h-results small{display:block;margin-top:2px}.h2h-results b{color:#fff;text-align:right}@media(max-width:560px){.h2h-scoreboard{margin:12px 10px 0}.h2h-summary{grid-template-columns:repeat(2,1fr)}.h2h-results>div{align-items:flex-start;flex-direction:column}.h2h-results b{text-align:left}.h2h-heading .club-logo{width:50px;height:50px}}
@media(max-width:560px){.lineup-live-card .public-pitch .lineup-place .lineup-slot{min-height:86px}.lineup-live-card .lineup-player-frame{width:clamp(44px,13vw,55px);height:clamp(44px,13vw,55px);margin:0 auto;padding:2px}.lineup-live-card .public-pitch .lineup-slot b{display:block!important;padding:4px 1px;font-size:7px!important}.lineup-live-card .lineup-slot .lineup-shirt-number{right:-1px;top:36px}}

/* 4 verdedigers op één lijn; middenveld met de centrale speler naar voren. */
.lineup-live-card .lineup-pitch{grid-template-columns:repeat(7,minmax(0,1fr))}.lineup-live-card .lineup-pitch .lineup-place:nth-child(1){grid-column:4;grid-row:4}.lineup-live-card .lineup-pitch .lineup-place:nth-child(2){grid-column:7;grid-row:3}.lineup-live-card .lineup-pitch .lineup-place:nth-child(3){grid-column:5;grid-row:3}.lineup-live-card .lineup-pitch .lineup-place:nth-child(4){grid-column:3;grid-row:3}.lineup-live-card .lineup-pitch .lineup-place:nth-child(5){grid-column:1;grid-row:3}.lineup-live-card .lineup-pitch .lineup-place:nth-child(6){grid-column:6;grid-row:2;transform:translateY(14px)}.lineup-live-card .lineup-pitch .lineup-place:nth-child(7){grid-column:4;grid-row:2;transform:translateY(-28px)}.lineup-live-card .lineup-pitch .lineup-place:nth-child(8){grid-column:2;grid-row:2;transform:translateY(14px)}.lineup-live-card .lineup-pitch .lineup-place:nth-child(9){grid-column:7;grid-row:1}.lineup-live-card .lineup-pitch .lineup-place:nth-child(10){grid-column:4;grid-row:1}.lineup-live-card .lineup-pitch .lineup-place:nth-child(11){grid-column:1;grid-row:1}
@media(max-width:560px){.lineup-live-card .lineup-pitch{grid-template-columns:repeat(7,minmax(0,1fr));column-gap:0}.lineup-live-card .lineup-pitch .lineup-place:nth-child(6),.lineup-live-card .lineup-pitch .lineup-place:nth-child(8){transform:translateY(8px)}.lineup-live-card .lineup-pitch .lineup-place:nth-child(7){transform:translateY(-17px)}}

/* Ruimere mobiele opstellingskaart met langere zijlijnen. */
@media(max-width:560px){.lineup-live-card .public-pitch.lineup-pitch{min-height:520px;padding-top:32px;padding-bottom:32px}.lineup-live-card .pitch-markings{inset:18px 8px}.lineup-live-card .public-pitch .lineup-place .lineup-slot{width:clamp(57px,17vw,70px);min-height:94px}.lineup-live-card .lineup-player-frame{width:clamp(49px,14vw,59px);height:clamp(49px,14vw,59px)}.lineup-live-card .lineup-pitch .lineup-place:nth-child(2),.lineup-live-card .lineup-pitch .lineup-place:nth-child(9){margin-right:8px}.lineup-live-card .lineup-pitch .lineup-place:nth-child(5),.lineup-live-card .lineup-pitch .lineup-place:nth-child(11){margin-left:8px}.lineup-live-card .lineup-slot .lineup-shirt-number{top:40px}}

/* Volgende wedstrijd: teams in verhouding tot de vaste middenstreep. */
.scoreboard-next-fixture{display:grid;width:min(100%,560px);grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:10px;margin:12px auto 6px}.scoreboard-next-fixture>b{display:grid;width:28px;height:28px;border-radius:50%;background:#ffffff17;color:var(--yellow);place-items:center}.scoreboard-next-fixture .fixture-team{min-width:0;gap:9px;color:#fff;line-height:1.1}.scoreboard-next-fixture .fixture-team:first-child{justify-self:end;justify-content:flex-end;text-align:right}.scoreboard-next-fixture .fixture-team:last-child{justify-self:start;justify-content:flex-start;text-align:left}.scoreboard-next-fixture .club-logo{box-sizing:border-box;width:46px;height:46px;flex:0 0 46px;padding:5px;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 4px 12px #0007}
@media(max-width:560px){.scoreboard-next-fixture{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:5px}.scoreboard-next-fixture>b{width:24px;height:24px}.scoreboard-next-fixture .fixture-team{gap:5px;font-size:10px;overflow-wrap:anywhere}.scoreboard-next-fixture .club-logo{width:38px;height:38px;flex-basis:38px;padding:4px}}

/* Buitenste spelers blijven binnen de veldrand. */
.lineup-live-card .lineup-pitch .lineup-place:nth-child(2),
.lineup-live-card .lineup-pitch .lineup-place:nth-child(9){grid-column:6;margin-right:0}
.lineup-live-card .lineup-pitch .lineup-place:nth-child(5),
.lineup-live-card .lineup-pitch .lineup-place:nth-child(11){grid-column:2;margin-left:0}

/* Volgende wedstrijd: de clubnaam staat gecentreerd onder het logo. */
.scoreboard-next-fixture .fixture-team,
.scoreboard-next-fixture .fixture-team:first-child,
.scoreboard-next-fixture .fixture-team:last-child{display:flex;flex-direction:column;justify-content:center;align-items:center;justify-self:stretch;gap:6px;text-align:center}
.scoreboard-next-fixture .fixture-team .club-logo{order:0}
@media(max-width:560px){
  .scoreboard-next-fixture .fixture-team{gap:4px;font-size:10px;line-height:1.15;text-align:center}
}

/* Alleen mobiel: ruimer raster zodat de vier verdedigers niet overlappen. */
@media(max-width:560px){
  .lineup-live-card .lineup-pitch{grid-template-columns:repeat(9,minmax(0,1fr))}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(1){grid-column:5}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(2){grid-column:8}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(3){grid-column:6}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(4){grid-column:4}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(5){grid-column:2}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(6){grid-column:7}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(7){grid-column:5}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(8){grid-column:3}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(9){grid-column:8}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(10){grid-column:5}
  .lineup-live-card .lineup-pitch .lineup-place:nth-child(11){grid-column:2}
}

.substitution-history-item.substitution-out-only{display:flex;align-items:center;gap:9px;color:var(--dark)}
.substitution-history-item.substitution-out-only img{width:38px;height:38px;border:2px solid #d5dfeb;border-radius:50%;object-fit:cover;object-position:center top}

/* Uitslagen als compacte wedstrijdkaarten met een visuele gebeurtenissen-tijdlijn. */
.result-card{overflow:hidden;margin:12px 0;padding:0;border:1px solid #d9e3ee;border-radius:16px;background:#fff;box-shadow:0 6px 18px #061f4812;transition:border-color .2s,box-shadow .2s,transform .2s}.result-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px #061f481c}.result-card[open]{border-color:#9eb9d8;box-shadow:0 12px 30px #061f4824}.result-card summary{position:relative;padding:14px 16px 11px;background:linear-gradient(145deg,#fff,#f3f7fb)}.result-card .fixture-time{display:table;margin:0 auto 11px;padding:4px 9px;border-radius:999px;background:#e8eff7;color:#49627c;font-size:10px;letter-spacing:.03em;text-align:center}.result-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.result-team{min-width:0}.result-team .fixture-team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:6px;color:#102b47;font-size:12px;line-height:1.15;text-align:center}.result-team .club-logo{box-sizing:border-box;width:52px;height:52px;padding:5px;border:1px solid #dae3ec;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 4px 12px #061f4817}.result-score-box{min-width:92px;text-align:center}.result-score-box small{display:block;margin-bottom:3px;color:#7d8da0;font-size:8px;font-weight:900;letter-spacing:.13em}.result-score-box b{display:flex;align-items:center;justify-content:center;gap:8px;color:#062d61;font-size:28px;font-weight:950}.result-score-box i{color:#b2becb;font-style:normal;font-size:17px}.result-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;color:#55718d;font-size:10px;font-weight:850}.result-hint i{display:grid;width:20px;height:20px;border-radius:50%;background:#e3ebf4;color:#164e88;font-style:normal;font-size:16px;line-height:16px;place-items:center;transition:transform .2s}.result-card[open] .result-hint{display:flex}.result-card[open] .result-hint i{transform:rotate(180deg)}.result-events{margin:0;padding:14px 16px 17px;border-top:1px solid #e0e8f0;border-radius:0;background:#f7f9fc;animation:resultReveal .22s ease-out}.result-events h3{margin:0 0 10px;color:#173b61;font-size:13px}.result-event{display:grid;grid-template-columns:42px 25px minmax(0,1fr);align-items:center;gap:7px;margin-top:7px;padding:8px 9px;border-left:4px solid #aebac7;border-radius:9px;background:#fff;box-shadow:0 2px 7px #061f480b}.result-event-minute{color:#365b80;font-size:11px;font-weight:950;text-align:center}.result-event-icon{text-align:center}.result-event-text{min-width:0}.result-event-text b,.result-event-text small{display:block}.result-event-text b{color:#17324e;font-size:11px}.result-event-text small{margin-top:2px;color:#687c90;font-size:10px}.result-event-goal{border-left-color:#e3b900;background:#fffdf0}.result-event-gele-kaart{border-left-color:#f0c514}.result-event-rode-kaart{border-left-color:#d93643}.result-event-wissel{border-left-color:#269c55}.result-event-rust,.result-event-tweede-helft-gestart,.result-event-einde-wedstrijd{border-left-color:#2b67a2;background:#f2f7fd}@keyframes resultReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.result-timeline{overflow:hidden;border:1px solid #62b8ff54;border-radius:14px;background:linear-gradient(145deg,#0750ac,#063b82 55%,#04285d);color:#fff}.result-timeline .timeline-header,.result-timeline .timeline-row{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);align-items:center;gap:0}.result-timeline .timeline-header{padding:10px;border-bottom:1px solid #68b5ff55;color:#fff;font-size:10px}.result-timeline .timeline-header b:first-child{text-align:right}.result-timeline .timeline-header b:last-child{text-align:left}.result-timeline .timeline-header span{color:#ffd91a;text-align:center;font-weight:900;text-transform:uppercase}.result-timeline .timeline-row{min-height:58px;padding:11px 10px;border-bottom:1px solid #68b5ff3d}.result-timeline .timeline-row:last-child{border-bottom:0}.result-timeline .timeline-home,.result-timeline .timeline-away{min-width:0;padding:0 10px;color:#fff;font-size:12px;line-height:1.25;text-shadow:0 2px 4px #00132a}.result-timeline .timeline-home{text-align:right}.result-timeline .timeline-away{text-align:left}.result-timeline .timeline-minute{justify-self:center;box-sizing:border-box;min-width:48px;padding:9px 5px;border:2px solid #ffe020;border-radius:50%;background:#0a397b;color:#fff;font-size:11px;font-weight:950;text-align:center}.result-timeline .timeline-neutral{grid-column:3;padding:0 10px;color:#fff;font-size:12px;text-align:left}.result-timeline .timeline-goal-assist{color:#c8ddf4!important}.result-timeline .timeline-event-goal{background:#ffdf1810}.result-timeline .timeline-event-gele-kaart{background:#ffd91a0b}.result-timeline .timeline-event-rode-kaart{background:#ef34400d}.result-timeline .timeline-event-wissel{background:#37c66a0b}
.result-timeline .timeline-header{min-height:28px;padding:11px 14px;font-size:11px;line-height:1.2}.result-timeline .timeline-header b{min-width:0;padding:0 12px;overflow-wrap:normal;word-break:normal}.result-timeline .timeline-row{box-sizing:border-box;min-height:68px;padding:12px 14px}.result-timeline .timeline-home,.result-timeline .timeline-away{padding:0 14px;font-size:13px;font-weight:800;line-height:1.38;overflow-wrap:normal;word-break:normal}.result-timeline .timeline-event-line{white-space:normal}.result-timeline .timeline-goal-scorer b{font-size:14px}.result-timeline .timeline-goal-assist{margin-top:5px;font-size:11px;line-height:1.35}.result-timeline .timeline-swap{font-size:12px;line-height:1.45}.result-timeline .timeline-swap span+span{margin-top:3px}.result-timeline .timeline-row-neutral .timeline-away{font-size:12px;font-weight:900}.result-timeline .timeline-row-neutral .timeline-minute{border-color:#b9d9fa;background:#0c4d94}
.result-events .result-timeline b,.result-events .result-timeline strong{display:inline;width:auto;max-width:none;color:inherit}.result-events .result-timeline .timeline-header b{display:block;width:auto;color:#fff}.result-events .result-timeline .timeline-minute{display:block;color:#fff}.result-events .result-timeline .timeline-goal-scorer b,.result-events .result-timeline .timeline-event-line b{display:inline;width:auto;color:#fff;white-space:normal}.result-timeline .timeline-row,.result-timeline .timeline-event-goal,.result-timeline .timeline-event-gele-kaart,.result-timeline .timeline-event-rode-kaart,.result-timeline .timeline-event-wissel,.result-timeline .timeline-event-rust,.result-timeline .timeline-event-tweede-helft-gestart,.result-timeline .timeline-event-einde-wedstrijd{border-left:0}.result-timeline .timeline-home>span,.result-timeline .timeline-away>span{max-width:100%}
.result-card{border-color:#1a5fa4;background:#052e68}.result-card[open]{border-color:#f0ca14}.result-card>summary{isolation:isolate;overflow:hidden;padding:14px 18px 13px;background:radial-gradient(circle at 50% 35%,#1669bd 0,#0a4b96 38%,transparent 67%),linear-gradient(140deg,#083f83,#031d46);color:#fff}.result-card>summary:before{content:"";position:absolute;z-index:-1;width:270px;height:270px;left:50%;top:54%;transform:translate(-50%,-50%);background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:grayscale(1) brightness(.45);opacity:.18}.result-scoreboard-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:5px}.result-finished-dot{grid-column:1;justify-self:start;padding:5px 9px;border-radius:999px;background:#ffdc18;color:#06295a;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.result-finished-dot:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#0b559c}.result-match-type{grid-column:2;padding:4px 10px;border:1px solid #ffe45c;border-radius:999px;color:#ffe45c;font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.result-card>summary .fixture-time{margin:2px auto 12px;background:#ffffff18;color:#dcecff}.result-card>summary .result-team .fixture-team{color:#fff;font-size:13px;text-shadow:0 2px 5px #00152f}.result-card>summary .result-team .club-logo{width:66px;height:66px;padding:0;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 5px 8px #00142f);box-shadow:none}.result-card>summary .result-score-box{min-width:112px}.result-card>summary .result-score-box small{color:#bcd7f2}.result-card>summary .result-score-box b{color:#fff;font-size:34px;text-shadow:0 3px 8px #00152f}.result-card>summary .result-score-box i{color:#ffdc18}.result-card>summary .result-referee{color:#c9def2}.result-card>summary .result-hint{color:#d7e9fa}.result-card>summary .result-hint i{background:#ffdc18;color:#06295a}
@media(max-width:560px){.result-card summary{padding:12px 8px 9px}.result-scoreboard{gap:5px}.result-team .fixture-team{font-size:9px;overflow-wrap:anywhere}.result-team .club-logo{width:43px;height:43px;padding:4px}.result-score-box{min-width:72px}.result-score-box b{gap:5px;font-size:23px}.result-score-box small{font-size:7px}.result-events{padding:11px 8px 13px}.result-event{grid-template-columns:37px 22px minmax(0,1fr);padding:7px 6px}.result-timeline .timeline-header,.result-timeline .timeline-row{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}.result-timeline .timeline-header{padding:9px 3px;font-size:8px}.result-timeline .timeline-row{min-height:62px;padding:9px 2px}.result-timeline .timeline-home,.result-timeline .timeline-away,.result-timeline .timeline-neutral{padding:0 5px;font-size:9px;overflow-wrap:anywhere}.result-timeline .timeline-minute{min-width:40px;padding:8px 2px;font-size:9px}}
@media(max-width:560px){.result-timeline .timeline-header{min-height:32px;padding:9px 3px;font-size:8px}.result-timeline .timeline-header b{padding:0 4px;line-height:1.25}.result-timeline .timeline-row{min-height:70px;padding:10px 2px}.result-timeline .timeline-home,.result-timeline .timeline-away{padding:0 6px;font-size:10px;line-height:1.35;overflow-wrap:normal;word-break:normal}.result-timeline .timeline-goal-scorer b{font-size:11px}.result-timeline .timeline-goal-assist{font-size:9px}.result-timeline .timeline-swap{font-size:9px;line-height:1.4}.result-timeline .timeline-row-neutral .timeline-away{font-size:10px}}
@media(max-width:560px){.result-card>summary{padding:10px 8px 11px}.result-scoreboard-top{margin-bottom:3px}.result-finished-dot,.result-match-type{padding:4px 7px;font-size:7px}.result-card>summary .fixture-time{margin-bottom:9px;font-size:8px}.result-card>summary .result-team .club-logo{width:48px;height:48px}.result-card>summary .result-team .fixture-team{font-size:9px}.result-card>summary .result-score-box{min-width:76px}.result-card>summary .result-score-box b{font-size:27px}}
.result-lineup{margin-top:14px;border:1px solid #cedbe8;border-radius:12px;background:#fff;overflow:hidden}.result-lineup>summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px!important;background:#eaf1f8!important;color:#143b63}.result-lineup>summary span{color:#61778d;font-size:10px;font-weight:800}.result-lineup[open]>summary{border-bottom:1px solid #cedbe8}.result-lineup-card{border-radius:0;box-shadow:none}.result-lineup-card .lineup-live-brand{padding:12px}.result-lineup-card .lineup-live-brand img{width:42px;height:42px}.result-lineup-card .lineup-live-brand strong{font-size:18px}.result-lineup-card .public-pitch.lineup-pitch{min-height:500px}.result-lineup-missing{margin:13px 0 0;padding:9px;border-radius:9px;background:#eef3f7;text-align:center}
@media(max-width:560px){.result-lineup>summary{padding:10px 8px!important}.result-lineup-card .public-pitch.lineup-pitch{min-height:475px}.result-lineup-card .lineup-live-brand strong{font-size:15px}.lineup-arrow-out{right:-3px;top:-3px;width:18px!important;height:18px;font-size:11px}}
.substitution-history-item.substitution-out-only b{color:inherit}

/* Nieuwe tijdlijngebeurtenis: tien seconden geel, daarna rustig wit. */
.live-timeline .timeline-row,
.live-timeline .timeline-event-goal,
.live-timeline .timeline-event-gele-kaart,
.live-timeline .timeline-event-rode-kaart,
.live-timeline .timeline-event-wissel,
.live-timeline .timeline-event-rust,
.live-timeline .timeline-event-tweede-helft-gestart,
.live-timeline .timeline-event-einde-wedstrijd{background:#fff;animation:none}
.live-timeline .timeline-row.timeline-new{background:#fff2a8;transition:background-color .45s ease}

/* Veiligheidsbediening beheerpagina. */
.admin-safety-bar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:10px 0 16px;padding:10px;border:1px solid #d8e3ed;border-radius:12px;background:#f4f7fa}.admin-safety-bar button{min-height:40px}.admin-safety-bar #testModeButton.active{border-color:#e5b900;background:var(--yellow);color:var(--blue);box-shadow:0 0 0 3px #ffdb1644}.save-indicator{margin-left:auto;padding:6px 9px;border-radius:999px;background:#e8eef4;font-weight:800}.save-indicator.success{background:#dcf4e4;color:#176a35}.save-indicator.error{background:#ffe2e4;color:#a41f2a}.save-indicator.test{background:#fff1a8;color:#765600}@media(max-width:560px){.admin-safety-bar{display:grid;grid-template-columns:1fr 1fr}.admin-safety-bar .save-indicator{grid-column:1/-1;margin:0;text-align:center}}

/* Wedstrijdgerichte layout van het livebeheer. */
.admin-live-card{overflow:visible;padding:0 0 18px;border:1px solid #cbd9e6;background:#eef3f8;box-shadow:0 14px 35px #05234a20}.admin-live-card>.status,.admin-live-card>h2,.admin-live-card>.form{display:none}.admin-live-card .admin-safety-bar{margin:0;padding:12px 14px;border:0;border-bottom:1px solid #d5e0ea;border-radius:15px 15px 0 0;background:#fff}.admin-live-card>.score{position:relative;min-height:190px;margin:0;padding:24px 28px;color:#fff;background:radial-gradient(circle at 50% 0,#1761ad 0,#0a3976 43%,#031630 100%)}.admin-live-card>.score:before{content:'WEDSTRIJDCENTRUM';position:absolute;left:50%;top:12px;color:#ffdb16;font-size:10px;font-weight:950;letter-spacing:.16em;transform:translateX(-50%)}.admin-live-card>.score .team{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:16px;line-height:1.1}.admin-live-card>.score .team-logo{box-sizing:border-box;width:70px;height:70px;padding:7px;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 6px 18px #0008}.admin-live-card>.score .score-number{font-size:52px;color:#fff;text-shadow:0 4px 0 #001126}.admin-live-card>.score .minute{min-width:74px;margin-top:8px;padding:7px 11px;background:var(--yellow);color:var(--blue);font-size:16px;box-shadow:0 4px 12px #0006}.admin-live-card>.timer-row{justify-content:center;margin:0;padding:12px 14px;background:#061f48;color:#fff}.admin-live-card>.timer-row #startTimer{min-width:180px}.admin-live-card>.timer-row #timerStatus{color:#d6e5f7;font-weight:800}.admin-live-card .team-match-controls{margin:14px}.admin-live-card .team-action-group{background:#fff}.admin-live-card .team-action-buttons button{border-width:2px;font-weight:950;box-shadow:0 5px 0 #001f4530;transition:transform .12s,box-shadow .12s}.admin-live-card .team-action-buttons button:active{transform:translateY(3px);box-shadow:0 2px 0 #001f4530}.admin-live-card .action-goal{border-color:#e1b800;background:#ffdb16;color:#06295a}.admin-live-card .action-yellow{border-color:#d4a900;background:#fff1a8;color:#6d5200}.admin-live-card .action-red{border-color:#b51f2b;background:#d93643;color:#fff}.admin-live-card .action-swap{border-color:#15793c;background:#239b51;color:#fff}.admin-live-card .match-flow-controls{padding:14px;border:1px solid #d3dfe9;border-radius:13px;background:#fff}.admin-inline-timeline{margin:14px;padding:14px;border:1px solid #d3dfe9;background:#fff;box-shadow:none}.admin-inline-timeline h2{margin:0 0 10px;font-size:18px}.admin-inline-timeline #events{display:grid;gap:7px;max-height:360px;overflow:auto}.admin-inline-timeline .event{margin:0;padding:9px 10px;border-left:4px solid var(--yellow);border-radius:8px;background:#f4f7fa}
.admin-live-card{overflow:hidden;border-color:#175da3;border-radius:18px}.admin-scoreboard-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:11px 18px;border-bottom:1px solid #ffffff24;background:#06275a;color:#fff}.admin-live-state{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e22b37;color:#fff;font-size:9px;font-weight:950;letter-spacing:.08em}.admin-live-state i{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff25}.admin-live-state.waiting{background:#ffda18;color:#06295a}.admin-live-state.waiting i{background:#06295a;box-shadow:0 0 0 4px #06295a18}.admin-match-type{justify-self:center;padding:5px 11px;border:1px solid #ffe45c;border-radius:999px;color:#ffe45c;font-size:9px;font-weight:950;letter-spacing:.08em}.admin-match-phase{justify-self:end;color:#fff;font-size:9px;font-weight:900;letter-spacing:.07em;text-align:right}.admin-live-card>.score{isolation:isolate;overflow:hidden;min-height:260px;margin:0;padding:35px 32px 28px;background:radial-gradient(circle at 50% 25%,#1b75cf 0,#0b55a7 34%,transparent 65%),linear-gradient(140deg,#08458e,#031d46)}.admin-live-card>.score:before{content:"";z-index:-1;width:265px;height:265px;left:50%;top:50%;transform:translate(-50%,-48%);background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:grayscale(1) brightness(.4);opacity:.25}.admin-live-card>.score:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,transparent,#ffdc18 30%,#ffdc18 70%,transparent)}.admin-live-card>.score .team{position:relative;z-index:1;gap:10px;color:#fff;font-size:17px;text-shadow:0 3px 7px #00152f}.admin-live-card>.score .team-logo{width:82px;height:82px;padding:0;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 7px 9px #00142f);box-shadow:none}.admin-score-centre{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.admin-score-caption{margin-bottom:6px;color:#bcd8f2;font-size:9px;font-weight:950;letter-spacing:.15em}.admin-live-card>.score .score-number{font-size:58px;line-height:1;color:#fff;text-shadow:0 5px 12px #00142f}.admin-live-card>.score .minute{min-width:76px;margin-top:13px;padding:9px 13px;border:2px solid #fff079;border-radius:12px;background:#ffdc18;color:#06295a;font-size:17px;box-shadow:0 6px 14px #00142f}.admin-live-card>.timer-row{border-top:1px solid #4e9dea66;background:#031d46}
@media(max-width:560px){.admin-live-card>.score{min-height:155px;padding:28px 8px 18px;gap:5px}.admin-live-card>.score .team{font-size:11px;overflow-wrap:anywhere}.admin-live-card>.score .team-logo{width:52px;height:52px;padding:5px}.admin-live-card>.score .score-number{font-size:36px}.admin-live-card>.score .minute{min-width:60px;padding:5px 7px;font-size:13px}.admin-live-card>.timer-row{display:grid;grid-template-columns:1fr;text-align:center}.admin-live-card>.timer-row #startTimer{width:100%;min-width:0}.admin-live-card .team-match-controls{margin:10px}.admin-live-card .team-action-groups{grid-template-columns:1fr 1fr;gap:7px}.admin-live-card .team-action-title{min-height:48px;padding:8px 3px;font-size:11px}.admin-live-card .team-action-buttons{grid-template-columns:1fr;padding:7px;gap:7px}.admin-live-card .team-action-buttons button{min-height:48px;padding:8px 3px;font-size:11px}.admin-live-card .match-flow-controls{position:sticky;z-index:20;bottom:5px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;margin-top:10px;padding:8px;box-shadow:0 -8px 24px #001c4050}.admin-live-card .match-flow-controls button{min-height:46px;padding:8px 4px;font-size:11px}.admin-inline-timeline{margin:10px}.admin-inline-timeline #events{max-height:280px}}
@media(max-width:560px){.admin-scoreboard-header{padding:9px 7px;gap:4px}.admin-live-state,.admin-match-type,.admin-match-phase{font-size:7px}.admin-live-state{padding:4px 6px}.admin-match-type{padding:4px 6px}.admin-live-card>.score{min-height:185px;padding:27px 7px 20px}.admin-live-card>.score .team{font-size:10px;line-height:1.15;overflow-wrap:anywhere}.admin-live-card>.score .team-logo{width:58px;height:58px;padding:0}.admin-live-card>.score .score-number{font-size:38px}.admin-live-card>.score .minute{min-width:58px;margin-top:9px;padding:6px 7px;font-size:13px}}
.timeline-goal-scorer,.timeline-goal-assist{display:block}.timeline-goal-scorer b{font-weight:950}.timeline-goal-assist{margin-top:3px;color:#66788b;font-size:10px;font-weight:700}
.live-timeline .timeline-home,.live-timeline .timeline-away{min-width:0;overflow:visible;overflow-wrap:normal;word-break:normal}.timeline-event-line{display:block;white-space:nowrap}.live-timeline .timeline-home .timeline-event-line{text-align:left}.live-timeline .timeline-away .timeline-event-line{text-align:right}.result-events .result-event-text b,.result-events .result-event-text small{display:block;width:auto;max-width:none;overflow-wrap:normal;word-break:normal;white-space:normal}
@media(max-width:560px){.timeline-event-line{font-size:9px;letter-spacing:-.02em}.timeline-event-wissel .timeline-event-line{font-size:8px}.live-timeline .timeline-home .timeline-event-line,.live-timeline .timeline-away .timeline-event-line{white-space:normal;overflow-wrap:normal;word-break:normal}}

/* Vernieuwde statistiekenkaarten en spelersprofielen. */
.player-list{counter-reset:stats-rank}.player-stat{position:relative;gap:10px;overflow:hidden;border:1px solid #dbe5ef!important;border-radius:14px!important;background:linear-gradient(145deg,#fff,#f5f8fb)!important;box-shadow:0 4px 12px #061f480d;transition:transform .18s,border-color .18s,box-shadow .18s}.player-stat:hover{transform:translateY(-1px);border-color:#a9bfd7!important;box-shadow:0 8px 20px #061f4819}.player-stat[aria-expanded="true"]{border-color:#2c67a2!important;background:linear-gradient(145deg,#eef6ff,#fff)!important;box-shadow:0 0 0 3px #2c67a21b}.stats-rank{display:grid;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#e8eef5;color:#36526e;font-size:11px;font-weight:950;place-items:center}.player-stat.rank-gold{border-left:5px solid #e7bb16!important}.player-stat.rank-silver{border-left:5px solid #aab6c2!important}.player-stat.rank-bronze{border-left:5px solid #bd7541!important}.rank-gold .stats-rank{background:linear-gradient(145deg,#ffe76c,#d9a900);color:#604600}.rank-silver .stats-rank{background:linear-gradient(145deg,#f4f7fa,#aab6c2);color:#384755}.rank-bronze .stats-rank{background:linear-gradient(145deg,#e7ad7c,#a85a2a);color:#fff}.stats-modernized .stats-player-text{min-width:0;gap:4px}.stats-modernized .stats-player-text>b{font-size:14px;line-height:1.1}.stats-modernized .competition-goals,.stats-modernized>.stats-total-goals{display:none}.stats-score-panel{display:grid;min-width:68px;flex:0 0 auto;grid-template-columns:auto;line-height:1;text-align:right}.stats-score-panel strong{color:var(--blue);font-size:23px;font-weight:950}.stats-score-panel small{margin-top:1px;color:#597089;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.stats-score-panel span{margin-top:5px;color:#3e5369;font-size:10px;font-weight:850}.stats-progress{display:grid;gap:3px;width:min(190px,100%)}.stats-progress>span{color:#6a7d90;font-size:9px;font-weight:750}.stats-progress>span b{color:inherit;font-size:inherit}.stats-progress>i{display:block;overflow:hidden;height:4px;border-radius:999px;background:#dfe7ef}.stats-progress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d4f91,#ffcf12);transition:width .35s}.inline-profile{overflow:hidden;padding:16px;border-radius:15px;background:linear-gradient(150deg,#f8fbff,#edf3f9);box-shadow:inset 0 1px #fff}.profile-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:4px 0 14px}.profile-total{position:relative;overflow:hidden;padding:10px 9px;border:1px solid #d6e1ec;border-radius:11px;background:#fff;text-align:center;box-shadow:0 3px 9px #061f480b}.profile-total:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6b8197}.profile-total.competition:before{background:#175997}.profile-total.cup:before{background:#e3b700}.profile-total.friendly:before{background:#29945a}.profile-total.playoff:before{background:#925eb0}.profile-total small{display:block;color:#6b7c8e;font-size:9px;font-weight:850}.profile-total b{display:block;margin-top:3px;color:#102f51;font-size:23px;font-weight:950}.inline-profile table{overflow:hidden;border-collapse:separate;border-spacing:0;border:1px solid #d7e1eb;border-radius:10px;background:#fff}.inline-profile thead th{background:#123f70;color:#fff}.inline-profile tbody tr:nth-child(even){background:#f2f6fa}.inline-profile tbody tr:hover{background:#e8f2fc}.inline-profile th,.inline-profile td{padding:8px}.season-table{border-collapse:separate;border-spacing:0;border:1px solid #d9e3ed;border-radius:12px;background:#fff}.season-table thead th{position:sticky;z-index:2;top:0;background:#123f70;color:#fff}.season-table tbody tr:nth-child(even){background:#f4f7fa}.season-table tbody tr:hover{background:#eaf3fc}.season-table th,.season-table td{padding:10px}.season-player img,.season-player-placeholder{box-shadow:0 2px 7px #061f4820}
@media(max-width:560px){.player-stat{gap:7px;padding:8px}.stats-rank{width:24px;height:24px;flex-basis:24px;font-size:10px}.stats-modernized .stats-player-photo{width:36px;height:36px;flex-basis:36px}.stats-modernized .stats-player-text>b{font-size:12px}.stats-score-panel{min-width:55px}.stats-score-panel strong{font-size:20px}.stats-score-panel span{font-size:9px}.stats-progress{width:100%}.stats-progress>span{font-size:8px}.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-total b{font-size:20px}.inline-profile{padding:11px}.inline-profile table{display:block;overflow-x:auto;white-space:nowrap}.season-table-wrap{overflow:visible}.season-table{display:block;min-width:0;border:0;background:transparent}.season-table thead{display:none}.season-table tbody{display:grid;gap:9px}.season-table tbody tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px;border:1px solid #d7e2ec;border-radius:12px;background:#fff!important;box-shadow:0 4px 12px #061f480d}.season-table tbody td{display:block;padding:3px;text-align:center!important;border:0}.season-table tbody td:first-child{grid-column:1/-1;padding-bottom:8px;border-bottom:1px solid #e0e8f0;text-align:left!important}.season-table tbody td:not(:first-child):before{display:block;margin-bottom:3px;color:#718296;font-size:8px;font-weight:900;text-transform:uppercase}.season-table tbody td:nth-child(2):before{content:"GS"}.season-table tbody td:nth-child(3):before{content:"Goals"}.season-table tbody td:nth-child(4):before{content:"Assists"}.season-table tbody td:nth-child(5):before{content:"Geel"}.season-table tbody td:nth-child(6):before{content:"Rood"}}

/* Eén consequente Hatto-Heim-huisstijl voor live- en beheerpagina. */
:root{--surface-border:#d7e2ed;--soft-blue:#edf4fb;--button-blue:#07519f;--button-blue-dark:#043b78;--button-yellow-dark:#bd9300}
body{background:linear-gradient(180deg,#eef3f8 0,#f7f9fc 280px,#f3f6fa 100%)}
.card{border:1px solid var(--surface-border);box-shadow:0 7px 22px #061f4811}
.card>h2,.tab-panel>.card>h2{display:flex;align-items:center;gap:8px;color:#0a315b}.card>h2:before,.tab-panel>.card>h2:before{content:"";display:block;width:5px;height:20px;flex:0 0 5px;border-radius:999px;background:var(--yellow);box-shadow:0 1px 3px #8b6b0044}
button{min-height:43px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffda0066;outline-offset:2px}
button.primary{border:1px solid #c49a00;background:linear-gradient(180deg,#fff36a 0,var(--yellow) 58%,#efc300 100%);color:#073b76;box-shadow:inset 0 1px #fffbd1,0 4px 0 var(--button-yellow-dark),0 7px 13px #614b0028;text-shadow:0 1px #fff8a6}
button.secondary:not(.player-stat):not(.stat-switch-btn),.photo-button{border:1px solid #063f7e;background:linear-gradient(180deg,#1470c9 0,var(--button-blue) 58%,#064485 100%);color:#fff;box-shadow:inset 0 1px #67a7e4,0 4px 0 var(--button-blue-dark),0 7px 13px #062c5b25;text-shadow:0 1px #002957}
button.primary:hover,button.secondary:not(.player-stat):not(.stat-switch-btn):hover,.photo-button:hover{filter:brightness(1.06);transform:translateY(-1px)}
button.primary:active,button.secondary:not(.player-stat):not(.stat-switch-btn):active,.photo-button:active{transform:translateY(3px);box-shadow:inset 0 2px 4px #001f4655,0 1px 0 var(--button-blue-dark)}
.tab-btn,.stat-switch-btn,.admin-tab{min-height:42px;border:1px solid #cbd9e7;background:linear-gradient(180deg,#fff,#e9f0f7);color:#183b61;box-shadow:inset 0 1px #fff,0 3px 0 #bdcad8,0 5px 10px #061f4812;text-shadow:none}
.tab-btn.active,.stat-switch-btn.active,.admin-tab.active{border-color:#c59a00;background:linear-gradient(180deg,#fff58a,var(--yellow) 62%,#edc100);color:#073b76;box-shadow:inset 0 1px #fffbd1,0 4px 0 var(--button-yellow-dark),0 7px 13px #614b0022}
.tab-btn:hover,.stat-switch-btn:hover,.admin-tab:hover{filter:brightness(1.025);transform:translateY(-1px)}.tab-btn:active,.stat-switch-btn:active,.admin-tab:active{transform:translateY(2px);box-shadow:inset 0 2px 3px #5f718233,0 1px 0 #aebdcb}
.admin-tab.admin-logout{border-color:#e4b9bd;background:linear-gradient(180deg,#fff5f5,#ffe1e3);color:#a51f28;box-shadow:0 3px 0 #d7a4a9,0 5px 10px #5d0b1212;text-shadow:none}.admin-tab.admin-logout:hover{background:linear-gradient(180deg,#e95963,#cf303b);color:#fff}
nav a{border:1px solid #d2deea;background:linear-gradient(180deg,#fff,#edf3f8);color:#173a60;box-shadow:0 2px 6px #061f4810}nav a.active{border-color:#c59a00;background:linear-gradient(180deg,#fff58a,var(--yellow));color:#073b76;box-shadow:0 3px 0 var(--button-yellow-dark)}
.form input,.form select,input,select{border-color:#cddae6}.form input:focus,.form select:focus,input:focus,select:focus{border-color:#2870b5;box-shadow:0 0 0 3px #2870b51a}
.danger,.event-remove,.lineup-remove{transition:transform .12s,filter .12s}.danger:hover,.event-remove:hover,.lineup-remove:hover{filter:brightness(1.04)}

/* Vrijstaande spelersfoto's op de openbare opstellingskaart. */
.lineup-live-card .public-pitch .lineup-place .lineup-slot{
  width:112px;
  min-height:142px;
}
.lineup-live-card .lineup-player-frame{
  width:96px;
  height:104px;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  filter:drop-shadow(0 7px 6px #000a);
}
.lineup-live-card .lineup-player-photo,
.lineup-live-card .lineup-photo-placeholder{
  position:absolute!important;
  inset:auto 0 0!important;
  width:100%!important;
  height:112px!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  object-fit:contain;
  object-position:center bottom;
  background:transparent;
}
.lineup-live-card .public-pitch .lineup-slot b{
  margin-top:-2px;
  padding:6px 4px;
  border-width:2px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.lineup-live-card .lineup-slot .lineup-shirt-number{
  right:-3px;
  top:52px;
}
.public-lineup-bench{padding:12px 16px 15px}
.public-lineup-bench h3{margin-bottom:8px;font-size:13px}
.public-lineup-bench>div{gap:6px}
.public-bench-player{min-height:43px;padding:5px 6px}
.public-bench-player img,.bench-photo-placeholder{width:30px;height:30px;flex-basis:30px}

@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-place .lineup-slot{
    width:clamp(58px,18vw,72px);
    min-height:104px;
  }
  .lineup-live-card .lineup-player-frame{
    width:clamp(54px,16vw,66px);
    height:70px;
    padding:0;
  }
  .lineup-live-card .lineup-player-photo,
  .lineup-live-card .lineup-photo-placeholder{
    height:78px!important;
  }
  .lineup-live-card .public-pitch .lineup-slot b{
    margin-top:-1px;
    padding:4px 1px;
    font-size:8px!important;
  }
  .lineup-live-card .lineup-slot .lineup-shirt-number{
    right:-2px;
    top:31px;
  }
  .public-lineup-bench{padding:10px 7px 12px}
  .public-lineup-bench>div{gap:5px}
  .public-bench-player{min-height:38px;padding:4px 5px}
  .public-bench-player img,.bench-photo-placeholder{width:27px;height:27px;flex-basis:27px}
}
.team-action-buttons .action-goal{color:#073b76;text-shadow:none}.team-action-buttons .action-yellow{color:#624900;text-shadow:none}.team-action-buttons .action-red,.team-action-buttons .action-swap{color:#fff;text-shadow:0 1px #0005}
@media(max-width:560px){.card{border-radius:15px;padding:14px;box-shadow:0 5px 15px #061f480e}.card>h2,.tab-panel>.card>h2{font-size:17px}.tab-btn,.stat-switch-btn,.admin-tab,button.primary,button.secondary:not(.player-stat){min-height:46px}.tabs,.admin-tabs{gap:7px}}

/* All-time bevat vooral oud-spelers; alleen de huidige selectie toont mijlpaalvoortgang. */
#allPlayers .stats-progress{display:none}

/* Mobiel scorebord behoudt zijn oorspronkelijke ronde kaartvorm. */
@media(max-width:560px){.live-score-card{padding:0!important;border:0!important;border-radius:18px;background:transparent!important;box-shadow:none!important}.live-score-card .scoreboard-shell{border-radius:18px 18px 0 0}.live-score-card .live-timeline{border-radius:0 0 18px 18px;box-shadow:0 8px 20px #061f4814}}

/* Uitgeklapte spelersseizoenen vullen op mobiel de volledige kaart. */
.h2h-results>div>span{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:5px 9px;border:1px solid #ffe268;border-radius:8px;background:linear-gradient(145deg,#ffe44d,#efbd00);box-shadow:0 3px 8px #0004;color:#092b54;font-size:13px;font-weight:950;line-height:1}.h2h-results>div>span small{display:inline-block;margin:0;padding-left:8px;border-left:1px solid #092b5440;color:#294b6d;font-size:9px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}@media(max-width:560px){.h2h-results>div>span{font-size:12px}}
.inline-profile{width:100%;min-width:0}
@media(max-width:560px){.inline-profile table{display:table;width:100%;min-width:0;table-layout:fixed;overflow:visible;white-space:normal}.inline-profile th,.inline-profile td{padding:7px 2px;font-size:10px;text-align:center}.inline-profile th:first-child,.inline-profile td:first-child{width:29%;padding-left:4px;text-align:left}.inline-profile thead th{font-size:8px;overflow-wrap:anywhere}.inline-profile tfoot th{font-size:9px}}

/* Openbaar schorsingenoverzicht: bewust alleen foto en spelersnaam. */
.suspended-card{border-color:#ead2d5;background:linear-gradient(145deg,#fff,#fff7f7)}.suspended-card>h2:before{background:#d93643;box-shadow:0 1px 3px #780a1440}.suspended-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.suspended-player{display:flex;min-width:0;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e3cdd0;border-radius:12px;background:#fff;box-shadow:0 3px 10px #64111a0d}.suspended-player img,.suspended-photo-placeholder{width:42px;height:42px;flex:0 0 42px;border:2px solid #e7c8cb;border-radius:50%;object-fit:cover;object-position:center top;background:#eef2f6}.suspended-photo-placeholder{display:grid;color:#718092;font-size:8px;font-weight:800;place-items:center}.suspended-player b{min-width:0;color:#81202a;font-size:12px;line-height:1.15;overflow-wrap:anywhere}@media(max-width:560px){.suspended-players{grid-template-columns:repeat(2,minmax(0,1fr))}.suspended-player{align-items:center;flex-direction:column;padding:10px 5px;text-align:center}.suspended-player img,.suspended-photo-placeholder{width:48px;height:48px;flex-basis:48px}}

/* Handmatige KNVB-schorsingen in beheer. */
.suspension-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,180px) auto;gap:9px;margin-bottom:12px}.suspension-form select,.suspension-form input{width:100%;min-height:44px;padding:10px;border:1px solid #cddae6;border-radius:10px;background:#fff}.manual-suspensions{display:grid;gap:8px;margin-top:14px}.manual-suspension-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #d8e2ec;border-radius:12px;background:#f8fafc}.manual-suspension-row img,.manual-suspension-row>.suspended-photo-placeholder{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top}.manual-suspension-row span b,.manual-suspension-row span small{display:block}.manual-suspension-row span small{margin-top:3px;color:var(--muted);font-size:10px}.manual-suspension-row button{min-height:38px;padding:8px 10px;font-size:11px}@media(max-width:650px){.suspension-form{grid-template-columns:1fr}.manual-suspension-row{grid-template-columns:44px minmax(0,1fr)}.manual-suspension-row button{grid-column:1/-1;width:100%}}

/* Beheeropstelling in dezelfde visuele stijl als de openbare fotokaart. */
.admin-lineup-pitch{
  position:relative;
  min-height:650px;
  padding:42px 18px;
  overflow:hidden;
  border:0;
  border-radius:17px;
  background:radial-gradient(circle at center,#0b2a48cc 0,#031427 68%),repeating-linear-gradient(90deg,#ffffff04 0,#ffffff04 20%,transparent 20%,transparent 40%);
  box-shadow:inset 0 0 55px #0008,0 10px 25px #03142726;
}
.admin-lineup-pitch:after{display:none}
.admin-pitch-markings{position:absolute;inset:31px 14px;z-index:0;border:2px solid #ffffff8c;pointer-events:none}
.admin-pitch-markings i{position:absolute;display:block}
.admin-pitch-halfway{left:0;right:0;top:50%;border-top:2px solid #ffffff8c}
.admin-pitch-centre{left:50%;top:50%;width:118px;height:118px;border:2px solid #ffffff8c;border-radius:50%;transform:translate(-50%,-50%)}
.admin-pitch-box{left:50%;width:48%;height:18%;border:2px solid #ffffff8c;transform:translateX(-50%)}
.admin-pitch-box-top{top:-2px;border-top:0}.admin-pitch-box-bottom{bottom:-2px;border-bottom:0}
.admin-lineup-pitch .lineup-place{z-index:2}
.admin-lineup-pitch .admin-lineup-slot{
  position:relative;
  width:112px;
  min-height:142px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fff;
}
.admin-lineup-player-frame{position:relative;display:block;width:96px;height:104px;margin:0 auto;filter:drop-shadow(0 7px 6px #000a)}
.admin-lineup-pitch .lineup-player-photo,.admin-lineup-pitch .lineup-photo-placeholder{position:absolute;inset:auto 0 0;width:100%;height:112px;border:0;border-radius:0;object-fit:contain;object-position:center bottom;background:transparent}
.admin-lineup-pitch .admin-lineup-slot b{display:block;position:relative;z-index:3;width:100%;margin-top:-2px;padding:6px 4px;border:2px solid var(--yellow);border-radius:4px;background:var(--blue);color:#fff;font-size:11px;line-height:1.05;text-align:center;white-space:nowrap;box-shadow:0 4px 8px #0008}
.admin-lineup-number{position:absolute;right:-3px;top:82px;z-index:5;display:grid;width:27px;height:27px;border:2px solid var(--yellow);border-radius:7px;background:var(--blue);color:var(--yellow);font-size:12px;font-weight:950;place-items:center}
.admin-lineup-plus{display:grid;width:48px;height:48px;margin:0 auto 7px;border:2px solid var(--yellow);border-radius:50%;background:#073b76cc;color:var(--yellow);font-size:34px;font-weight:400;line-height:1;place-items:center;box-shadow:0 5px 12px #0008;transition:transform .15s,background .15s}
.admin-lineup-slot:hover .admin-lineup-plus{transform:scale(1.08);background:#0b5ba9}
.admin-lineup-pitch .lineup-place-empty .admin-lineup-slot{min-height:82px}
.admin-lineup-pitch .lineup-place-empty small{display:block;max-width:92px;margin:0 auto;color:#fff;font-size:9px;font-weight:850;line-height:1.1;text-align:center;text-shadow:0 2px 4px #000}
.admin-lineup-pitch .lineup-remove{right:-5px;top:-5px;z-index:8}
.admin-lineup-bench{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:10px;border-radius:13px;background:#eef3f8}
.admin-lineup-bench .lineup-place{min-width:0}
.admin-lineup-bench .admin-lineup-slot{width:100%;min-height:72px;padding:5px;border:1px solid #ccd9e5;border-radius:10px;background:#fff;box-shadow:0 3px 8px #061f4810}
.admin-lineup-bench .admin-lineup-player-frame{width:42px;height:42px;margin:0 auto}
.admin-lineup-bench .lineup-player-photo,.admin-lineup-bench .lineup-photo-placeholder{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top}
.admin-lineup-bench .admin-lineup-number{right:4px;top:31px;width:20px;height:20px;border-width:1px;border-radius:5px;font-size:9px}
.admin-lineup-bench .admin-lineup-slot b{display:block;margin-top:3px;color:#12385f;font-size:9px;line-height:1.05;white-space:normal}
.admin-lineup-bench .admin-lineup-plus{width:34px;height:34px;margin-bottom:3px;font-size:25px;box-shadow:none}
.admin-lineup-bench .lineup-place-empty small{color:#60758a;font-size:8px}

@media(max-width:560px){
  .admin-lineup-pitch{min-height:520px;padding:32px 2px;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:0}
  .admin-pitch-markings{inset:18px 8px}.admin-pitch-centre{width:78px;height:78px}
  .admin-lineup-pitch .admin-lineup-slot{width:clamp(57px,17vw,70px);min-height:104px}
  .admin-lineup-player-frame{width:clamp(54px,16vw,66px);height:70px}
  .admin-lineup-pitch .lineup-player-photo,.admin-lineup-pitch .lineup-photo-placeholder{height:78px}
  .admin-lineup-pitch .admin-lineup-slot b{margin-top:-1px;padding:4px 1px;font-size:8px;white-space:normal}
  .admin-lineup-number{right:-2px;top:55px;width:20px;height:20px;border-width:1px;border-radius:5px;font-size:9px}
  .admin-lineup-plus{width:40px;height:40px;font-size:29px}
  .admin-lineup-pitch .lineup-place-empty small{max-width:65px;font-size:7px}
  .admin-lineup-bench{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}
}

/* Spelersfoto's bij statistieken, topscorers en assists als vrije uitsnede. */
.stats-modernized .stats-player-photo{
  width:48px;
  height:58px;
  flex:0 0 48px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 4px 4px #061f4830);
}
.top-scorer img{
  width:78px;
  height:92px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 5px 5px #061f4838);
}
@media(max-width:560px){
  .stats-modernized .stats-player-photo{
    width:42px;
    height:50px;
    flex-basis:42px;
  }
  .top-scorer img{
    width:64px;
    height:76px;
  }
}

/* Rugnummers op hun vertrouwde plek, maar duidelijker en exact gecentreerd. */
.lineup-live-card .lineup-slot .lineup-shirt-number,
.admin-lineup-pitch>.lineup-place .admin-lineup-number{
  right:-3px;
  top:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  border:2px solid #ffe01b;
  border-radius:7px;
  background:#07519f;
  color:#ffe01b;
  font-size:14px;
  font-weight:950;
  line-height:1;
  text-align:center;
  text-shadow:0 1px 1px #001d3f;
  box-shadow:0 3px 8px #0008,inset 0 0 0 1px #ffffff26;
}
@media(max-width:560px){
  .lineup-live-card .lineup-slot .lineup-shirt-number,
  .admin-lineup-pitch>.lineup-place .admin-lineup-number{
    right:-2px;
    top:31px;
    width:23px;
    height:23px;
    font-size:11px;
  }
}

/* Iets compactere spelersfoto's: meer ruimte tussen de posities. */
.lineup-live-card .lineup-player-frame,
.admin-lineup-player-frame{
  width:88px;
  height:94px;
}
.lineup-live-card .lineup-player-photo,
.lineup-live-card .lineup-photo-placeholder,
.admin-lineup-pitch .lineup-player-photo,
.admin-lineup-pitch .lineup-photo-placeholder{
  height:100px!important;
}
@media(max-width:560px){
  .lineup-live-card .lineup-player-frame,
  .admin-lineup-player-frame{
    width:clamp(50px,14vw,58px);
    height:62px;
  }
  .lineup-live-card .lineup-player-photo,
  .lineup-live-card .lineup-photo-placeholder,
  .admin-lineup-pitch .lineup-player-photo,
  .admin-lineup-pitch .lineup-photo-placeholder{
    height:70px!important;
  }
}

/* Foto en naambalk vormen visueel één aansluitend spelersblok. */
.lineup-live-card .public-pitch .lineup-slot b,
.admin-lineup-pitch .admin-lineup-slot b{
  margin-top:-7px;
}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b,
  .admin-lineup-pitch .admin-lineup-slot b{
    margin-top:-5px;
  }
}

/* Definitieve live-override: wint van de oudere public-pitch fotostijl. */
.lineup-live-card .public-pitch.lineup-pitch .lineup-player-photo,
.lineup-live-card .public-pitch.lineup-pitch .lineup-photo-placeholder{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  clip-path:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}

/* H2H: seizoen en wedstrijdtype nadrukkelijk leesbaar. */
.h2h-results>div>span{
  padding:7px 10px;
  font-size:16px;
  font-weight:950;
}
.h2h-results>div>span small{
  margin-left:2px;
  padding:5px 8px;
  border:0;
  border-radius:6px;
  background:#0b3f78;
  color:#fff;
  font-size:11px;
  font-weight:950;
  line-height:1;
  letter-spacing:.01em;
  text-transform:none;
}
@media(max-width:560px){
  .h2h-results>div>span{font-size:15px}
}
.h2h-results>div>span em{color:#294b6d;font-size:9px;font-style:normal;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.h2h-results>div>span strong{color:#092b54;font-size:16px;font-weight:950}

/* Kleurrijk Hatto-Heim wedstrijdcentrum. */
.live-score-card{
  border:1px solid #ffd900;
  border-radius:19px;
  background:#041a3b;
  box-shadow:0 14px 38px #031a3c38,0 0 0 1px #ffd90035;
}
.scoreboard-shell{
  isolation:isolate;
  background:
    radial-gradient(circle at 17% 34%,#28a4ff38 0 2%,transparent 24%),
    radial-gradient(circle at 83% 34%,#28a4ff38 0 2%,transparent 24%),
    radial-gradient(circle at 50% 36%,#0878e8 0,#0756b5 31%,#063778 63%,#031a3b 100%);
}
.scoreboard-shell:before{
  z-index:0;
  inset:62px 50% auto auto;
  width:min(390px,55vw);
  height:min(390px,55vw);
  border:0;
  border-radius:0;
  background:url('assets/logo.png') center/contain no-repeat;
  opacity:.075;
  filter:grayscale(1) brightness(1.65) saturate(.35);
  transform:translateX(50%);
}
.scoreboard-shell:after{
  z-index:0;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:linear-gradient(115deg,transparent 0 18%,#40b8ff14 27%,transparent 36% 64%,#40b8ff12 73%,transparent 82%);
  pointer-events:none;
}
.scoreboard-header{
  border-bottom:2px solid #ffd600;
  background:linear-gradient(90deg,#020d22,#061d43 50%,#020d22);
  color:#fff;
}
.scoreboard-title,.scoreboard-header .scoreboard-status{color:#ffdb16}
.live-score-card .score{min-height:205px;padding:26px 34px}
.live-score-card .team{font-size:19px}
.live-score-card .team .club-logo{
  width:82px;
  height:82px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  filter:drop-shadow(0 8px 9px #00132aaa) drop-shadow(0 0 7px #ffd91f55);
  box-shadow:none;
}
.live-score-card .team .club-logo.oene-logo{transform:none;margin:0}
.live-score-card .score-number{font-size:62px;text-shadow:0 5px 12px #001124,0 0 22px #3da9ff40}
.live-score-card .minute{border-color:#ffe96b;border-radius:9px;background:linear-gradient(145deg,#ffe64b,#efb900);box-shadow:0 5px 14px #00112699;color:#06295a}
.live-score-card .live-timeline{
  position:relative;
  z-index:2;
  margin:0;
  padding:18px 22px 22px;
  border-top:2px solid #ffd600;
  background:linear-gradient(145deg,#073f8d,#052b64 56%,#031b40);
  color:#fff;
}
.live-score-card .live-timeline h2{position:relative;margin:0 0 13px;color:#ffdb16;text-align:center;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 12px #28a8ff}
.live-timeline #liveTimeline{position:relative;display:grid;gap:9px}
.live-timeline #liveTimeline:after{content:"";position:absolute;z-index:0;top:35px;bottom:4px;left:50%;width:2px;background:linear-gradient(#ffe652,#e4ad00);box-shadow:0 0 7px #ffd900;transform:translateX(-50%);pointer-events:none}
.live-timeline .timeline-header{position:relative;z-index:2;padding:0 8px 9px;border-bottom:1px solid #63b8ff55;color:#fff}
.live-timeline .timeline-header span{color:#ffd91a;font-weight:900;text-transform:uppercase}
.live-timeline .timeline-row,
.live-timeline .timeline-event-goal,
.live-timeline .timeline-event-gele-kaart,
.live-timeline .timeline-event-rode-kaart,
.live-timeline .timeline-event-wissel,
.live-timeline .timeline-event-rust,
.live-timeline .timeline-event-tweede-helft-gestart,
.live-timeline .timeline-event-einde-wedstrijd{
  position:relative;
  z-index:1;
  margin:0;
  padding:11px 12px;
  border:1px solid #20a1ff9c;
  border-left-width:1px;
  border-radius:11px;
  background:linear-gradient(100deg,#0a4a9e,#073879 54%,#052d68);
  color:#fff;
  box-shadow:inset 0 1px #ffffff13,0 4px 12px #00163255;
}
.live-timeline .timeline-row:after{content:"";position:absolute;z-index:3;top:50%;left:50%;width:8px;height:8px;border:2px solid #ffe55a;border-radius:50%;background:#0b4289;box-shadow:0 0 0 3px #0b4289,0 0 7px #ffd600;transform:translate(-50%,-50%)}
.live-timeline .timeline-minute{position:relative;z-index:4;justify-self:center;min-width:42px;padding:6px 7px;border:1px solid #fff19a;border-radius:7px;background:linear-gradient(145deg,#ffe43d,#e8ae00);box-shadow:0 3px 8px #00153388;color:#06295a;font-size:12px}
.live-timeline .timeline-home,.live-timeline .timeline-away,.live-timeline .timeline-neutral{position:relative;z-index:2;color:#fff;font-size:13px;text-shadow:0 2px 4px #00132a}
.live-timeline .timeline-neutral{padding:0 54px}
.live-timeline .timeline-row.timeline-new{background:linear-gradient(100deg,#ffde35,#fff3a2 50%,#ffde35);color:#06295a}
.h2h-scoreboard{position:relative;z-index:2;border-color:#ffd91f80;background:#031a3bcf}
.h2h-scoreboard>summary{background:linear-gradient(90deg,#063b80,#0a58b4 50%,#063b80);color:#ffdf24}
@media(max-width:560px){
  .live-score-card{border-radius:18px}
  .scoreboard-shell:before{top:92px;width:230px;height:230px}
  .live-score-card .score{min-height:170px;padding:21px 10px;gap:6px}
  .live-score-card .team{font-size:12px}
  .live-score-card .team .club-logo{width:58px;height:58px}
  .live-score-card .score-number{font-size:40px}
  .live-score-card .minute{min-width:58px;padding:6px 8px}
  .live-score-card .live-timeline{padding:15px 8px 17px}
  .live-timeline #liveTimeline{gap:7px}
  .live-timeline .timeline-row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:5px;padding:9px 6px}
  .live-timeline .timeline-home,.live-timeline .timeline-away,.live-timeline .timeline-neutral{font-size:9px}
  .live-timeline .timeline-minute{min-width:35px;padding:5px 3px;font-size:10px}
  .live-timeline .timeline-neutral{padding:0 38px}
}

/* Definitieve rustige blauwe wedstrijdweergave. */
.scoreboard-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;padding:12px 22px;border-bottom:1px solid #ffffff24;background:#06275a99}
.scoreboard-header .live-label{justify-self:start;background:#ffd91a;color:#06295a;box-shadow:none}
.scoreboard-header .live-label i{background:#06295a;box-shadow:0 0 0 4px #06295a18}
.scoreboard-header .live-label.waiting{background:#ffd91a;color:#06295a}
.scoreboard-title{display:none}
.scoreboard-match-type{justify-self:center;padding:5px 12px;border:1px solid #ffe357;border-radius:999px;color:#ffe357;font-size:10px;font-weight:950;letter-spacing:.08em}
.scoreboard-match-type[hidden]{display:none}
.scoreboard-status{justify-self:end;color:#fff;text-align:right}
.live-score-card .live-timeline{border-top:1px solid #55aaff52;background:linear-gradient(145deg,#0750ac,#063b82 55%,#04285d)}
.live-timeline #liveTimeline{gap:0}
.live-timeline #liveTimeline:after{top:29px;bottom:18px;width:1px;background:#98cfff9c;box-shadow:none}
.live-timeline .timeline-header{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);padding:0 10px 11px;color:#fff}
.live-timeline .timeline-header b:first-child{text-align:right}.live-timeline .timeline-header b:last-child{text-align:left}
.live-timeline .timeline-row,.live-timeline .timeline-event-goal,.live-timeline .timeline-event-gele-kaart,.live-timeline .timeline-event-rode-kaart,.live-timeline .timeline-event-wissel,.live-timeline .timeline-event-rust,.live-timeline .timeline-event-tweede-helft-gestart,.live-timeline .timeline-event-einde-wedstrijd{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);min-height:58px;margin:0;padding:11px 10px;border:0;border-bottom:1px solid #68b5ff3d;border-radius:0;background:transparent;box-shadow:none}
.live-timeline .timeline-row:after{display:none}
.live-timeline .timeline-minute{min-width:48px;padding:9px 5px;border:2px solid #ffe020;border-radius:50%;background:#0a397b;color:#fff;box-shadow:0 2px 8px #001b42aa;font-size:12px}
.live-timeline .timeline-home{text-align:right}.live-timeline .timeline-away{text-align:left}
.live-timeline .timeline-home,.live-timeline .timeline-away{padding:0 10px;font-size:13px;line-height:1.25}
.live-timeline .timeline-neutral{grid-column:3;padding:0 10px;text-align:left}
.timeline-goal,.timeline-swap{display:block}.timeline-goal-scorer{display:block;color:#fff}.timeline-goal-scorer i{font-style:normal}.timeline-goal-assist{display:block;margin-top:3px;color:#c8ddf4!important;font-size:10px;font-weight:700}.timeline-penalty{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:999px;background:#ffd91a;color:#06295a!important;font-size:9px;font-weight:950}
.timeline-swap span{display:block}.timeline-swap i{display:inline-block;width:16px;font-style:normal;font-size:17px}.timeline-swap .sub-out i{color:#ff404c}.timeline-swap .sub-in i{color:#43db63}.timeline-neutral-label{color:#fff;font-weight:900}
.live-timeline .timeline-row.timeline-new{background:#ffe66b;color:#06295a}.live-timeline .timeline-row.timeline-new .timeline-home,.live-timeline .timeline-row.timeline-new .timeline-away,.live-timeline .timeline-row.timeline-new .timeline-neutral,.live-timeline .timeline-row.timeline-new .timeline-goal-scorer{color:#06295a;text-shadow:none}
@media(max-width:560px){
  .scoreboard-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:10px 9px;gap:5px}.scoreboard-header .live-label{justify-self:start}.scoreboard-match-type{grid-column:auto;grid-row:auto;justify-self:center;padding:4px 8px;font-size:8px}.scoreboard-status{justify-self:end;grid-column:auto;font-size:8px;line-height:1.15;text-align:right}
  .live-score-card .live-timeline{padding:14px 5px 16px}.live-timeline .timeline-header,.live-timeline .timeline-row{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:2px}.live-timeline .timeline-row{min-height:64px;padding:10px 2px}.live-timeline .timeline-home,.live-timeline .timeline-away{padding:0 5px;font-size:10px;overflow-wrap:anywhere}.live-timeline .timeline-minute{min-width:40px;padding:8px 2px;font-size:10px}.live-timeline .timeline-neutral{grid-column:3;padding:0 5px;font-size:10px;text-align:left}.timeline-goal-assist{font-size:8px}.timeline-swap i{width:12px;font-size:14px}.timeline-event-wissel .timeline-swap{font-size:9px}
}

/* H2H in dezelfde blauwe scorebordstijl. */
.h2h-scoreboard{overflow:hidden;margin:18px;border:1px solid #62b8ff63;border-radius:17px;background:linear-gradient(145deg,#084a9d,#063677 58%,#042858);box-shadow:0 10px 24px #00153066;color:#fff}
.h2h-scoreboard>summary{position:relative;padding:15px 44px 15px 18px;background:#ffffff08;color:#fff;font-size:15px;text-align:left;list-style:none}.h2h-scoreboard>summary::-webkit-details-marker{display:none}.h2h-scoreboard>summary:after{content:'⌄';position:absolute;right:18px;top:50%;color:#d9ebff;font-size:22px;transform:translateY(-54%);transition:transform .2s}.h2h-scoreboard[open]>summary:after{transform:translateY(-45%) rotate(180deg)}
.h2h-scoreboard>#headToHead{padding:0 16px 16px}.h2h-heading>span{margin:0 0 10px;color:#bcd7f2;font-size:11px;text-align:left}
.h2h-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 14px;padding:10px 4px;border:1px solid #65b6ff47;border-radius:13px;background:#031f4a45}.h2h-summary span{padding:6px 3px;border-radius:0;border-left:1px solid #78bdff42;background:transparent;color:#c9ddf1;font-size:9px}.h2h-summary span:first-child{border-left:0}.h2h-summary strong{color:#fff;font-size:19px}
.h2h-results{gap:8px}.h2h-result{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;padding:11px;border:1px solid #62b8ff38;border-radius:12px;background:#ffffff08}.h2h-result-meta strong{display:table;padding:5px 9px;border:1px solid #ffe01f;border-radius:999px;color:#ffe01f;font-size:13px}.h2h-result-meta small{display:block;margin:6px 0 0 4px;color:#d4e5f5;font-size:10px}.h2h-result-match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.h2h-result-match>div{min-width:0}.h2h-result-match .fixture-team{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:9px;line-height:1.1;text-align:center}.h2h-result-match .club-logo{width:40px;height:40px;padding:0;border:0;border-radius:0;background:transparent;object-fit:contain;filter:drop-shadow(0 3px 4px #00152b88)}.h2h-result-match>b{display:flex;align-items:center;gap:6px;color:#fff;font-size:20px}.h2h-result-match>b i{color:#8fbae5;font-style:normal;font-size:14px}
@media(max-width:560px){.h2h-scoreboard{margin:12px 8px}.h2h-scoreboard>summary{padding:13px 38px 13px 13px;font-size:13px}.h2h-scoreboard>#headToHead{padding:0 8px 10px}.h2h-summary{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 2px}.h2h-summary span{padding:5px 1px;font-size:7px}.h2h-summary strong{font-size:15px}.h2h-result{grid-template-columns:82px minmax(0,1fr);gap:5px;padding:8px 5px}.h2h-result-meta strong{padding:4px 6px;font-size:10px}.h2h-result-meta small{font-size:8px}.h2h-result-match{gap:3px}.h2h-result-match .club-logo{width:31px;height:31px}.h2h-result-match .fixture-team{font-size:7px;overflow-wrap:anywhere}.h2h-result-match>b{gap:3px;font-size:16px}}

/* Scheidsrechter van dienst. */
.scoreboard-referee{position:relative;z-index:2;display:flex;max-width:620px;align-items:center;justify-content:center;gap:10px;margin:-5px auto 18px;padding:9px 14px;border:1px solid #56adff66;border-radius:13px;background:#021a3da8;color:#fff;font-size:11px}.scoreboard-referee[hidden]{display:none}.referee-whistle{display:grid;width:22px;height:22px;border:2px solid #dcecff;border-radius:50%;color:#dcecff;font-size:8px;place-items:center}.scoreboard-referee em{padding:4px 8px;border:1px solid #ffe01f;border-radius:999px;color:#ffe01f;font-size:9px;font-style:normal;font-weight:900}.result-referee{margin:9px auto 0;color:#617a94;font-size:9px;text-align:center}
.admin-referee-field{margin:14px 0;padding:12px;border:1px solid #d6e1ec;border-radius:13px;background:#f5f8fb}.admin-referee-field>label{display:block;margin-bottom:7px;color:#173b61;font-size:12px;font-weight:900}.admin-referee-field>div{display:flex;align-items:center;gap:8px}.admin-referee-field>div>span{display:grid;width:28px;height:28px;flex:0 0 28px;border:2px solid #0b559c;border-radius:50%;color:#0b559c;font-size:9px;place-items:center}.admin-referee-field input{width:100%;margin:0}.admin-referee-field small{display:block;margin-top:6px;color:#6d7f92;font-size:9px}
@media(max-width:560px){.scoreboard-referee{max-width:calc(100% - 20px);flex-wrap:wrap;gap:6px;margin:-4px auto 13px;padding:8px 9px;font-size:9px}.referee-whistle{width:18px;height:18px}.scoreboard-referee em{flex-basis:auto;padding:3px 6px;font-size:7px}}

/* Volgende wedstrijd: clublogo's rechtstreeks op de blauwe achtergrond. */
.scoreboard-next-fixture .club-logo{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 4px 6px #00142b80)}

/* Scherp, ingebouwd fluiticoon zonder extra afbeeldingsbestand. */
.referee-whistle{display:block!important;width:31px!important;height:27px!important;flex:0 0 31px!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain;filter:brightness(0) invert(1)}
.admin-referee-field .referee-whistle{filter:none}

/* Compacte seizoenlijst met één uitklapbare spelerskaart. */
#tab-seizoen .season-table{width:100%;table-layout:fixed}
#tab-seizoen .season-table th{padding:11px 15px;text-align:left}
.season-name-row td{padding:0!important}
.season-name-row>td>button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:13px 16px;border:0;background:transparent;color:#082f63;font:inherit;text-align:left;cursor:pointer}
.season-name-row>td>button>span{display:grid;gap:2px}.season-name-row>td>button b{font-size:14px}.season-name-row>td>button small{color:#6b7f93;font-size:9px;font-weight:750}.season-name-row>td>button i{display:grid;width:25px;height:25px;border-radius:50%;background:#e3ebf4;color:#164f89;font-style:normal;font-size:18px;place-items:center;transition:transform .2s,background .2s}
.season-position-heading td{padding:9px 15px!important;border-top:2px solid #0b4f91;background:linear-gradient(90deg,#0b4f91,#07356f)!important;color:#ffda18;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.season-name-row.open>td>button{background:#edf5ff}.season-name-row.open>td>button i{background:#ffda18;color:#082f63;transform:rotate(180deg)}
.season-detail-row td{padding:8px!important;background:#eaf1f8}.season-detail-row[hidden]{display:none}
.season-expanded-card{overflow:hidden;border:1px solid #b8cde2;border-radius:16px;background:#fff;box-shadow:0 8px 22px #061f4820}
.season-profile-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:175px;align-items:center;gap:20px;padding:14px 22px;background:radial-gradient(circle at 24% 26%,#2b7fd2 0,#0d5bab 31%,transparent 58%),linear-gradient(118deg,#0b5daf 0,#073d80 62%,#041f49 100%);color:#fff}
.season-profile-hero:before{content:"";position:absolute;z-index:-1;width:225px;height:225px;right:-35px;top:50%;transform:translateY(-50%);background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:grayscale(1) brightness(.42) contrast(1.35);opacity:.28}
.season-profile-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#ffdc18 0,#ffdc18 28%,rgba(255,220,24,0) 82%)}
.season-profile-hero>img,.season-profile-placeholder{position:relative;z-index:1;width:145px;height:155px;flex:0 0 145px;align-self:center;object-fit:contain;object-position:center;filter:drop-shadow(0 8px 10px rgba(0,16,38,.42))}.season-profile-placeholder{display:grid;place-items:center;color:#bed2e8;font-size:11px}
.season-profile-hero>div{position:relative;z-index:1;align-self:center}.season-profile-hero h3{margin:0 0 8px;color:#fff;font-size:25px}.season-profile-hero h3:after{content:"";display:block;width:48px;height:3px;margin-top:8px;border-radius:99px;background:#ffdc18}.season-profile-nickname{margin:-1px 0 9px;color:#cfe4f7;font-size:12px;font-style:italic;font-weight:750}.season-profile-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.season-profile-meta span{padding:4px 8px;border:1px solid rgba(255,225,57,.8);border-radius:999px;background:rgba(255,220,24,.1);color:#ffe45a;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.season-profile-hero small{color:#d4e5f5;font-weight:750}
.season-player-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #d8e3ee;background:#f5f8fb}
.season-player-tabs button{padding:11px 6px;border:0;border-right:1px solid #d8e3ee;background:transparent;color:#164875;font-size:11px;font-weight:900;cursor:pointer}.season-player-tabs button:last-child{border-right:0}.season-player-tabs button.active{background:#ffda18;color:#06295a}
.season-player-values{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px}
.season-player-values>span{padding:11px 5px;border:1px solid #d8e3ee;border-radius:11px;background:#f8fafc;text-align:center}.season-player-values small{display:block;color:#62778c;font-size:9px;font-weight:850}.season-player-values strong{display:block;margin-top:3px;color:#073a78;font-size:24px;font-weight:950}
@media(max-width:560px){.season-name-row>td>button{padding:12px}.season-profile-hero{min-height:135px;gap:10px;padding:10px 12px}.season-profile-hero>img,.season-profile-placeholder{width:92px;height:115px;flex-basis:92px}.season-profile-hero h3{font-size:17px}.season-player-tabs button{padding:9px 2px;font-size:8px}.season-player-values{gap:4px;padding:9px 6px}.season-player-values>span{padding:8px 2px}.season-player-values small{font-size:7px}.season-player-values strong{font-size:18px}}

/* Uitgeklapte seizoenkaart zoals het goedgekeurde ontwerp. */
@media(min-width:561px){
  .season-expanded-card{display:grid;grid-template-columns:minmax(430px,46%) minmax(0,54%);grid-template-rows:1fr auto;min-height:245px}
  .season-profile-hero{grid-column:1;grid-row:1;min-height:190px;gap:22px;padding:14px 22px}
  .season-profile-hero>img,.season-profile-placeholder{width:155px;height:180px;flex-basis:155px}
  .season-profile-hero h3{font-size:27px;line-height:1.05}
  .season-player-tabs{grid-column:1;grid-row:2;border-right:1px solid #d8e3ee;border-bottom:0}
  .season-player-values{grid-column:2;grid-row:1/3;align-items:center;gap:9px;padding:24px 18px;background:linear-gradient(135deg,#eef5fb,#fff)}
  .season-player-values>span{display:grid;min-height:135px;align-content:center;padding:14px 5px;background:#fff;box-shadow:0 4px 14px #061f4810}
  .season-player-values small{font-size:10px}.season-player-values strong{font-size:30px}
}

/* Herkenbare pictogrammen boven de seizoenscijfers. */
.season-player-values>span:before{display:grid;width:27px;height:27px;margin:0 auto 7px;color:#0a4a8c;font-size:20px;font-weight:900;line-height:1;place-items:center}
.season-player-values>[data-season-value="games"]:before{content:'';width:32px;height:32px;background:url('assets/home-shirt-icon.png?v=1') center/contain no-repeat;filter:drop-shadow(0 2px 2px #061f4830)}
.season-player-values>[data-season-value="goals"]:before{content:'⚽';font-size:22px}
.season-player-values>[data-season-value="assists"]:before{content:'👟';font-size:21px;filter:saturate(.65)}
.season-player-values>[data-season-value="cleansheets"]:before{content:'🧤';font-size:22px;filter:saturate(.8)}
.season-player-values>[data-season-value="cleansheets"] em{display:block;max-width:100px;margin:4px auto 0;color:#6b7f93;font-size:7px;font-style:normal;font-weight:700;line-height:1.2}
.season-player-values>[data-season-value="yellow"]:before,.season-player-values>[data-season-value="red"]:before{content:'';box-sizing:border-box;width:15px;height:22px;border:1px solid #8a7200;border-radius:3px;background:#ffd91a;box-shadow:0 2px 4px #061f4828}
.season-player-values>[data-season-value="red"]:before{border-color:#941b25;background:#df2937}
@media(max-width:560px){.season-player-values>span:before{width:20px;height:20px;margin-bottom:5px;font-size:16px}.season-player-values>[data-season-value="games"]:before{width:24px;height:24px}.season-player-values>[data-season-value="goals"]:before,.season-player-values>[data-season-value="assists"]:before{font-size:16px}.season-player-values>[data-season-value="yellow"]:before,.season-player-values>[data-season-value="red"]:before{width:11px;height:17px}}
.season-keeper-card .season-player-values{grid-template-columns:repeat(4,1fr)}
.season-keeper-card .season-player-values>[data-season-value="games"]:before{background-image:url('assets/keeper-shirt-icon.png?v=1')}
@media(max-width:560px){.season-player-values>[data-season-value="cleansheets"]:before{font-size:17px}}

/* Wedstrijden waarin de uitgeklapte speler scoorde of een assist gaf. */
.season-stats-side{min-width:0;background:linear-gradient(135deg,#eef5fb,#fff)}
.season-match-moments{padding:0 14px 12px}
.season-match-moments h4{margin:0;padding:10px 2px 7px;border-top:1px solid #b9d3ea;color:#073a78;font-size:11px}
.season-match-moments>[data-season-matches]{overflow:hidden;border:1px solid #347fbd;border-radius:9px;background:#03295b;box-shadow:0 4px 12px #0219361c}
.season-moment-match{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:5px 8px;border:0;border-bottom:1px solid #4389c34d;background:linear-gradient(105deg,#0754a4,#03295b)}
.season-moment-match:last-child{border-bottom:0}
.season-moment-meta{display:grid;gap:2px}.season-moment-meta time{color:#fff;font-size:11px;font-weight:950}.season-moment-meta small{color:#bcd8f2;font-size:8px;font-weight:850;text-transform:uppercase}
.season-moment-fixture{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.season-moment-fixture b{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.season-moment-fixture span{flex:0 0 auto;color:#d9ebfb;font-size:11px;font-weight:900}
.season-moment-actions{display:flex;justify-content:flex-end;gap:4px}.season-moment-actions span{padding:4px 6px;border-radius:999px;font-size:8px;font-weight:950;white-space:nowrap}.season-moment-goal{background:#ffdc18;color:#06295a}.season-moment-assist{background:#dceeff;color:#07519f}
.season-moments-empty{margin:0;padding:12px;border:0;border-radius:0;background:#03295b;color:#bcd8f2;font-size:11px;text-align:center}
@media(min-width:561px){.season-stats-side{grid-column:2;grid-row:1/3}.season-stats-side .season-player-values{grid-column:auto;grid-row:auto;background:transparent}}
@media(max-width:560px){.season-match-moments{padding:0 6px 8px}.season-match-moments h4{padding:9px 2px 6px;font-size:10px}.season-moment-match{grid-template-columns:60px minmax(0,1fr) auto;gap:4px;min-height:36px;padding:4px 5px}.season-moment-meta time{font-size:8px}.season-moment-meta small{font-size:6px}.season-moment-fixture{gap:4px}.season-moment-fixture b,.season-moment-fixture span{font-size:8px}.season-moment-actions{grid-column:auto;padding-left:0}.season-moment-actions span{padding:3px 4px;font-size:7px}.season-moments-empty{padding:9px;font-size:9px}}

/* Ook de uitklapbare speler- en statistiekenblokken volledig in clubblauw. */
#tab-seizoen .season-name-row>td>button{background:linear-gradient(105deg,#0754a4,#03295b);color:#fff}
#tab-seizoen .season-name-row>td>button small{color:#bcd8f2}
#tab-seizoen .season-name-row>td>button i{background:#ffffff16;color:#d9ebfb}
#tab-seizoen .season-name-row.open>td>button{background:linear-gradient(105deg,#0a63b8,#04356f);box-shadow:inset 4px 0 #ffdc18}
#tab-seizoen .season-name-row.open>td>button i{background:#ffdc18;color:#06295a}
#tab-seizoen .season-detail-row td{background:#03295b!important}
#tab-seizoen .season-expanded-card{border-color:#347fbd;background:#03295b}
#tab-seizoen .season-player-tabs{border-color:#4389c355;background:#03295b}
#tab-seizoen .season-player-tabs button{border-color:#4389c355;color:#d9ebfb}
#tab-seizoen .season-player-tabs button.active{background:#ffdc18;color:#06295a}
#tab-seizoen .season-stats-side{background:linear-gradient(135deg,#0754a4,#03295b)}
#tab-seizoen .season-player-values{background:transparent}
#tab-seizoen .season-player-values>span{border-color:#4389c36b;background:#03295bbd;box-shadow:none}
#tab-seizoen .season-player-values small{color:#bcd8f2}
#tab-seizoen .season-player-values strong{color:#fff}
#tab-seizoen .season-player-values>span:before{color:#d9ebfb}
#tab-seizoen .season-player-values>[data-season-value="cleansheets"] em{color:#bcd8f2}
#tab-seizoen .season-match-moments h4{border-color:#4389c355;color:#fff}

/* H2H toont eerst vijf wedstrijden en klapt op verzoek verder open. */
.h2h-result[hidden]{display:none}
.h2h-more-button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:13px 16px;border:1px solid #62b8ff4d;border-radius:12px;background:#ffffff0b;color:#fff;font-size:12px;font-weight:900;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.h2h-more-button:hover{border-color:#ffe01f;background:#ffffff16}.h2h-more-button i{color:#ffe01f;font-style:normal;font-size:23px;line-height:1}
@media(max-width:560px){.h2h-more-button{padding:11px 12px;font-size:10px}}

/* Houd het scorebord op desktop in zijn oorspronkelijke middenkolom wanneer de stand is verborgen. */
@media(min-width:901px){.live-page-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr) minmax(210px,260px)}.live-main-content{grid-column:2}.live-media-card{grid-column:3}}
@media(max-width:900px){.live-main-content,.live-media-card{grid-column:auto}}

/* Beheertijdlijn in dezelfde links/minuut/rechts-opbouw als de livepagina. */
.admin-inline-timeline{overflow:hidden;margin:14px;padding:0;border:1px solid #1762aa;border-radius:15px;background:linear-gradient(145deg,#0750ac,#063b82 55%,#04285d);color:#fff}.admin-inline-timeline h2{margin:0;padding:13px 15px;border-bottom:1px solid #65b5ff4a;background:#031d46;color:#ffdc18;font-size:15px;text-align:center;text-transform:uppercase;letter-spacing:.06em}.admin-inline-timeline #events.admin-timeline-grid{display:grid;gap:0;max-height:430px;overflow:auto}.admin-timeline-grid .timeline-header,.admin-timeline-grid .timeline-row{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);align-items:center;gap:0}.admin-timeline-grid .timeline-header{position:sticky;z-index:5;top:0;padding:10px;border-bottom:1px solid #68b5ff55;background:#063879;color:#fff;font-size:10px}.admin-timeline-grid .timeline-header b:first-child{text-align:right}.admin-timeline-grid .timeline-header b:last-child{text-align:left}.admin-timeline-grid .timeline-header b{padding:0 10px}.admin-timeline-grid .timeline-header span{color:#ffdc18;text-align:center;font-weight:950;text-transform:uppercase}.admin-timeline-grid .timeline-row{position:relative;min-height:64px;margin:0;padding:10px;border:0;border-bottom:1px solid #68b5ff3d;border-radius:0;background:transparent}.admin-timeline-grid .timeline-home,.admin-timeline-grid .timeline-away{min-width:0;padding:0 12px;color:#fff;font-size:12px;font-weight:800;line-height:1.35;text-shadow:0 2px 4px #00132a}.admin-timeline-grid .timeline-home{text-align:right}.admin-timeline-grid .timeline-away{text-align:left}.admin-timeline-grid .timeline-minute{justify-self:center;box-sizing:border-box;min-width:48px;padding:9px 5px;border:2px solid #ffe020;border-radius:50%;background:#0a397b;color:#fff;font-size:11px;font-weight:950;text-align:center}.admin-timeline-grid .timeline-goal-scorer b,.admin-timeline-grid .timeline-event-line b{display:inline;width:auto;color:#fff}.admin-timeline-grid .timeline-goal-assist{color:#c8ddf4!important}.admin-timeline-grid .timeline-row-neutral .timeline-minute{border-color:#b9d9fa}.admin-timeline-grid .timeline-event-goal{background:#ffdf1810}.admin-timeline-grid .timeline-event-gele-kaart{background:#ffd91a0b}.admin-timeline-grid .timeline-event-rode-kaart{background:#ef34400d}.admin-timeline-grid .timeline-event-wissel{background:#37c66a0b}.admin-timeline-remove{position:absolute;right:7px;top:50%;float:none;transform:translateY(-50%)}.admin-timeline-empty{padding:20px;color:#c8dcef;text-align:center;font-size:11px}
@media(max-width:560px){.admin-inline-timeline{margin:10px}.admin-timeline-grid .timeline-header,.admin-timeline-grid .timeline-row{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}.admin-timeline-grid .timeline-header{padding:9px 2px;font-size:8px}.admin-timeline-grid .timeline-header b{padding:0 4px}.admin-timeline-grid .timeline-row{min-height:70px;padding:9px 2px}.admin-timeline-grid .timeline-home,.admin-timeline-grid .timeline-away{padding:0 6px;font-size:9px;line-height:1.35;overflow-wrap:normal;word-break:normal}.admin-timeline-grid .timeline-minute{min-width:40px;padding:8px 2px;font-size:9px}.admin-timeline-remove{right:2px;width:21px;height:21px;font-size:16px}}
/* Uitgeklapte all-time statistieken als spelersdashboard. */
.profile-dashboard{display:grid;grid-template-columns:minmax(300px,42%) minmax(0,58%);gap:0;padding:0;border:1px solid #c6d7e7;background:#fff;box-shadow:0 12px 30px #061f4820}
.profile-dashboard-hero{position:relative;isolation:isolate;display:grid;min-height:470px;grid-template-columns:44% 56%;grid-template-rows:1fr auto;overflow:hidden;padding:28px 24px 22px;color:#fff;background:radial-gradient(circle at 60% 30%,#1665bb 0,#073f85 38%,#031d46 100%)}
.profile-dashboard-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,#ffffff08 25%,transparent 25% 55%,#ffffff06 55% 64%,transparent 64%)}
.profile-dashboard-photo{align-self:end;width:100%;height:350px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 12px #00152f99)}
.profile-dashboard-photo.placeholder{display:grid;height:240px;color:#a9c5e1;place-items:center}
.profile-dashboard-copy{align-self:center;min-width:0;padding:10px 0 70px 8px}.profile-dashboard-copy h3{margin:0;color:#fff;font-size:clamp(25px,3vw,45px);line-height:1.04}.profile-dashboard-nickname{margin:8px 0 0;color:#fff;font-size:13px;font-weight:850}.profile-dashboard-average{margin:22px 0 0;color:#e4eef9;font-size:15px;line-height:1.35}.profile-dashboard-average b{color:#ffdb16;font-size:20px}.profile-dashboard-copy>strong{display:block;margin-top:25px;color:#ffda16;font-size:70px;line-height:.9}.profile-dashboard-copy>span{display:block;margin-top:8px;font-weight:850}
.profile-dashboard-totals{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.profile-dashboard .profile-total{display:flex;min-height:95px;flex-direction:column;justify-content:center;padding:9px 4px;border:0;border-bottom:4px solid #175997;border-radius:12px;background:#fff}.profile-dashboard .profile-total:before{display:none}.profile-dashboard .profile-total.cup{border-color:#e3b700}.profile-dashboard .profile-total.friendly{border-color:#29945a}.profile-dashboard .profile-total.playoff{border-color:#925eb0}.profile-dashboard .profile-total b{order:0;margin:0;color:#082f5d;font-size:31px}.profile-dashboard .profile-total small{order:1;margin-top:4px;font-size:9px}
.profile-seasons{padding:28px 24px;background:linear-gradient(145deg,#fff,#f3f7fb)}.profile-seasons>h3{margin:0 0 22px;color:#092f58;font-size:28px}.profile-seasons>h3:after{content:"";display:block;width:54px;height:4px;margin-top:10px;border-radius:99px;background:#ffcf12}.profile-season-list{display:grid;gap:10px}.profile-season-card{display:grid;grid-template-columns:minmax(105px,1.35fr) repeat(4,minmax(55px,1fr));align-items:stretch;overflow:hidden;border:1px solid #d8e2ec;border-radius:13px;background:#fff;box-shadow:0 4px 12px #061f480c}.profile-season-card.current{border:2px solid #efc400;background:linear-gradient(90deg,#fff9dc,#fff)}.profile-season-label{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;background:linear-gradient(145deg,#0e5aaa,#073b7c);color:#fff}.profile-season-label>b{font-size:19px}.profile-season-label>small{width:max-content;margin-top:5px;padding:3px 6px;border-radius:5px;background:#ffcf12;color:#082f5d;font-size:8px;font-weight:950}.profile-season-card>span{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:11px 5px;border-left:1px solid #e1e8ef}.profile-season-card>span small{color:#66798d;font-size:9px;font-weight:850}.profile-season-card>span b{margin-top:3px;color:#082f5d;font-size:20px}.profile-seasons-more{display:flex;width:min(330px,100%);min-height:46px;align-items:center;justify-content:center;gap:14px;margin:18px auto 0;border:0;border-radius:10px;background:linear-gradient(180deg,#0e5ba9,#073b7c);color:#fff;font-weight:900;box-shadow:0 4px 0 #03264f}.profile-seasons-more i{font-size:20px;font-style:normal}
@media(max-width:850px){.profile-dashboard{grid-template-columns:1fr}.profile-dashboard-hero{min-height:390px}.profile-dashboard-photo{height:285px}.profile-dashboard-copy{padding-bottom:45px}.profile-seasons{padding:22px 16px}}
@media(max-width:560px){.profile-dashboard-hero{min-height:360px;grid-template-columns:42% 58%;padding:18px 12px 14px}.profile-dashboard-photo{height:230px}.profile-dashboard-copy{padding:5px 0 25px 5px}.profile-dashboard-copy h3{font-size:24px}.profile-dashboard-average{margin-top:14px;font-size:11px}.profile-dashboard-average b{font-size:15px}.profile-dashboard-copy>strong{margin-top:17px;font-size:48px}.profile-dashboard-copy>span{font-size:11px}.profile-dashboard-totals{gap:5px}.profile-dashboard .profile-total{min-height:72px}.profile-dashboard .profile-total b{font-size:23px}.profile-dashboard .profile-total small{font-size:7px}.profile-seasons>h3{font-size:22px}.profile-season-card{grid-template-columns:1fr repeat(4,minmax(42px,.72fr))}.profile-season-label{padding:9px 7px}.profile-season-label>b{font-size:14px}.profile-season-card>span{padding:8px 2px}.profile-season-card>span small{font-size:7px}.profile-season-card>span b{font-size:16px}}

/* Meer balans en ademruimte rond de grote spelersfoto. */
.profile-dashboard-hero{column-gap:12px;row-gap:24px;padding-bottom:25px}
.profile-dashboard-photo{justify-self:center;align-self:center;width:92%;height:325px;object-position:center center;transform:translateY(-5px)}
.profile-dashboard-totals{margin-top:4px}
@media(max-width:850px){.profile-dashboard-hero{row-gap:20px}.profile-dashboard-photo{width:88%;height:270px;transform:translateY(-4px)}}
@media(max-width:560px){.profile-dashboard-hero{row-gap:16px;padding-bottom:16px}.profile-dashboard-photo{width:92%;height:218px;transform:translateY(-3px)}.profile-dashboard-totals{margin-top:2px}}

/* Alleen de seizoenenkolom groeit wanneer oudere seizoenen worden geopend. */
.profile-dashboard{align-items:start}
.profile-dashboard-hero{box-sizing:border-box;height:620px;align-self:start}
@media(max-width:850px){.profile-dashboard-hero{width:100%;height:auto;align-self:auto}}

/* Wedstrijdfases blijven duidelijk leesbaar op iedere tijdlijnachtergrond. */
.live-timeline .timeline-event-rust,
.live-timeline .timeline-event-tweede-helft-gestart,
.live-timeline .timeline-event-einde-wedstrijd,
.result-timeline .timeline-event-rust,
.result-timeline .timeline-event-tweede-helft-gestart,
.result-timeline .timeline-event-einde-wedstrijd,
.admin-timeline-grid .timeline-event-rust,
.admin-timeline-grid .timeline-event-tweede-helft-gestart,
.admin-timeline-grid .timeline-event-einde-wedstrijd{border-top:1px solid #62a9eb!important;border-bottom:1px solid #62a9eb!important;background:linear-gradient(90deg,#052b60,#0c559c 50%,#052b60)!important;box-shadow:inset 0 1px #ffffff12,inset 0 -1px #001b3c!important}
.live-timeline .timeline-event-einde-wedstrijd,
.result-timeline .timeline-event-einde-wedstrijd,
.admin-timeline-grid .timeline-event-einde-wedstrijd{border-color:#ffe04b!important;background:linear-gradient(90deg,#031a3d,#073d7d 50%,#031a3d)!important}
.timeline-event-rust .timeline-neutral-label,
.timeline-event-tweede-helft-gestart .timeline-neutral-label,
.timeline-event-einde-wedstrijd .timeline-neutral-label{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid #ffffff2e;border-radius:999px;background:#001f4980;color:#fff!important;font-weight:950;letter-spacing:.04em;text-shadow:0 2px 4px #001126}
.timeline-event-einde-wedstrijd .timeline-neutral-label{border-color:#ffe04b;background:#ffdb16;color:#06295a!important;text-shadow:none}
.live-timeline .timeline-event-rust .timeline-minute,
.live-timeline .timeline-event-tweede-helft-gestart .timeline-minute,
.live-timeline .timeline-event-einde-wedstrijd .timeline-minute,
.result-timeline .timeline-event-rust .timeline-minute,
.result-timeline .timeline-event-tweede-helft-gestart .timeline-minute,
.result-timeline .timeline-event-einde-wedstrijd .timeline-minute{border-color:#fff!important;background:#063675!important;color:#fff!important}
@media(max-width:560px){.timeline-event-rust .timeline-neutral-label,.timeline-event-tweede-helft-gestart .timeline-neutral-label,.timeline-event-einde-wedstrijd .timeline-neutral-label{padding:5px 7px;font-size:8px;letter-spacing:0}}

/* Programma in dezelfde blauwe wedstrijdstijl. */
#programme-competition,#programme-cup,#programme-friendly{display:grid;gap:10px}
#programme-competition[hidden],#programme-cup[hidden],#programme-friendly[hidden]{display:none}
#tab-programma .fixture-item{position:relative;isolation:isolate;overflow:hidden;padding:15px 18px;border:1px solid #1e69b2;border-radius:14px;background:radial-gradient(circle at 50% 20%,#1467b9 0,#0a4a93 42%,transparent 72%),linear-gradient(135deg,#073b7c,#031d46);box-shadow:0 7px 18px #061f4825;color:#fff}
#tab-programma .fixture-item:before{content:"";position:absolute;z-index:-1;width:125px;height:125px;left:50%;top:50%;background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:grayscale(1) brightness(.55);opacity:.10;transform:translate(-50%,-50%)}
#tab-programma .fixture-time{display:table;margin:0 auto 12px;padding:5px 10px;border:1px solid #ffffff32;border-radius:999px;background:#ffffff12;color:#e1effc;font-size:10px;letter-spacing:.03em;text-align:center}
#tab-programma .fixture-line{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:10px;color:#fff;font-size:14px;font-weight:900;text-align:center;text-shadow:0 2px 5px #00152f}
#tab-programma .fixture-line>.fixture-team{display:flex;min-width:0;align-items:center;justify-content:center;gap:9px;color:#fff}
#tab-programma .fixture-line>.fixture-team:first-child{justify-content:flex-end;text-align:right}
#tab-programma .fixture-line>.fixture-team:last-child{justify-content:flex-start;text-align:left}
#tab-programma .fixture-line>b{display:grid;width:28px;height:28px;border:2px solid #ffdc18;border-radius:50%;background:#063675;color:#ffdc18;font-size:15px;place-items:center;text-shadow:none}
#tab-programma .fixture-line .club-logo{width:42px;height:42px;flex:0 0 42px;object-fit:contain;filter:drop-shadow(0 4px 6px #00142f)}
#tab-programma .postponed-public{border-color:#ffdc18;background:linear-gradient(145deg,#0b559f,#032656);color:#fff}
#tab-programma .postponed-public h3,#tab-programma .postponed-public .small{color:#fff}
#tab-programma .postponed-fixture+.postponed-fixture{border-top-color:#ffffff30}
@media(max-width:560px){#tab-programma .fixture-item{padding:12px 7px}#tab-programma .fixture-line{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:4px;font-size:10px}#tab-programma .fixture-line>.fixture-team{flex-direction:column;gap:5px;line-height:1.15;text-align:center!important}#tab-programma .fixture-line>.fixture-team:first-child,#tab-programma .fixture-line>.fixture-team:last-child{justify-content:center;text-align:center}#tab-programma .fixture-line .club-logo{width:38px;height:38px;flex-basis:38px}#tab-programma .fixture-line>b{width:22px;height:22px;font-size:12px}#tab-programma .fixture-time{margin-bottom:9px;font-size:8px}}

/* Uitklapbare wedstrijdhistorie van de scheidsrechter. */
.scoreboard-referee{display:block;padding:0;overflow:hidden}
.scoreboard-referee-static,.scoreboard-referee-toggle{box-sizing:border-box;width:100%;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:9px 14px;color:#fff}
.scoreboard-referee-static{display:flex}.scoreboard-referee-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;border:0;background:transparent;box-shadow:none;text-shadow:none}.scoreboard-referee-toggle>span{display:flex;align-items:center;justify-content:center;gap:9px}.scoreboard-referee-toggle em{justify-self:end}.scoreboard-referee-toggle>i{color:#ffdf23;font-size:17px;font-style:normal}.scoreboard-referee-toggle:hover{background:#ffffff0b}.scoreboard-referee-toggle:active{transform:none;box-shadow:none}
.referee-history{padding:12px;border-top:1px solid #5aa8ee55;background:#031a3de8}.referee-history[hidden]{display:none}.referee-history h3{margin:0 0 9px;color:#ffdc18;font-size:11px;text-align:center}.referee-history-match{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(0,1.6fr);align-items:center;gap:10px;padding:9px 10px;border-top:1px solid #ffffff18;color:#fff}.referee-history-match:first-of-type{border-top:0}.referee-history-match>div b,.referee-history-match>div small{display:block}.referee-history-match>div b{font-size:9px}.referee-history-match>div small{margin-top:2px;color:#a9cbea;font-size:8px;font-weight:800}.referee-history-match>span{font-size:10px;font-weight:750;text-align:right}.referee-history-match strong{display:inline-block;margin:0 5px;color:#ffdc18;font-size:12px}
@media(max-width:560px){.scoreboard-referee-toggle{grid-template-columns:minmax(0,1fr) 18px;padding:8px}.scoreboard-referee-toggle>span{justify-content:flex-start;font-size:8px}.scoreboard-referee-toggle em{grid-column:1;justify-self:start;margin-left:27px}.scoreboard-referee-toggle>i{grid-column:2;grid-row:1/3}.referee-history{padding:8px}.referee-history-match{grid-template-columns:1fr;padding:8px 5px;gap:4px}.referee-history-match>span{text-align:left;font-size:8px}.referee-history-match strong{font-size:10px}}

.referee-history h4{margin:13px 0 3px;color:#c8def2;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.referee-card-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 5px}.referee-card-summary>span{display:grid;min-height:58px;grid-template-columns:auto auto;align-content:center;justify-content:center;column-gap:6px;padding:6px;border:1px solid #ffffff21;border-radius:9px;background:#ffffff0b;text-align:center}.referee-card-summary i{width:11px;height:15px;align-self:center;border-radius:2px}.referee-card-summary .yellow i{background:#ffda16;box-shadow:0 0 8px #ffda1666}.referee-card-summary .red i{background:#df3441;box-shadow:0 0 8px #df344166}.referee-card-summary b{color:#fff;font-size:18px}.referee-card-summary small{grid-column:1/-1;margin-top:2px;color:#b9d2e9;font-size:7px;font-weight:850;text-transform:uppercase}.referee-card-summary .average b{grid-column:1/-1;color:#ffdc18}.referee-card-summary .average small{line-height:1.2}
@media(max-width:560px){.referee-card-summary{gap:4px}.referee-card-summary>span{min-height:51px;padding:4px}.referee-card-summary b{font-size:15px}.referee-card-summary small{font-size:6px}}

/* Compacte kaartentotalen: het kaarticoon maakt Geel/Rood als tekst overbodig. */
.referee-card-summary{width:min(760px,100%);gap:8px;margin:7px auto 4px}.referee-card-summary>span{min-height:42px;grid-template-columns:auto auto;align-items:center;align-content:center;padding:5px 9px}.referee-card-summary .yellow small,.referee-card-summary .red small{display:none}.referee-card-summary .yellow b,.referee-card-summary .red b{font-size:16px}.referee-card-summary i{width:9px;height:14px}.referee-card-summary .average{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;column-gap:7px}.referee-card-summary .average b{font-size:17px}.referee-card-summary .average small{grid-column:auto;margin:0;font-size:7px}
@media(max-width:560px){.referee-card-summary>span{min-height:38px;padding:4px 6px}.referee-card-summary .yellow b,.referee-card-summary .red b,.referee-card-summary .average b{font-size:14px}.referee-card-summary i{width:8px;height:12px}.referee-card-summary .average small{max-width:62px;font-size:5px}}

/* Vorm, topscorers en assists in dezelfde blauwe scorebordstijl. */
.homepage-leaderboards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.homepage-stats-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #1769b5!important;background:radial-gradient(circle at 65% 18%,#115ca9 0,#073f83 42%,transparent 73%),linear-gradient(145deg,#063774,#021936)!important;color:#fff;box-shadow:0 10px 25px #031a3d35!important}.homepage-stats-card:after{content:"";position:absolute;z-index:-1;width:185px;height:185px;right:-35px;top:-40px;background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:grayscale(1) brightness(.8);opacity:.08}.homepage-stats-card>h2{margin-bottom:14px;color:#fff!important}.homepage-stats-card>h2:before{background:#ffdc18!important}.homepage-stats-card>h2 .small{color:#aac9e8;font-weight:750}.homepage-stats-card .small{color:#c8ddf2}
.competition-form-card{margin-bottom:14px}.competition-form-card .form-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.competition-form-card .form-result{box-sizing:border-box;width:100%;height:62px;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:10px;border:2px solid #526d8d;border-radius:12px;background:#031d46;box-shadow:inset 0 1px #ffffff12,0 5px 12px #00152f55}.competition-form-card .form-result b{display:grid;width:32px;height:32px;border-radius:50%;color:#fff;font-size:16px;place-items:center}.competition-form-card .form-result small{color:#fff;font-size:15px}.competition-form-card .form-w{border-color:#24a850}.competition-form-card .form-w b{background:linear-gradient(145deg,#46c56d,#16843e)}.competition-form-card .form-g{border-color:#e2b91c}.competition-form-card .form-g b{background:linear-gradient(145deg,#ffd84d,#d69b00);color:#5a4100}.competition-form-card .form-v{border-color:#e13b46}.competition-form-card .form-v b{background:linear-gradient(145deg,#f4515b,#bd1e2a)}
.homepage-stats-card .top-scorers{display:grid;grid-template-columns:1fr;gap:8px}.homepage-stats-card .top-scorer{display:grid;min-height:72px;grid-template-columns:34px 62px minmax(0,1fr) 38px;align-items:center;gap:7px;padding:5px 10px;border:1px solid #4d8ac680;border-radius:11px;background:#021b42b8;color:#fff;text-align:left;box-shadow:inset 0 1px #ffffff0b}.homepage-stats-card .top-scorer-rank{position:static;display:grid;width:29px;height:29px;border-radius:50%;background:#ffdc18;color:#06295a;font-size:12px;place-items:center}.homepage-stats-card .top-scorer img,.homepage-stats-card .top-scorer-photo{width:58px;height:66px;align-self:end;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 4px #00152f)}.homepage-stats-card .top-scorer b{min-width:0;color:#fff;font-size:12px;line-height:1.15;overflow-wrap:normal}.homepage-stats-card .top-scorer strong{justify-self:end;color:#ffdc18;font-size:25px}.assists-card .top-scorer strong{color:#b9d8ff}
@media(max-width:700px){.homepage-leaderboards{grid-template-columns:1fr;gap:12px}.competition-form-card .form-results{gap:5px}.competition-form-card .form-result{height:51px;grid-template-columns:1fr;gap:1px}.competition-form-card .form-result b{width:25px;height:25px;margin:auto;font-size:12px}.competition-form-card .form-result small{font-size:9px}.homepage-stats-card .top-scorer{grid-template-columns:30px 54px minmax(0,1fr) 32px;min-height:63px;padding:4px 7px}.homepage-stats-card .top-scorer img,.homepage-stats-card .top-scorer-photo{width:50px;height:58px}.homepage-stats-card .top-scorer b{font-size:11px}.homepage-stats-card .top-scorer strong{font-size:21px}}

/* Uitklapbalk van de opstelling in dezelfde blauwe scorebordstijl. */
.lineup-public{padding:0!important;border-color:#1769b5!important;background:#031b3d!important}
.lineup-public>summary{box-sizing:border-box;min-height:58px;margin:0!important;padding:14px 18px!important;border-left:5px solid #ffdc18;border-radius:inherit;background:radial-gradient(circle at 85% 0,#1267b7 0,transparent 48%),linear-gradient(135deg,#07468e,#032556);color:#fff;cursor:pointer;list-style:none}
.lineup-public>summary::-webkit-details-marker{display:none}
.lineup-public>summary b{color:#fff;font-size:18px}
.lineup-public>summary .small{color:#c8ddf2;font-weight:750}
.lineup-public>summary:after{content:'⌄';display:grid;width:28px;height:28px;margin-left:auto;border:1px solid #ffdc18;border-radius:50%;color:#ffdc18;font-size:20px;font-weight:900;line-height:1;place-items:center;transition:transform .2s ease}
.lineup-public[open]>summary:after{transform:rotate(180deg)}
.lineup-public[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.lineup-public>#publicLineup{padding:12px}
@media(max-width:560px){.lineup-public>summary{min-height:52px;padding:11px 13px!important}.lineup-public>summary b{font-size:16px}.lineup-public>#publicLineup{padding:7px}}

/* Nieuwe premium blauwe veldachtergrond voor live- en uitslagenopstellingen. */
.lineup-live-card{border:1px solid #1769b5;background:#021936;box-shadow:0 14px 34px #00142d55}
.lineup-live-brand{position:relative;flex-wrap:wrap;padding:19px 14px 17px;border-top:4px solid #ffdc18;border-bottom:1px solid #ffdc1855;background:radial-gradient(circle at 15% 30%,#1267b755 0,transparent 29%),radial-gradient(circle at 85% 20%,#1267b755 0,transparent 30%),repeating-linear-gradient(135deg,#ffffff08 0,#ffffff08 18px,transparent 18px,transparent 44px),linear-gradient(135deg,#021936,#07468e 52%,#021936)}
.lineup-live-brand:after{content:'OPSTELLING';flex-basis:100%;margin-top:-8px;color:#ffdc18;font-size:11px;font-weight:950;letter-spacing:.34em;text-align:center}
.lineup-live-brand img{filter:drop-shadow(0 5px 10px #000a)}
.lineup-live-card .public-pitch.lineup-pitch{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 48%,#176dbeaa 0,#0a4d98aa 22%,transparent 53%),linear-gradient(#001d4670,#001d4670),url('assets/logo.png?v=20260903-lineup-photo-v2') center 54%/48% auto no-repeat,repeating-linear-gradient(135deg,#ffffff08 0,#ffffff08 38px,transparent 38px,transparent 92px),linear-gradient(155deg,#0757aa,#032d66 48%,#011b3c)!important;box-shadow:inset 0 0 75px #000b,inset 0 1px #ffffff1a}
.lineup-live-card .public-pitch.lineup-pitch:before{content:'';position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at 0 3%,#4aa8ff55 0,transparent 22%),radial-gradient(ellipse at 100% 3%,#4aa8ff55 0,transparent 22%);pointer-events:none}
.lineup-live-card .pitch-markings{border-color:#74b8f0aa;box-shadow:0 0 12px #2984d744}
.lineup-live-card .pitch-markings i{border-color:#74b8f0aa}
.public-lineup-bench{border-top:2px solid #ffdc1866;background:radial-gradient(circle at 50% 0,#0a4f9544,transparent 60%),linear-gradient(145deg,#031f48,#01152f)}
.public-lineup-bench h3{position:relative;color:#ffdc18;letter-spacing:.12em;text-align:center}
.public-bench-player{border-color:#3886ca77;background:#062b5dbd;box-shadow:inset 0 1px #ffffff10}
.result-lineup{border-color:#1769b5;background:#021936}
.result-lineup>summary{background:linear-gradient(135deg,#07468e,#032556)!important;color:#fff}
.result-lineup>summary span{color:#c8ddf2}
.result-lineup[open]>summary{border-bottom-color:#ffdc1855}
@media(max-width:560px){.lineup-live-brand:after{margin-top:-5px;font-size:8px;letter-spacing:.28em}.lineup-live-card .public-pitch.lineup-pitch{background-size:auto,auto,62% auto,auto,auto!important}}

/* Blauwe grasmat: gemaaide banen en fijne grassprieten, met behoud van het logo. */
.lineup-live-card .public-pitch.lineup-pitch{background-image:radial-gradient(circle at 50% 48%,#2380c955 0,transparent 48%),linear-gradient(#03295ca8,#03295ca8),url('assets/logo.png?v=20260903-lineup-photo-v2'),repeating-linear-gradient(90deg,#0a55a4 0,#0a55a4 12.5%,#07478e 12.5%,#07478e 25%),repeating-linear-gradient(103deg,#ffffff09 0,#ffffff09 1px,transparent 1px,transparent 4px),linear-gradient(155deg,#0b65b8,#032d66)!important;background-position:center,center,center 54%,center,center,center!important;background-size:auto,auto,46% auto,auto,5px 5px,auto!important;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,no-repeat!important}
@media(max-width:560px){.lineup-live-card .public-pitch.lineup-pitch{background-size:auto,auto,60% auto,auto,4px 4px,auto!important}}

/* Wisselpijl rechts naast het naambalkje. */
.lineup-live-card .lineup-arrow-out{top:auto!important;right:-12px!important;bottom:0!important;z-index:9;transform:translateX(35%)}
@media(max-width:560px){.lineup-live-card .lineup-arrow-out{right:-8px!important;bottom:0!important}}

/* Middelste middenvelder iets lager, zodat deze niet tegen de spits aan staat. */
.lineup-live-card .lineup-pitch .lineup-place:nth-child(7){transform:translateY(-10px)}
@media(max-width:560px){.lineup-live-card .lineup-pitch .lineup-place:nth-child(7){transform:translateY(-5px)}}

/* Spelersfoto sluit direct aan op het naambalkje. */
.lineup-live-card .public-pitch .lineup-slot b{margin-top:-14px!important}
@media(max-width:560px){.lineup-live-card .public-pitch .lineup-slot b{margin-top:-10px!important}}

/* Fotorealistische grasachtergrond uit het goedgekeurde ontwerp. */
.lineup-live-card .public-pitch.lineup-pitch{background-image:linear-gradient(#0a401c1f,#052e162e),url('assets/lineup-grass-field-3d.webp?v=20260907')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.lineup-live-card .pitch-markings{display:none}


/* Duidelijke wisselbadges zonder overlap met naam of rugnummer. */
.lineup-live-card .lineup-change-arrow{box-sizing:border-box;border:2px solid #fff;box-shadow:0 3px 9px #00152faa,inset 0 1px #ffffff55;font-family:Arial,sans-serif;text-shadow:0 1px 2px #0008}
.lineup-live-card .lineup-arrow-out{right:-9px;top:-8px;width:28px!important;height:28px!important;background:linear-gradient(145deg,#f4515b,#b51625);font-size:20px!important;line-height:22px!important;transform:none}
.lineup-live-card .lineup-arrow-in{width:22px!important;height:22px!important;margin-left:6px;background:linear-gradient(145deg,#42c96d,#147a39);font-size:16px!important;line-height:17px!important;vertical-align:middle;transform:none}
.lineup-live-card .lineup-arrow-out:hover,.lineup-live-card .lineup-arrow-in:hover{filter:brightness(1.12)}
@media(max-width:560px){.lineup-live-card .lineup-arrow-out{right:-6px;top:-6px;width:23px!important;height:23px!important;border-width:1.5px;font-size:17px!important}.lineup-live-card .lineup-arrow-in{width:19px!important;height:19px!important;margin-left:4px;border-width:1.5px;font-size:14px!important}}

/* Realistische groene grasmat; kaartdetails blijven in de blauw-gele clubstijl. */
.lineup-live-card .public-pitch.lineup-pitch{background-image:radial-gradient(circle at 50% 48%,#7fcf6a2e 0,transparent 48%),linear-gradient(#06381842,#06381842),url('assets/logo.png?v=20260903-lineup-photo-v2'),repeating-linear-gradient(90deg,#237b3c 0,#237b3c 12.5%,#1b6d34 12.5%,#1b6d34 25%),repeating-linear-gradient(103deg,#ffffff0b 0,#ffffff0b 1px,transparent 1px,transparent 4px),linear-gradient(155deg,#32934d,#155d2d)!important;background-position:center,center,center 54%,center,center,center!important;background-size:auto,auto,46% auto,auto,5px 5px,auto!important;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,no-repeat!important}
.lineup-live-card .pitch-markings{border-color:#f1fff0c9;box-shadow:0 0 9px #0b421f66}
.lineup-live-card .pitch-markings i{border-color:#f1fff0c9}
@media(max-width:560px){.lineup-live-card .public-pitch.lineup-pitch{background-size:auto,auto,60% auto,auto,4px 4px,auto!important}}

/* Definitieve 3D-veldoverride: moet na alle oudere grasregels staan. */
.lineup-live-card .public-pitch.lineup-pitch{background-image:linear-gradient(#0a401c1f,#052e162e),url('assets/lineup-grass-field-3d.webp?v=20260907-3d-v2')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.lineup-live-card .pitch-markings{display:none!important}
.lineup-live-card .lineup-arrow-out{top:auto!important;right:-12px!important;bottom:0!important;transform:translateX(35%)}
@media(max-width:560px){.lineup-live-card .public-pitch.lineup-pitch{background-size:cover!important}.lineup-live-card .lineup-arrow-out{top:auto!important;right:-8px!important;bottom:0!important}}

/* Titelblok van de opstelling exact gecentreerd, onafhankelijk van het logo. */
.lineup-live-brand{display:grid!important;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:78px;padding:15px 80px 13px!important;text-align:center}
.lineup-live-brand img{position:absolute;left:18px;top:50%;width:58px;height:58px;transform:translateY(-50%)}
.lineup-live-brand strong{display:block;line-height:1.05}
.lineup-live-brand:after{display:block;grid-row:2;margin:0!important;line-height:1.15}
@media(max-width:560px){.lineup-live-brand{min-height:62px;padding:12px 55px 10px!important;gap:3px}.lineup-live-brand img{left:10px;width:42px;height:42px}.lineup-live-brand strong{font-size:16px}.lineup-live-brand:after{font-size:8px}}

/* Dezelfde schuine 3D-grasmat in de beheeropstelling. */
.admin-lineup-pitch{background-image:linear-gradient(#0a401c1f,#052e162e),url('assets/lineup-grass-field-3d.webp?v=20260907-3d-v2')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;box-shadow:inset 0 0 55px #062a16aa,0 10px 25px #03142726}
.admin-pitch-markings{display:none!important}
@media(max-width:560px){.admin-lineup-pitch{background-size:cover!important}}

/* Sneller een bestaande of nieuwe scheidsrechter invoeren. */
.admin-referee-field .referee-quick-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px}
.admin-referee-field .referee-quick-row select{width:100%;min-height:44px;margin:0;border:1px solid #cbd9e7;border-radius:10px;background:#fff;color:#173b61;font-weight:750}
.admin-referee-field .referee-quick-row button{min-height:44px;padding:8px 12px}
.admin-referee-field .referee-new-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px;padding-left:40px}
.admin-referee-field .referee-new-row button{min-height:44px;padding:8px 14px}
@media(max-width:560px){.admin-referee-field .referee-quick-row{grid-template-columns:28px minmax(0,1fr)}.admin-referee-field .referee-quick-row button{grid-column:2;width:100%}.admin-referee-field .referee-new-row{grid-template-columns:1fr;padding-left:36px}.admin-referee-field .referee-new-row button{width:100%}}

/* Meer clubkleur en contrast in de spelersranglijst. */
.stats-modernized.player-stat{border-color:#b8d1e7!important;background:linear-gradient(105deg,#edf6ff 0,#f9fcff 58%,#e6f0fa 100%)!important;box-shadow:0 5px 14px #06356818}
.stats-modernized.player-stat:hover{border-color:#5592c8!important;background:linear-gradient(105deg,#e4f2ff,#fff 58%,#dcecf9)!important}
.stats-modernized.rank-gold{background:linear-gradient(105deg,#fff9da 0,#f8fbff 24%,#e6f0fa 100%)!important}
.stats-modernized.rank-silver{background:linear-gradient(105deg,#f0f4f7 0,#fbfdff 24%,#e6f0fa 100%)!important}
.stats-modernized.rank-bronze{background:linear-gradient(105deg,#fff0e5 0,#fbfdff 24%,#e6f0fa 100%)!important}
.stats-modernized .stats-score-panel{min-width:76px;padding:7px 10px;border:1px solid #2b6da8;border-radius:10px;background:linear-gradient(145deg,#0a559f,#032b61);box-shadow:inset 0 1px #ffffff20,0 3px 9px #06295a28}
.stats-modernized .stats-score-panel strong{color:#ffdc18;text-shadow:0 2px 3px #00152f}
.stats-modernized .stats-score-panel small{color:#c7def3}
.stats-modernized .stats-score-panel span{color:#fff}
.stats-modernized .stats-progress>i{background:#cbdbea}
@media(max-width:560px){.stats-modernized .stats-score-panel{min-width:59px;padding:6px}.stats-modernized .stats-score-panel strong{font-size:19px}.stats-modernized .stats-score-panel small{font-size:6px}.stats-modernized .stats-score-panel span{font-size:8px}}

/* Volledige spelersbalk in het goedgekeurde blauwe ontwerp. */
.stats-modernized.player-stat,.stats-modernized.player-stat.rank-gold,.stats-modernized.player-stat.rank-silver,.stats-modernized.player-stat.rank-bronze{border-color:#3489d2!important;background:linear-gradient(105deg,#1267b7 0,#07539f 50%,#032b61 100%)!important;box-shadow:0 6px 16px #032b6140}
.stats-modernized.player-stat:hover{border-color:#7bc0fa!important;background:linear-gradient(105deg,#1876ca 0,#095eae 50%,#063873 100%)!important;box-shadow:0 9px 21px #032b6152}
.stats-modernized .stats-player-text>b{color:#fff;text-shadow:0 2px 4px #001c44}
.stats-modernized .stats-progress>span{color:#d9ebfa}
.stats-modernized .stats-progress>span b{color:#ffdc18}
.stats-modernized .stats-progress>i{background:#032f67;box-shadow:inset 0 1px 2px #00193688}
.stats-modernized .stats-progress>i>em{background:linear-gradient(90deg,#69b7ee,#ffdc18)}
.stats-modernized .stats-score-panel{border-color:#4f9fde;background:linear-gradient(145deg,#074b91cc,#021b43e8)}
.stats-modernized.rank-gold .stats-rank{box-shadow:0 3px 8px #001b41aa,0 0 0 2px #ffe45c55}
.stats-modernized.rank-silver .stats-rank{box-shadow:0 3px 8px #001b41aa,0 0 0 2px #eaf1f755}
.stats-modernized.rank-bronze .stats-rank{box-shadow:0 3px 8px #001b41aa,0 0 0 2px #e1a06f55}
.stats-modernized:not(.rank-gold):not(.rank-silver):not(.rank-bronze) .stats-rank{border:1px solid #b9ddfa;background:#07539f;color:#fff}

/* Score direct op de blauwe balk, zonder extra kader. */
.stats-modernized .stats-score-panel{padding:4px 7px;border:0;background:transparent;box-shadow:none}

/* Vaste wisselpijlen: voorkom emoji-/blokweergave van ↗ en ↘ op mobiele browsers. */
.lineup-live-card .lineup-change-arrow{
  font-size:0!important;
  line-height:0!important;
}
.lineup-live-card .lineup-change-arrow::before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top:3px solid #fff;
  border-right:3px solid #fff;
}
.lineup-live-card .lineup-arrow-out::before{transform:rotate(90deg)}
.lineup-live-card .lineup-arrow-in::before{transform:rotate(0deg)}
@media(max-width:560px){
  .lineup-live-card .lineup-change-arrow::before{
    width:7px;
    height:7px;
    border-top-width:2px;
    border-right-width:2px;
  }
}

/* Volledige diagonale wisselpijl met steel en punt. */
.lineup-live-card .lineup-change-arrow::before{
  width:14px;
  height:10px;
  border:0;
  background:#fff;
  clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);
  filter:drop-shadow(0 1px 1px #0006);
}
.lineup-live-card .lineup-arrow-out::before{transform:rotate(45deg)}
.lineup-live-card .lineup-arrow-in::before{transform:rotate(-45deg)}
@media(max-width:560px){
  .lineup-live-card .lineup-change-arrow::before{
    width:12px;
    height:9px;
    border:0;
  }
}

/* Ook in de tijdlijn vaste pijlen gebruiken; geen mobiele emoji-blokken. */
.timeline-swap i{
  position:relative;
  width:17px!important;
  height:13px;
  font-size:0!important;
  line-height:0;
  vertical-align:middle;
}
.timeline-swap i::before{
  content:"";
  position:absolute;
  left:1px;
  top:2px;
  width:13px;
  height:9px;
  background:currentColor;
  clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%);
}
.timeline-swap .sub-out i::before{transform:rotate(90deg)}
.timeline-swap .sub-in i::before{transform:rotate(-45deg)}
@media(max-width:560px){
  .timeline-swap i{width:14px!important;height:11px}
  .timeline-swap i::before{width:11px;height:8px;top:1px}
}

/* Tijdlijn toont alleen de rode en groene wisseltekst. */
.timeline-swap i{display:none!important}

/* Mobiele hoofdnavigatie onderin, met veilige ruimte voor telefoons. */
.tab-icon{display:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){
  body{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .tabs{
    position:fixed;
    z-index:1000;
    top:auto;
    left:8px;
    right:8px;
    bottom:max(7px,env(safe-area-inset-bottom));
    height:auto;
    min-height:72px;
    align-items:center;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:2px;
    width:auto;
    max-width:none;
    margin:0;
    padding:7px 5px;
    overflow:visible;
    border:1px solid #136fc1;
    border-top:4px solid #2d9aef;
    border-radius:23px;
    background:linear-gradient(180deg,#074889,#032f65 65%,#021f46);
    box-shadow:0 10px 26px #0019365c,inset 0 1px #ffffff20;
  }
  .tabs .tab-btn{
    position:relative;
    display:flex;
    min-width:0;
    min-height:58px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    padding:6px 1px;
    border:0;
    border-radius:16px;
    background:transparent;
    color:#eaf5ff;
    font-size:8px;
    line-height:1;
    text-shadow:none;
    box-shadow:none;
    transform:none;
  }
  .tabs .tab-btn:hover,.tabs .tab-btn:active{filter:none;transform:none;box-shadow:none}
  .tabs .tab-btn.active{
    border:0;
    background:linear-gradient(180deg,#ffe94e,#ffd20a);
    color:#06295a;
    box-shadow:inset 0 1px #fff8aa,0 5px 12px #00193666;
  }
  .tabs .tab-btn.active:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;border-radius:50%;background:#ffdc18;box-shadow:0 0 7px #ffdc18;transform:translateX(-50%)}
  .tabs .tab-icon{display:block;width:23px;height:23px;flex:0 0 23px}
  .tabs .tab-btn span{display:block;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
}

/* Clublogo-overzicht in de beheerapp. */
.club-logo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin:16px 0}
.club-logo-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid #d5e2ee;border-radius:14px;background:#f7faff}
.club-logo-item.club-logo-missing{border-color:#e4c64d;background:#fffbe8}
.club-logo-item>img{width:58px;height:58px;padding:3px;object-fit:contain;background:#fff;border-radius:10px}
.club-logo-item>div{display:grid;min-width:0;gap:3px}
.club-logo-item b{overflow:hidden;color:#082f5d;text-overflow:ellipsis;white-space:nowrap}
.club-logo-item small{color:#617890;font-size:11px;font-weight:800}
.club-logo-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 11px;font-size:11px;cursor:pointer;white-space:nowrap}
@media(max-width:560px){
  .club-logo-list{grid-template-columns:1fr}
  .club-logo-item{grid-template-columns:50px minmax(0,1fr);padding:9px}
  .club-logo-item>img{width:50px;height:50px}
  .club-logo-button{grid-column:1/-1;width:100%}
}

/* Rugnummer uitsluitend als subtiel watermerk in de uitgeklapte seizoensstatistieken. */
.season-shirt-watermark{
  position:absolute;
  z-index:0;
  left:34%;
  top:50%;
  color:transparent;
  font-size:clamp(105px,12vw,175px);
  font-weight:950;
  line-height:.8;
  letter-spacing:-.08em;
  -webkit-text-stroke:2px rgba(255,220,24,.48);
  text-shadow:0 8px 20px rgba(0,20,55,.28);
  transform:translate(-50%,-50%);
  pointer-events:none;
  user-select:none;
}
@media(max-width:560px){
  .season-shirt-watermark{
    left:35%;
    font-size:92px;
    -webkit-text-stroke-width:1.5px;
    opacity:.82;
  }
}

/* Wisselspelers als compacte opstellingskaarten naast elkaar. */
.public-lineup-bench>div{
  grid-template-columns:repeat(4,minmax(92px,1fr));
  gap:12px;
}
.public-bench-player{
  position:relative;
  display:flex;
  min-height:118px;
  align-items:center;
  justify-content:flex-end;
  flex-direction:column;
  gap:0;
  padding:8px 5px 6px;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}
.public-bench-player>img,
.public-bench-player>.bench-photo-placeholder{
  width:76px;
  height:82px;
  flex:0 0 82px;
  margin:0 auto -1px;
  border:0;
  border-radius:0;
  object-fit:contain;
  object-position:center bottom;
  background:transparent;
  filter:drop-shadow(0 5px 5px #0008);
}
.public-bench-player>span:not(.bench-photo-placeholder){
  position:relative;
  display:block;
  width:100%;
}
.public-bench-player b{
  display:block;
  width:100%;
  min-height:29px;
  padding:6px 22px 5px 4px;
  border:2px solid var(--yellow);
  border-radius:5px;
  background:var(--blue);
  color:#fff;
  font-size:10px;
  line-height:1.05;
  text-align:center;
  box-shadow:0 4px 8px #0008;
}
.public-bench-player small{
  position:absolute;
  z-index:3;
  right:-3px;
  top:-15px;
  display:grid;
  width:28px;
  height:28px;
  border:2px solid var(--yellow);
  border-radius:7px;
  background:var(--blue);
  color:var(--yellow);
  font-size:9px;
  font-weight:950;
  place-items:center;
  box-shadow:0 3px 7px #0007;
}
@media(max-width:560px){
  .public-lineup-bench>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
  .public-bench-player{min-height:105px;padding:6px 3px 5px}
  .public-bench-player>img,.public-bench-player>.bench-photo-placeholder{width:66px;height:70px;flex-basis:70px}
  .public-bench-player b{min-height:27px;padding:5px 21px 4px 3px;font-size:9px}
  .public-bench-player small{right:-2px;top:-13px;width:24px;height:24px;font-size:8px}
}

/* Rugnummer variant D: verticaal langs de rechterrand van het seizoensvak. */
.season-profile-hero .season-shirt-watermark{
  left:auto;
  right:-18px;
  top:50%;
  color:rgba(255,220,24,.44);
  font-size:132px;
  letter-spacing:-.1em;
  -webkit-text-stroke:0;
  text-shadow:0 8px 20px rgba(0,20,55,.32);
  transform:translateY(-50%) rotate(90deg);
  transform-origin:center;
}
.season-profile-hero .season-shirt-watermark.single-digit{right:20px}
@media(max-width:560px){
  .season-profile-hero .season-shirt-watermark{
    right:-13px;
    font-size:82px;
    opacity:1;
  }
  .season-profile-hero .season-shirt-watermark.single-digit{right:14px}
}

/* Geselecteerde speler in Seizoen duidelijker markeren. */
.season-name-row.open>td{box-shadow:inset 5px 0 #ffdc18,0 0 18px #0b62c72b}
.season-name-row.open>td>button{background:linear-gradient(105deg,#0a63b8,#04356f);color:#fff}

/* Houd ook de mobiele tabelkaart rondom de seizoensregels volledig blauw. */
@media(max-width:560px){
  body.public-app #tab-seizoen .season-table tbody tr.season-name-row,
  body.public-app #tab-seizoen .season-table tbody tr.season-detail-row{
    border-color:#347fbd;
    background:#03295b!important;
    box-shadow:0 4px 12px #0019364d;
  }
  body.public-app #tab-seizoen .season-name-row>td:first-child{
    padding:0!important;
    border-bottom:0;
  }
  body.public-app #tab-seizoen .season-detail-row>td:first-child{
    border-bottom:0;
  }
}

/* Compacte W/G/V-vormblokken met stevigere kleurcodering. */
.competition-form-card .form-result{position:relative;overflow:hidden}
.competition-form-card .form-result:after{content:"";position:absolute;inset:auto 8px 0;height:3px;border-radius:3px 3px 0 0;background:currentColor;opacity:.85}
.competition-form-card .form-w{color:#32c86b}.competition-form-card .form-g{color:#ffc928}.competition-form-card .form-v{color:#ff4e5a}

/* Actieve mobiele navigatie licht optillen. */
@media(max-width:700px){
  .tabs .tab-btn.active{transform:translateY(-5px);box-shadow:inset 0 1px #fff8aa,0 7px 15px #00193666}
}

/* Duidelijke gebeurtenisaccenten in live tijdlijn en uitslagen. */
.live-timeline .timeline-event-goal,.result-timeline .timeline-event-goal{box-shadow:inset 4px 0 #ffdc18}
.live-timeline .timeline-event-gele-kaart,.result-timeline .timeline-event-gele-kaart{box-shadow:inset 4px 0 #f1c40f}
.live-timeline .timeline-event-rode-kaart,.result-timeline .timeline-event-rode-kaart{box-shadow:inset 4px 0 #e3313e}

/* Afteller bij de eerstvolgende wedstrijd. */
.fixture-countdown{display:table!important;margin:8px auto 4px!important;padding:5px 10px;border:1px solid #ffe35b;border-radius:999px;background:#ffdc18!important;color:#06295a!important;font-size:9px!important;font-weight:950;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 10px #0019364d}


/* Inklapbare wisselbank, met dezelfde spelerskaarten als hierboven. */
details.public-lineup-bench{padding:0;border-top:2px solid #ffdc1866;background:radial-gradient(circle at 50% 0,#0a4f9544,transparent 60%),linear-gradient(145deg,#031f48,#01152f)}
details.public-lineup-bench>summary{position:relative;display:flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:12px 46px 12px 14px;border-bottom:1px solid #69b8ff33;background:linear-gradient(135deg,#0c62b5,#064487 58%,#052f68);color:#fff;font-size:13px;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase;list-style:none;cursor:pointer;box-shadow:inset 0 1px #ffffff24}
details.public-lineup-bench>summary::-webkit-details-marker{display:none}
details.public-lineup-bench>summary small{padding:3px 7px;border:1px solid #ffdc1880;border-radius:999px;background:#052d63;color:#fff;font-size:7px;letter-spacing:0;text-transform:none}

/* Compacte premium wedstrijdpagina van de beheerapp. */
.admin-live-card{background:linear-gradient(145deg,#052f68,#021936)!important;color:#fff}.admin-live-card .admin-safety-bar{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;padding:8px 10px;border-color:#4b91d35c;background:#031d46}.admin-live-card .admin-safety-bar button{min-height:35px;padding:6px 9px;font-size:8px}.admin-live-card .save-indicator{align-self:center;justify-self:end;color:#bcd5ed}
.admin-referee-display{padding:8px 12px;border-top:1px solid #65b5ff35;border-bottom:1px solid #65b5ff35;background:#042a5c;color:#cfe4f7;font-size:9px;font-weight:800;text-align:center}
.admin-live-card>.timer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:10px;border:1px solid #ffe66a;border-radius:13px;background:linear-gradient(180deg,#ffe94e,#ffd20b);color:#06295a;box-shadow:0 6px 14px #00152f55}.admin-live-card>.timer-row #startTimer{width:100%;min-width:0;border:0;background:transparent;color:#06295a;box-shadow:none;text-shadow:none}.admin-live-card>.timer-row #timerStatus{padding-right:10px;color:#06295a;font-weight:950}
.admin-live-card .team-match-controls{overflow:hidden;margin:10px;border:1px solid #1777c7;border-radius:14px;background:linear-gradient(145deg,#074c99,#032b61);box-shadow:inset 0 1px #ffffff17}.admin-live-card .team-match-controls>h2{margin:0;padding:12px 14px;border-bottom:1px solid #65b5ff45;color:#fff;font-size:16px}.admin-live-card .team-action-groups{gap:8px;padding:10px}.admin-live-card .team-action-group{border-color:#318bd477;background:#032657}.admin-live-card .team-action-title,.admin-live-card .opponent-actions .team-action-title{min-height:42px;background:linear-gradient(180deg,#0871d5,#0755a7);color:#fff}.admin-live-card .team-action-buttons{gap:7px;padding:8px}.admin-live-card .team-action-buttons button{min-height:43px;margin:0;border-radius:9px;box-shadow:0 3px 0 #00193650}.admin-live-card .action-goal{border-color:#3ed470;background:linear-gradient(180deg,#42c96b,#20a64f);color:#fff}.admin-live-card .action-yellow{border-color:#ffe55f;background:linear-gradient(180deg,#ffe75b,#ffcf12);color:#332800}.admin-live-card .action-red{border-color:#ff6972;background:linear-gradient(180deg,#ef4d58,#d82c39);color:#fff}.admin-live-card .action-swap{border-color:#3899ef;background:linear-gradient(180deg,#1282e9,#0759b5);color:#fff}.admin-live-card .match-flow-controls{position:static;margin:0 10px 10px;padding:10px;border-color:#4b91d36b;background:#031f48;box-shadow:none}.admin-live-card .match-flow-controls button{min-height:42px}
.admin-live-card .admin-inline-timeline{margin:10px;border-color:#1777c7;border-radius:14px;background:linear-gradient(145deg,#06458e,#021d46)}.admin-live-card .admin-inline-timeline h2{margin:0;padding:12px 14px;border-bottom:1px solid #65b5ff45;background:#0751a0;color:#fff;text-align:left}.admin-live-card .admin-timeline-empty{color:#c9ddf1}
@media(max-width:560px){.admin-live-card .admin-safety-bar{grid-template-columns:1fr 1fr}.admin-live-card .save-indicator{grid-column:1/-1;justify-self:center}.admin-live-card>.timer-row{grid-template-columns:1fr auto;margin:8px;padding:7px}.admin-live-card>.timer-row #timerStatus{padding-right:5px;font-size:8px}.admin-live-card .team-match-controls{margin:8px}.admin-live-card .team-action-groups{grid-template-columns:1fr 1fr;gap:6px;padding:7px}.admin-live-card .team-action-buttons{grid-template-columns:1fr;padding:6px}.admin-live-card .team-action-title{min-height:40px;font-size:10px}.admin-live-card .team-action-buttons button{min-height:42px;font-size:9px}.admin-live-card .match-flow-controls{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 7px 8px;padding:7px}.admin-live-card .match-flow-controls button{min-height:42px;font-size:8px}.admin-live-card .admin-inline-timeline{margin:8px}}

/* Echt thuisshirt met dynamisch rugnummer bij de seizoensstatistieken. */
.season-shirt-back{position:absolute!important;z-index:3!important;right:20px;top:50%;width:122px;pointer-events:none;transform:translateY(-50%);filter:drop-shadow(0 9px 10px #00152f99)}.season-shirt-back>img{display:block;width:100%;height:auto}.season-shirt-back>strong{position:absolute;left:48.5%;top:45%;color:#053b96;font-family:"Arial Black",Impact,Haettenschweiler,sans-serif;font-size:46px;font-weight:900;font-variant-numeric:lining-nums tabular-nums;line-height:.86;letter-spacing:-.04em;-webkit-text-stroke:.7px #032f78;text-align:center;text-shadow:0 1px 0 #ffdf00;transform:translate(-50%,-50%) scaleX(.94);transform-origin:center}.season-shirt-back.keeper-shirt-back>strong{top:44%;color:#fff;-webkit-text-stroke:1px #04357c;text-shadow:0 2px 2px #03265e}.season-profile-copy{padding-right:130px}.season-profile-hero:before{right:-75px;opacity:.16}
@media(max-width:700px){.season-shirt-back{right:8px;width:78px}.season-shirt-back>strong{top:45%;font-size:28px;-webkit-text-stroke:.5px #032f78}.season-shirt-back.keeper-shirt-back>strong{top:44%;-webkit-text-stroke:.8px #04357c}.season-profile-copy{padding-right:68px}}
@media(max-width:420px){.season-shirt-back{right:5px;width:66px}.season-shirt-back>strong{font-size:23px}.season-profile-copy{padding-right:54px}.season-profile-hero h3{font-size:15px}}
.keeper-sponsor{position:absolute;left:50%;z-index:2;width:74%;color:#fff;font-family:Arial,sans-serif;font-weight:900;line-height:.8;text-align:center;text-shadow:0 1px 2px #002b69;transform:translateX(-50%)}.keeper-sponsor b,.keeper-sponsor small{display:block}.keeper-sponsor-top{top:20%;font-size:8px;letter-spacing:-.04em}.keeper-sponsor-top small{margin-top:2px;font-size:3.6px;font-weight:700;letter-spacing:0}.keeper-sponsor-bottom{top:62%;font-size:13px;letter-spacing:-.09em}.keeper-sponsor-bottom small{font-size:8px;letter-spacing:.02em}@media(max-width:700px){.keeper-sponsor-top{font-size:5px}.keeper-sponsor-top small{font-size:2.4px}.keeper-sponsor-bottom{font-size:8px}.keeper-sponsor-bottom small{font-size:5px}}

/* Compact hoofdmenu van de beheerapp. */
.admin-tabs{position:sticky;z-index:40;top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px;border:1px solid #1d67aa;border-radius:18px;background:linear-gradient(180deg,#064583,#032b5d);box-shadow:0 8px 22px #0019363d}
.admin-tabs .admin-tab{display:flex;min-width:0;min-height:55px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px;border:0;border-radius:13px;background:transparent;color:#eaf5ff;font-size:9px;box-shadow:none;text-shadow:none}
.admin-tabs .admin-tab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-tabs .admin-tab.active{background:linear-gradient(180deg,#fff06a,#ffd20b);color:#06295a;box-shadow:inset 0 1px #fffbd1,0 4px 10px #00193655}
.admin-manage-menu{overflow:hidden;border:1px solid #1769b5;border-radius:18px;background:radial-gradient(circle at 75% 0,#126bc466,transparent 38%),linear-gradient(145deg,#063a79,#021a3c);box-shadow:0 12px 28px #00193642;color:#fff}
.admin-manage-menu>header{position:relative;padding:19px 18px 16px;border-bottom:1px solid #63b8ff43}.admin-manage-menu>header h2{margin:0;color:#fff;font-size:24px}.admin-manage-menu>header p{margin:4px 0 0;color:#bcd5ed;font-size:11px}.admin-manage-menu>header span{position:absolute;right:16px;top:18px;padding:5px 9px;border-radius:8px;background:#ffdc18;color:#06295a;font-size:8px;font-weight:950}
.admin-manage-link{position:relative;display:grid;width:calc(100% - 24px);min-height:70px;grid-template-columns:minmax(0,1fr) 24px;align-content:center;margin:12px;padding:12px 42px 12px 15px;border:1px solid #2180d2;border-radius:13px;background:linear-gradient(135deg,#0754a4,#063975);color:#fff;text-align:left;box-shadow:inset 0 1px #ffffff18}.admin-manage-link b,.admin-manage-link small{display:block}.admin-manage-link b{font-size:15px}.admin-manage-link small{margin-top:5px;color:#c9ddf1;font-size:9px}.admin-manage-link i{position:absolute;right:15px;top:50%;color:#fff;font-size:27px;font-style:normal;transform:translateY(-50%)}
.admin-manage-logout{width:calc(100% - 24px);min-height:50px;margin:12px;padding:10px;border:1px solid #ef4551;border-radius:12px;background:#081f40;color:#ff5460;font-weight:900;box-shadow:none}
.admin-manage-menu .admin-referee-field{margin:12px;padding:14px;border:1px solid #2180d2;border-radius:13px;background:linear-gradient(135deg,#0754a4,#063975);color:#fff;box-shadow:inset 0 1px #ffffff18}.admin-manage-menu .admin-referee-field>label{color:#fff;font-size:15px}.admin-manage-menu .admin-referee-field>small{color:#c9ddf1}.admin-manage-menu .admin-referee-field .referee-whistle{filter:brightness(0) invert(1)}.admin-manage-menu .admin-referee-field select,.admin-manage-menu .admin-referee-field input{border-color:#66b6ff80;background:#052b61;color:#fff}.admin-manage-menu .admin-referee-field select option{background:#052b61;color:#fff}
@media(max-width:700px){#adminContent{padding-bottom:88px}.admin-tabs{position:fixed;z-index:1000;top:auto;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));border-top:4px solid #2d9aef;border-radius:23px}.admin-tabs .admin-tab{min-height:57px}.admin-manage-link{min-height:63px;margin:9px 12px}.admin-manage-menu>header{padding:16px}.admin-manage-menu>header h2{font-size:21px}}

/* Rechtenbeheer en exclusieve scorebordbediening. */
.match-control-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;margin:10px;padding:11px 12px;border:1px solid #ffdc18;border-radius:13px;background:#031d46;color:#fff}.match-control-bar span b,.match-control-bar span small{display:block}.match-control-bar span b{font-size:12px}.match-control-bar span small{margin-top:3px;color:#bfd7ee;font-size:8px}.match-control-bar.owned{border-color:#43d27a;background:linear-gradient(135deg,#073c67,#075b53)}.match-control-bar.owned span b{color:#73eea2}.match-control-bar button{min-height:36px;margin:0;padding:7px 10px;font-size:8px}.match-control-bar.locked~* button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.48}
.admin-access-card{overflow:hidden;border-color:#1769b5;background:linear-gradient(145deg,#063a79,#021a3c);color:#fff}.admin-access-card>h2{color:#fff}.admin-access-card>.small{color:#c9ddf1}.admin-access-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;padding:14px;border:1px solid #2c82cc;border-radius:14px;background:#032657}.admin-access-form>input{border-color:#66b6ff80;background:#052b61;color:#fff}.admin-access-form>button,.admin-access-form>#adminAccessMessage,.admin-permission-grid{grid-column:1/-1}.admin-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-permission-grid label{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px;border:1px solid #2479c5;border-radius:9px;background:#074782;color:#fff;font-size:9px;font-weight:850}.admin-permission-grid input{width:17px;height:17px;accent-color:#ffdc18}.admin-access-list{display:grid;gap:9px}.admin-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #2a7bc1;border-radius:13px;background:linear-gradient(135deg,#0754a4,#063975)}.admin-access-row b,.admin-access-row small{display:block}.admin-access-row b{font-size:13px}.admin-access-row b em{margin-left:5px;padding:3px 6px;border-radius:999px;background:#ffdc18;color:#06295a;font-size:7px;font-style:normal;text-transform:uppercase}.admin-access-row small{margin-top:3px;color:#c9ddf1;font-size:8px}.admin-access-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.admin-access-badges span{padding:3px 6px;border:1px solid #68baff66;border-radius:999px;background:#04295b;color:#e8f5ff;font-size:7px;font-weight:800}.admin-access-actions{display:flex;gap:5px}.admin-access-actions button{min-height:35px;margin:0;padding:6px 8px;font-size:7px}
@media(max-width:600px){.match-control-bar{grid-template-columns:1fr}.match-control-bar button{width:100%}.admin-access-form{grid-template-columns:1fr;padding:10px}.admin-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-access-row{grid-template-columns:1fr}.admin-access-actions button{flex:1}.admin-access-actions{display:flex}}
.match-operator-card{max-width:720px;margin-inline:auto;border-color:#1769b5;background:linear-gradient(145deg,#063a79,#021a3c);color:#fff}.match-operator-card h2{color:#fff}.match-operator-card>p{color:#c9ddf1}.match-operator-fixture{display:grid;gap:4px;margin:14px 0;padding:14px;border:1px solid #2c82cc;border-left:5px solid #ffdc18;border-radius:12px;background:#032657}.match-operator-fixture b{font-size:15px}.match-operator-fixture small{color:#bcd5ed;font-size:9px}.match-operator-card>label{display:block;margin:13px 0 6px;color:#ffdc18;font-size:10px;font-weight:900}.match-operator-card>select{width:100%;border-color:#66b6ff80;background:#052b61;color:#fff}.match-operator-card>button{width:100%;margin-top:10px}
details.public-lineup-bench>summary:after{content:"+";position:absolute;right:17px;display:grid;width:24px;height:24px;border:1px solid #ffdc18;border-radius:50%;font-size:18px;line-height:1;place-items:center}
details.public-lineup-bench[open]>summary:after{content:"−"}
details.public-lineup-bench>div{padding:4px 16px 16px}
@media(max-width:560px){details.public-lineup-bench>summary{min-height:46px;padding:10px 40px 10px 8px;font-size:10px}details.public-lineup-bench>summary:after{right:10px}details.public-lineup-bench>div{padding:3px 8px 12px}}

/* Astra beheer-layout: rustig, compact en goed leesbaar op mobiel. */
#adminContent{max-width:920px;margin-inline:auto}
#admin-live{color:#102f51}
#admin-live>.admin-live-card{overflow:visible!important;border:0;border-radius:0;background:transparent!important;color:#102f51;box-shadow:none}
.admin-live-card>.match-control-bar{margin:0 0 10px;padding:12px 14px;border:1px solid #a8dec0;border-radius:14px;background:#edf9f2;color:#154c2c;box-shadow:0 3px 10px #07351a0b}
.admin-live-card>.match-control-bar.owned{border-color:#8ed5ad;background:#e6f7ed}
.admin-live-card>.match-control-bar.owned span b{color:#146333;font-size:13px}
.admin-live-card>.match-control-bar span small{margin-top:4px;color:#47715a;font-size:10px}
.admin-live-card>.match-control-bar button{min-height:38px;border:1px solid #d73943;background:#fff;color:#b51f2b;box-shadow:none;text-shadow:none}
.admin-live-card>.match-control-bar #matchControlButton{border-color:#178348;background:#168b4b;color:#fff}
.admin-live-card .admin-safety-bar{margin:0 0 10px;padding:9px 11px;border:1px solid #d8e3ee;border-radius:13px;background:#fff;box-shadow:0 3px 10px #06295a0b}
.admin-live-card .admin-safety-bar button{min-height:38px;padding:8px 11px;border:1px solid #b9cbe0;background:#fff;color:#164978;font-size:10px;box-shadow:none;text-shadow:none}
.admin-live-card .admin-safety-bar #testModeButton.active{border-color:#dfb400;background:#fff8ce;color:#675000}
.admin-live-card .save-indicator{justify-self:end;margin:0;padding:7px 10px;background:#e7f3ff;color:#155a96;font-size:10px}
.admin-live-card .admin-scoreboard-header{overflow:hidden;border:0;border-radius:16px 16px 0 0;background:#06295a}
.admin-live-card>.score{min-height:205px;border-radius:0;background:radial-gradient(circle at 50% 18%,#176cc2 0,#0a4f9d 37%,transparent 68%),linear-gradient(145deg,#083d7c,#031d46)}
.admin-live-card>.score .team{font-size:15px}
.admin-live-card>.score .score-number{font-size:52px}
.admin-live-card>.score .minute{border:0;background:#ffdc18;box-shadow:0 4px 10px #00142f80}
.admin-referee-display{border:0;background:#06295a;color:#dcecff}
.admin-live-card>.timer-row{margin:0 0 10px;padding:10px 12px;border:0;border-radius:0 0 14px 14px;background:#ffdc18;box-shadow:0 4px 12px #06295a1c}
.admin-live-card>.timer-row #startTimer,.admin-live-card>.timer-row #timerStatus{color:#06295a;font-size:11px}
.admin-live-card .team-match-controls{margin:0 0 10px;border:1px solid #d8e3ee;border-radius:14px;background:#fff;box-shadow:0 4px 14px #06295a0d}
.admin-live-card .team-match-controls>h2{padding:13px 14px;border-bottom:1px solid #e3eaf1;color:#123d6a;font-size:17px}
.admin-live-card .team-action-groups{gap:10px;padding:12px}
.admin-live-card .team-action-group{border-color:#d8e3ee;background:#f8fafc;box-shadow:none}
.admin-live-card .team-action-title,.admin-live-card .opponent-actions .team-action-title{min-height:42px;background:#0a56a1;color:#fff;font-size:12px}
.admin-live-card .team-action-buttons{gap:8px;padding:9px}
.admin-live-card .team-action-buttons button{min-height:44px;border-width:1px;border-radius:9px;font-size:11px;box-shadow:none;text-shadow:none}
.admin-live-card .action-goal{border-color:#d5ad00;background:#ffdc18;color:#06295a}
.admin-live-card .action-yellow{border-color:#edd66a;background:#fff7c7;color:#594700}
.admin-live-card .action-red{border-color:#efb1b5;background:#fff0f1;color:#b5212b}
.admin-live-card .action-swap{border-color:#b6d6f1;background:#eaf5ff;color:#07529a}
.admin-live-card .match-flow-controls{position:static;margin:0;padding:12px;border:1px solid #d8e3ee;border-width:1px 0 0;border-radius:0;background:#fff;box-shadow:none}
.admin-live-card .match-flow-controls button{min-height:43px;border:1px solid #bed0e1;background:#fff;color:#164978;font-size:10px;box-shadow:none;text-shadow:none}
.admin-live-card .match-flow-controls button.primary{border-color:#06295a;background:#06295a;color:#fff}
.admin-live-card .match-flow-controls button.danger{border-color:#e5a3a8;background:#fff;color:#b51f2b}
.admin-live-card .admin-inline-timeline{margin:0;border:1px solid #d8e3ee;border-radius:14px;background:#fff;color:#102f51;box-shadow:0 4px 14px #06295a0d}
.admin-live-card .admin-inline-timeline h2{padding:13px 14px;border-bottom:1px solid #e3eaf1;background:#fff;color:#123d6a;font-size:17px;text-align:left}
.admin-live-card .admin-timeline-grid .timeline-header{border-color:#d9e5f0;background:#06295a;color:#fff}
.admin-live-card .admin-timeline-grid .timeline-row{border-color:#e3eaf1;background:#fff}
.admin-live-card .admin-timeline-grid .timeline-home,.admin-live-card .admin-timeline-grid .timeline-away,.admin-live-card .admin-timeline-grid .timeline-goal-scorer b,.admin-live-card .admin-timeline-grid .timeline-event-line b{color:#123d6a;text-shadow:none}
.admin-live-card .admin-timeline-grid .timeline-goal-assist{color:#607a94!important}
.admin-live-card .admin-timeline-grid .timeline-minute{background:#0a4f9d;color:#fff}
.admin-live-card .admin-timeline-empty{color:#607a94}
@media(max-width:560px){
  #adminContent{padding-bottom:92px}
  #admin-live>.admin-live-card{margin-bottom:8px;padding:0}
  .admin-live-card>.match-control-bar{grid-template-columns:minmax(0,1fr) auto;padding:10px 11px}
  .admin-live-card>.match-control-bar button{width:auto;min-width:92px}
  .admin-live-card>.match-control-bar span b{font-size:12px}
  .admin-live-card>.match-control-bar span small{font-size:9px}
  .admin-live-card .admin-safety-bar{grid-template-columns:1fr auto}
  .admin-live-card .admin-safety-bar #undoLastButton{grid-column:1/-1;grid-row:2;width:100%}
  .admin-live-card .save-indicator{grid-column:1;grid-row:1;justify-self:start}
  .admin-live-card .admin-safety-bar #testModeButton{grid-column:2;grid-row:1}
  .admin-live-card>.score{min-height:170px;padding:27px 8px 18px}
  .admin-live-card>.score .team{font-size:11px}
  .admin-live-card>.score .team-logo{width:54px;height:54px}
  .admin-live-card>.score .score-number{font-size:38px}
  .admin-live-card>.timer-row{grid-template-columns:1fr auto;margin:0 0 9px;padding:8px}
  .admin-live-card .team-action-groups{grid-template-columns:1fr 1fr;gap:7px;padding:8px}
  .admin-live-card .team-action-title{min-height:40px;font-size:10px}
  .admin-live-card .team-action-buttons{padding:7px;gap:7px}
  .admin-live-card .team-action-buttons button{min-height:43px;font-size:10px}
  .admin-live-card .match-flow-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}
  .admin-live-card .match-flow-controls button{min-height:43px;font-size:9px}
  .admin-live-card .admin-inline-timeline{margin:0}
  .admin-live-card .admin-timeline-grid .timeline-home,.admin-live-card .admin-timeline-grid .timeline-away{font-size:10px}
  .admin-tabs{left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));border:1px solid #1d67aa;border-top:3px solid #ffdc18;background:#06295a;box-shadow:0 8px 26px #00193666}
  .admin-tabs .admin-tab{min-height:58px;color:#dcecff;font-size:10px}
  .admin-tabs .admin-tab.active{background:#ffdc18;color:#06295a}
}

/* Onder Beheer volstaan de duidelijke namen van de onderdelen. */
.admin-manage-link small{display:none}
.admin-manage-link{min-height:58px;align-content:center}

/* Optie A: consequent clubblauw voor de volledige publieke app. */
body.public-app{--public-deep:#021936;--public-navy:#03295b;--public-blue:#0754a4;--public-line:#2b79bd;--public-soft:#bcd8f2;background:radial-gradient(circle at 50% 0,#dff0ff 0,#f4f8fc 420px);color:#102f51}
body.public-app main{max-width:1120px}
body.public-app .livefeed-banner{overflow:hidden;border-bottom:3px solid #ffdc18;background:#021936}
body.public-app .tabs{border-bottom:1px solid #2675b8;background:linear-gradient(180deg,#063f7d,#021d46);box-shadow:0 7px 20px #00193645}
body.public-app .tabs .tab-btn{border:1px solid transparent;background:transparent;color:#d9ebfb;box-shadow:none;text-shadow:none}
body.public-app .tabs .tab-btn:hover{border-color:#4d91c9;background:#ffffff0c;color:#fff;transform:none}
body.public-app .tabs .tab-btn.active{border-color:#ffdc18;background:#ffdc18;color:#06295a;box-shadow:0 4px 12px #00193655;text-shadow:none}
body.public-app .tab-panel>.card,body.public-app .live-main-content>.card,body.public-app .live-media-card{overflow:hidden;border:1px solid var(--public-line);background:radial-gradient(circle at 80% 0,#0b5aab66 0,transparent 34%),linear-gradient(145deg,#074481,#021b40);color:#fff;box-shadow:0 9px 24px #0219362e}
body.public-app .tab-panel>.card>h2,body.public-app .live-main-content>.card>h2,body.public-app .live-media-card>h2{position:relative;margin:-17px -17px 15px;padding:14px 17px 13px;border-bottom:1px solid #5dabec55;background:#031d46;color:#fff;font-size:19px}
body.public-app .tab-panel>.card>h2:after,body.public-app .live-main-content>.card>h2:after,body.public-app .live-media-card>h2:after{content:"";position:absolute;left:17px;bottom:-1px;width:54px;height:3px;border-radius:3px;background:#ffdc18}
body.public-app .card .small{color:var(--public-soft)}
body.public-app .live-score-card{border-color:#1769b5;background:#031d46}
body.public-app .scoreboard-shell{border-bottom:1px solid #3c85c466;background:radial-gradient(circle at 50% 12%,#176ec6 0,#0b4e99 39%,transparent 70%),linear-gradient(145deg,#073b7c,#021936)}
body.public-app .scoreboard-title{color:#fff;font-size:12px}
body.public-app .scoreboard-status{color:#ffdc18}
body.public-app .scoreboard-header{background:#021936cc}
body.public-app .live-timeline{margin:0;padding:0;background:linear-gradient(145deg,#074481,#021b40)}
body.public-app .live-timeline>h2{position:relative;margin:0;padding:14px 17px;border-bottom:1px solid #57a6e755;color:#fff;font-size:19px}
body.public-app .live-timeline>h2:after{content:"";position:absolute;left:17px;bottom:-1px;width:54px;height:3px;background:#ffdc18}
body.public-app .live-timeline .timeline-header{border-color:#4c92cc;color:#bcd8f2}
body.public-app .live-timeline .timeline-header span{color:#ffdc18}
body.public-app .live-timeline .timeline-row{border-color:#4a8cc64a;color:#fff}
body.public-app .live-timeline .timeline-home,body.public-app .live-timeline .timeline-away{color:#fff;text-shadow:0 2px 3px #00152f}
body.public-app .live-timeline .timeline-minute{border:1px solid #ffdc18;background:#052f68;color:#ffdc18}
body.public-app .push-card{border-color:#2879bb;background:linear-gradient(135deg,#0754a4,#03295b)}
body.public-app .push-card button{border-color:#ffdc18;background:#ffdc18;color:#06295a}
body.public-app .lineup-public{padding:0;border-color:#2777b9;background:linear-gradient(145deg,#0754a4,#021936)}
body.public-app .lineup-public>summary{min-height:62px;padding:14px 54px 14px 17px;border:0;background:linear-gradient(135deg,#0a5bad,#03295b);color:#fff}
body.public-app .lineup-public>summary b{font-size:18px}
body.public-app .lineup-public>summary .small{color:#bcd8f2}
body.public-app .lineup-public>summary:after{color:#ffdc18}
body.public-app #tab-programma>.card,body.public-app #tab-uitslagen>.card,body.public-app #tab-selectie>.card,body.public-app #tab-seizoen>.card{background:radial-gradient(circle at 90% 0,#0d5faf66,transparent 31%),linear-gradient(145deg,#06417f,#021936)}
body.public-app .stat-switch{overflow:hidden;gap:0;padding:3px;border:1px solid #4e91cb;border-radius:13px;background:#021b40}
body.public-app .stat-switch-btn{min-height:42px;border:0;border-radius:9px;background:transparent;color:#d9ebfb;box-shadow:none;text-shadow:none}
body.public-app .stat-switch-btn.active{background:#ffdc18;color:#06295a;box-shadow:0 3px 9px #00152f77}
body.public-app #tab-programma .fixture-item{border-color:#3486c8;background:radial-gradient(circle at 50% 20%,#176fc3 0,#0b4d98 43%,transparent 74%),linear-gradient(145deg,#073b7c,#021936)}
body.public-app #tab-uitslagen .result-card{margin:10px 0;padding:13px;border:1px solid #397fba;border-radius:14px;background:#021b40b8}
body.public-app #tab-uitslagen .result-card:last-child{border-bottom:1px solid #397fba}
body.public-app #tab-uitslagen .result-score,body.public-app #tab-uitslagen .fixture-team{color:#fff}
body.public-app #tab-uitslagen .result-hint{color:#bcd8f2}
body.public-app #tab-uitslagen .result-events{border:1px solid #3a82bf;background:#052f68;color:#eef7ff}
body.public-app #tab-standen>.card{border-color:#2679bd;background:radial-gradient(circle at 80% 0,#0c5dac66,transparent 34%),linear-gradient(145deg,#074481,#021936)}
body.public-app #tab-standen>.card>h2{color:#fff}
body.public-app #tab-seizoen .season-table-wrap{overflow:hidden auto;border:1px solid #3b82bd;border-radius:13px;background:#021b40a8}
body.public-app #tab-seizoen .season-table{color:#fff}
body.public-app #tab-seizoen .season-table thead{background:#02152f}
body.public-app #tab-seizoen .season-table th{border-color:#4389c35c;color:#bcd8f2}
body.public-app #tab-seizoen .season-table td{border-color:#4389c338;color:#fff}
body.public-app #tab-seizoen .season-table tbody tr:hover td{background:#ffffff0b}
body.public-app #tab-seizoen .guest-players-heading{border-color:#4a8cc655;color:#ffdc18}
body.public-app #tab-selectie .player-list{gap:8px}
body.public-app #tab-selectie .player-stat{min-height:66px;border:1px solid #3b82bd;border-radius:12px;background:#021b40bd;color:#fff;box-shadow:none;text-shadow:none}
body.public-app #tab-selectie .player-stat:hover{border-color:#ffdc18;background:#06356f;transform:none}
body.public-app #tab-selectie .player-stat[aria-expanded="true"]{border-color:#ffdc18;background:#074b94}
body.public-app #tab-selectie .stats-player-text b,body.public-app #tab-selectie .stats-total-goals{color:#fff}
body.public-app #tab-selectie .competition-goals{color:#bcd8f2}
body.public-app #tab-selectie .competition-goals.near-star{color:#ffdc18}
body.public-app #tab-selectie .inline-profile{border-color:#3a82bf;background:#031d46;color:#fff}
body.public-app #tab-selectie .inline-profile h3 span,body.public-app #tab-selectie .inline-profile th{color:#bcd8f2}
body.public-app #tab-selectie .inline-profile td{border-color:#4389c338;color:#fff}
body.public-app .player-search input{border-color:#4b8dc6;background:#021b40;color:#fff;box-shadow:none}
body.public-app .player-search input::placeholder{color:#9ebddb}
body.public-app .player-search span{color:#ffdc18}
body.public-app .search-empty{background:#021b40;color:#bcd8f2}
body.public-app .homepage-stats-card{border-color:#277cc2!important;background:radial-gradient(circle at 70% 8%,#1165b766,transparent 38%),linear-gradient(145deg,#06417f,#021936)!important}
body.public-app .homepage-stats-card .top-scorer{border-color:#3d83bf;background:#021936c7}
body.public-app .homepage-stats-card .top-scorer img,body.public-app .homepage-stats-card .top-scorer-photo{background:transparent}
body.public-app .form-result{border-color:#3c7fb8}
body.public-app footer{color:#607a94}
@media(max-width:700px){
  body.public-app{padding-bottom:calc(90px + env(safe-area-inset-bottom));background:#eaf4fd}
  body.public-app main{padding:9px}
  body.public-app .livefeed-banner img{max-height:145px;object-fit:cover}
  body.public-app .tabs{left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));gap:3px;padding:6px;border:1px solid #2879bc;border-top:3px solid #ffdc18;border-radius:21px;background:#021d46}
  body.public-app .tabs .tab-btn{min-width:0;min-height:58px;gap:3px;padding:6px 2px;border-radius:12px;font-size:10px}
  body.public-app .tabs .tab-icon{width:23px;height:23px}
  body.public-app .tabs .tab-btn.active{border-color:#ffdc18;background:#ffdc18}
  body.public-app .tab-panel>.card,body.public-app .live-main-content>.card,body.public-app .live-media-card{margin-bottom:10px;border-radius:15px}
  body.public-app .tab-panel>.card>h2,body.public-app .live-main-content>.card>h2,body.public-app .live-media-card>h2{margin:-13px -13px 13px;padding:13px;font-size:18px}
  body.public-app .scoreboard-header{padding:9px 8px}
  body.public-app .scoreboard-title{font-size:10px}
  body.public-app .scoreboard-status{font-size:9px}
  body.public-app .scoreboard-shell>.score{padding-inline:8px}
  body.public-app .live-timeline>h2{padding:13px;font-size:18px}
  body.public-app .live-timeline .timeline-header,body.public-app .live-timeline .timeline-row{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}
  body.public-app .lineup-public>summary{min-height:56px;padding:12px 48px 12px 14px}
  body.public-app .lineup-public>summary b{font-size:16px}
  body.public-app #tab-programma .fixture-item,body.public-app #tab-uitslagen .result-card{margin:8px 0}
  body.public-app #tab-seizoen .season-table-wrap{border-radius:11px}
  body.public-app #tab-selectie .player-stat{min-height:62px;padding:8px}
}

/* Astra optie A voor de brede livepagina. */
@media(min-width:901px){
  body.public-app main{max-width:1440px;padding:20px 24px 34px}
  body.public-app .livefeed-banner img{max-height:250px;object-fit:cover;object-position:center}
  body.public-app .tabs{top:0;justify-content:center;gap:8px;padding:9px 20px}
  body.public-app .tabs .tab-btn{min-width:132px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:12px;font-size:14px}
  body.public-app .tabs .tab-icon{width:22px;height:22px}
  body.public-app #tab-live{max-width:1392px;margin-inline:auto}
  body.public-app #tab-live .live-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
  body.public-app #tab-live .live-main-content{display:block;min-width:0}
  body.public-app #tab-live .live-score-card{border-radius:19px}
  body.public-app #tab-live .scoreboard-header{padding:14px 22px;font-size:12px}
  body.public-app #tab-live .scoreboard-title{font-size:15px;letter-spacing:.08em}
  body.public-app #tab-live .scoreboard-shell>.score{min-height:285px;padding:34px 44px}
  body.public-app #tab-live .scoreboard-shell>.score .team{gap:12px;font-size:20px}
  body.public-app #tab-live .scoreboard-shell>.score .team-logo{width:104px;height:104px}
  body.public-app #tab-live .scoreboard-shell>.score .score-number{font-size:68px}
  body.public-app #tab-live .scoreboard-shell>.score .minute{min-width:84px;padding:8px 13px;font-size:20px}
  body.public-app #tab-live .live-timeline>h2{padding:17px 22px;font-size:22px}
  body.public-app #tab-live .live-timeline>h2:after{left:22px;width:68px}
  body.public-app #tab-live .live-timeline #liveTimeline{padding:0 20px 18px}
  body.public-app #tab-live .live-timeline .timeline-header{padding:13px 8px;font-size:13px}
  body.public-app #tab-live .live-timeline .timeline-row{min-height:62px;padding:12px 8px;font-size:14px}
  body.public-app #tab-live .live-timeline .timeline-home,body.public-app #tab-live .live-timeline .timeline-away{font-size:14px}
  body.public-app #tab-live .live-timeline .timeline-minute{min-width:52px;padding:7px;font-size:13px}
  body.public-app #tab-live .lineup-public{margin-bottom:16px;border-radius:16px}
  body.public-app #tab-live .lineup-public>summary{min-height:68px;padding-inline:22px 60px}
  body.public-app #tab-live .lineup-public>summary b{font-size:20px}
  body.public-app #tab-live .competition-form-card{margin-bottom:16px}
  body.public-app #tab-live .competition-form-card .form-result{height:68px}
  body.public-app #tab-live .homepage-leaderboards{gap:16px;margin-bottom:16px}
  body.public-app #tab-live .homepage-stats-card{min-height:100%}
  body.public-app #tab-live .homepage-stats-card .top-scorer{min-height:78px}
  body.public-app #tab-live .live-media-card{position:sticky;top:78px;margin:0;max-height:calc(100vh - 98px);border-radius:18px}
  body.public-app #tab-live .live-media-card .live-result-photo{max-height:calc(100vh - 175px);object-fit:contain;background:#021936}
  body.public-app #tab-live>.push-card{max-width:1392px;margin:20px auto 0;border-radius:16px}
}
@media(min-width:1180px){
  body.public-app #tab-live .live-page-layout{grid-template-columns:minmax(0,1fr) 370px}
  body.public-app #tab-live .homepage-stats-card .top-scorer{grid-template-columns:36px 68px minmax(0,1fr) 44px}
  body.public-app #tab-live .homepage-stats-card .top-scorer img,body.public-app #tab-live .homepage-stats-card .top-scorer-photo{width:64px;height:72px}
}

/* Teruggedraaide desktopreferentie; buiten elk werkelijk schermbereik gehouden. */
@media(min-width:99999px){
  body.public-app{position:relative;background:#f4f8fc}
  body.public-app .livefeed-banner{position:relative;height:120px;border:0;background:linear-gradient(110deg,#063f7d,#021d46)}
  body.public-app .livefeed-banner img{display:none}
  body.public-app .livefeed-banner:before{content:"";position:absolute;left:max(38px,calc((100vw - 1400px)/2));top:14px;width:88px;height:88px;background:url('assets/logo.png?v=20260903-lineup-photo-v2') center/contain no-repeat;filter:drop-shadow(0 4px 7px #00142f88)}
  body.public-app .livefeed-banner:after{content:"SV HATTO-HEIM\A Live wedstrijdcentrum";white-space:pre;position:absolute;left:max(142px,calc((100vw - 1192px)/2));top:27px;color:#fff;font-size:31px;font-weight:950;line-height:1.05;text-shadow:0 3px 8px #00152f}
  body.public-app .tabs{position:absolute;z-index:20;top:0;right:max(32px,calc((100vw - 1400px)/2));width:min(58vw,780px);height:120px;justify-content:flex-end;padding:0;border:0;background:transparent;box-shadow:none}
  body.public-app .tabs .tab-btn{min-width:112px;height:72px;padding:8px 12px;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none}
  body.public-app .tabs .tab-btn .tab-icon{display:none}
  body.public-app .tabs .tab-btn.active{position:relative;background:transparent;color:#ffdc18;box-shadow:none}
  body.public-app .tabs .tab-btn.active:after{content:"";position:absolute;left:16px;right:16px;bottom:12px;height:4px;border-radius:4px;background:#ffdc18}
  body.public-app #tab-live .live-page-layout{grid-template-columns:minmax(0,2.1fr) minmax(310px,.95fr);gap:20px}
  body.public-app #tab-live .live-main-content{display:block}
  body.public-app #tab-live .live-desktop-sidebar{display:grid;align-content:start;gap:16px;min-width:0}
  body.public-app #tab-live .live-desktop-sidebar .card{margin:0;padding:17px;border:1px solid #d5e1ec!important;border-radius:16px;background:#fff!important;color:#0c3765;box-shadow:0 6px 18px #06295a12!important}
  body.public-app #tab-live .live-desktop-sidebar .card>h2{margin:-17px -17px 12px;padding:15px 17px 11px;border:0;background:#fff;color:#0c3765!important;font-size:21px}
  body.public-app #tab-live .live-desktop-sidebar .card>h2:after{display:none}
  body.public-app #tab-live .live-desktop-sidebar .card>h2 .small{display:block;margin-top:4px;color:#617a94;font-size:13px}
  body.public-app #tab-live .live-desktop-sidebar .homepage-leaderboards{display:grid;grid-template-columns:1fr;gap:16px;margin:0}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-results{grid-template-columns:repeat(5,1fr);gap:10px}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-result{height:52px;border:0;border-radius:9px;background:#e7edf3;box-shadow:none}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-result b{width:auto;height:auto;background:transparent;color:#fff;font-size:20px}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-result small{display:none}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-w{background:#20a957}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-g{background:#98a7b6}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-g b{color:#fff}
  body.public-app #tab-live .live-desktop-sidebar .competition-form-card .form-v{background:#e72e39}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer{min-height:58px;grid-template-columns:28px 48px minmax(0,1fr) 32px;padding:4px 7px;border:0;border-bottom:1px solid #dce5ee;border-radius:0;background:#fff;color:#0c3765;box-shadow:none}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer:last-child{border-bottom:0}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer-rank{width:auto;height:auto;background:transparent;color:#617a94;font-size:13px}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer img,body.public-app #tab-live .live-desktop-sidebar .top-scorer-photo{width:42px;height:48px;filter:none}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer b{color:#0c3765;font-size:14px}
  body.public-app #tab-live .live-desktop-sidebar .top-scorer strong,body.public-app #tab-live .live-desktop-sidebar .assists-card .top-scorer strong{color:#06295a;font-size:21px}
  body.public-app #tab-live .live-desktop-sidebar .live-media-card{position:static;max-height:none}
  body.public-app #tab-live .live-desktop-sidebar .live-media-card .live-result-photo{max-height:360px;border-radius:10px;background:#edf4fa;object-fit:contain}
  body.public-app #tab-live .live-score-card{border:0;background:transparent;box-shadow:none}
  body.public-app #tab-live .scoreboard-shell{border:1px solid #1769b5;border-radius:16px;box-shadow:0 7px 20px #06295a20}
  body.public-app #tab-live .live-timeline{margin-top:18px;border:1px solid #d5e1ec;border-radius:16px;background:#fff;color:#0c3765;box-shadow:0 6px 18px #06295a12}
  body.public-app #tab-live .live-timeline>h2{border-color:#dce5ee;background:#fff;color:#0c3765}
  body.public-app #tab-live .live-timeline .timeline-header{border-color:#dce5ee;background:#eef4fa;color:#315d89}
  body.public-app #tab-live .live-timeline .timeline-header span{color:#315d89}
  body.public-app #tab-live .live-timeline .timeline-row{border-color:#dce5ee;background:#fff;color:#0c3765}
  body.public-app #tab-live .live-timeline .timeline-home,body.public-app #tab-live .live-timeline .timeline-away{color:#0c3765;text-shadow:none}
  body.public-app #tab-live .live-timeline .timeline-goal-assist{color:#617a94!important}
  body.public-app #tab-live .live-timeline .timeline-minute{border:0;background:transparent;color:#0c3765;font-size:14px}
  body.public-app #tab-live .lineup-public{border-color:#d5e1ec;background:#fff;color:#0c3765;box-shadow:0 6px 18px #06295a12}
  body.public-app #tab-live .lineup-public>summary{background:#fff;color:#0c3765}
  body.public-app #tab-live .lineup-public>summary .small{color:#617a94}
  body.public-app #tab-live .lineup-public>summary:after{color:#0754a4}
  body.public-app #tab-live .push-card{margin-top:16px;border-color:#d5e1ec;background:#fff;color:#0c3765;box-shadow:0 6px 18px #06295a12}
  body.public-app #tab-live .push-card h2{color:#0c3765}
  body.public-app #tab-live .push-card .small{color:#617a94}
}
@media(max-width:900px){body.public-app #tab-live .live-desktop-sidebar{display:contents}}

/* Stabiele verhoudingen voor website, tablet en smalle browservensters. */
body.public-app #tab-live,body.public-app #tab-live .live-page-layout,body.public-app #tab-live .live-main-content{width:100%;min-width:0}
@media(min-width:901px){
  body.public-app #tab-live .live-page-layout{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(280px,1fr);gap:20px;align-items:start}
  body.public-app #tab-live .live-main-content{grid-column:1}
  body.public-app #tab-live .live-media-card{grid-column:2;width:100%}
}
@media(min-width:561px) and (max-width:900px){
  body.public-app main{max-width:820px;padding:14px}
  body.public-app #tab-live .live-page-layout{display:flex;flex-direction:column;gap:0}
  body.public-app #tab-live .live-main-content,body.public-app #tab-live .live-media-card{position:static;width:100%;max-width:none}
  body.public-app #tab-live .live-media-card{order:2}
  body.public-app #tab-live .homepage-leaderboards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  body.public-app #tab-live .live-page-layout{width:100%}
  body.public-app #tab-live .live-main-content,body.public-app #tab-live .live-media-card{width:100%;max-width:100%}
}

/* Mobiele standen: alle afgesproken kolommen zonder horizontaal schuiven. */
@media(max-width:560px){
  body.public-app #standings-competition,
  body.public-app #standings-cup{overflow-x:visible}
  body.public-app #standings-competition table,
  body.public-app #standings-cup table{
    width:100%;
    min-width:0!important;
    table-layout:fixed;
  }
  body.public-app #standings-competition th,
  body.public-app #standings-competition td,
  body.public-app #standings-cup th,
  body.public-app #standings-cup td{
    padding:6px 1px;
    font-size:9px;
    white-space:nowrap;
  }
  body.public-app #standings-competition th:first-child,
  body.public-app #standings-competition td:first-child,
  body.public-app #standings-cup th:first-child,
  body.public-app #standings-cup td:first-child{
    width:23px;
    padding-left:9px;
  }
  body.public-app #standings-competition th:nth-child(2),
  body.public-app #standings-cup th:nth-child(2){width:auto;text-align:left}
  body.public-app #standings-competition th:nth-child(n+3),
  body.public-app #standings-competition td:nth-child(n+3),
  body.public-app #standings-cup th:nth-child(n+3),
  body.public-app #standings-cup td:nth-child(n+3){width:25px;text-align:center}
  body.public-app #standings-competition .fixture-team,
  body.public-app #standings-cup .fixture-team{
    min-width:0;
    gap:3px;
    overflow:hidden;
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.public-app #standings-competition .club-logo,
  body.public-app #standings-cup .club-logo{width:17px;height:17px;flex:0 0 17px}
  body.public-app #standings-competition .standing-row td:first-child:before,
  body.public-app #standings-cup .standing-row td:first-child:before{left:2px;width:3px}
}

/* Definitieve premium opstelling; bewust als laatste override geplaatst. */
.lineup-live-card{overflow:hidden;border:1px solid #1769b5;border-radius:22px;background:#031a39;box-shadow:0 16px 38px #00142d45}
.lineup-live-brand{position:relative;display:grid!important;min-height:100px;grid-template-columns:74px minmax(0,1fr) auto!important;align-items:center;justify-items:start;gap:14px;padding:13px 18px!important;border:0!important;background:radial-gradient(circle at 80% 0,#1786dc55,transparent 32%),linear-gradient(135deg,#063978,#021b3d)!important;text-align:left}
.lineup-live-brand:after{display:none!important}.lineup-live-brand img{position:static!important;width:68px!important;height:68px!important;transform:none!important}
.lineup-brand-copy{display:grid;gap:2px;min-width:0}.lineup-brand-copy strong{color:#fff;font-size:clamp(21px,4vw,34px)!important;font-weight:950;letter-spacing:.02em!important;line-height:1!important}.lineup-brand-copy small{color:#bad6ef;font-size:12px;font-weight:800}
.lineup-formation-badge{display:grid;min-width:72px;min-height:45px;padding:7px 12px;border:1px solid #28a3ef;border-radius:14px;background:#07509b;color:#fff;font-size:18px;font-weight:950;place-items:center;box-shadow:inset 0 1px #ffffff32}
.lineup-live-card .public-pitch.lineup-pitch{min-height:650px;padding:30px 14px 20px!important;border:0;background-image:linear-gradient(#032b2252,#021d274d),url('assets/lineup-grass-field-3d.webp?v=20260907-3d-v2')!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;box-shadow:inset 0 18px 38px #001c2e75,inset 0 -20px 42px #0015257a!important}
.lineup-live-card .public-pitch .lineup-place .lineup-slot{width:96px;min-height:126px!important}.lineup-live-card .lineup-player-frame{width:88px!important;height:98px!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;filter:drop-shadow(0 7px 6px #00131dcc)!important}
.lineup-live-card .public-pitch.lineup-pitch .lineup-player-photo,.lineup-live-card .public-pitch.lineup-pitch .lineup-photo-placeholder{position:static!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;clip-path:none!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important}
.lineup-live-card .public-pitch .lineup-slot b{min-height:30px;margin-top:-13px!important;padding:7px 4px 5px!important;border:1.5px solid #1ba1ef!important;border-radius:12px!important;background:linear-gradient(180deg,#07488f,#03295c)!important;font-size:10px!important;box-shadow:0 5px 11px #001322aa!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{right:50%!important;top:auto!important;bottom:22px!important;width:27px!important;height:27px!important;border:2px solid #ffdc18!important;border-radius:50%!important;background:#06295a!important;color:#fff!important;font-size:10px!important;transform:translateX(50%)}
details.public-lineup-bench{border:0!important;border-top:3px solid #ffdc18!important;background:linear-gradient(150deg,#fff,#edf5fc)!important}details.public-lineup-bench>summary{min-height:50px;justify-content:flex-start!important;padding:12px 52px 10px 18px!important;border:0!important;background:transparent!important;color:#082f5d!important;font-size:15px!important;letter-spacing:.03em!important;text-align:left!important}details.public-lineup-bench>summary small{border-color:#bfd4e8!important;background:#e6f1fa!important;color:#56728e!important;font-size:8px!important}details.public-lineup-bench>summary:after{border-color:#0a66b4!important;color:#07549a!important}details.public-lineup-bench>div{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0 12px 15px!important}
.public-bench-player{min-width:0;min-height:108px;padding:3px 2px 5px!important}.public-bench-player>img,.public-bench-player>.bench-photo-placeholder{width:68px!important;height:75px!important;flex-basis:75px!important;margin-bottom:-7px!important;filter:drop-shadow(0 4px 4px #00234470)!important}.public-bench-player b{min-height:28px!important;padding:6px 3px 4px!important;border:1px solid #198bd4!important;border-radius:9px!important;background:linear-gradient(180deg,#07509c,#03295d)!important;font-size:8px!important}.public-bench-player small{left:-2px!important;right:auto!important;top:-10px!important;width:25px!important;height:25px!important;border:2px solid #ffdc18!important;border-radius:50%!important;color:#fff!important}
@media(max-width:560px){.lineup-live-card{border-radius:17px}.lineup-live-brand{min-height:75px;grid-template-columns:48px minmax(0,1fr) auto!important;gap:8px;padding:10px!important}.lineup-live-brand img{width:45px!important;height:45px!important}.lineup-brand-copy strong{font-size:18px!important}.lineup-brand-copy small{font-size:9px}.lineup-formation-badge{min-width:52px;min-height:36px;padding:5px 7px;border-radius:10px;font-size:13px}.lineup-live-card .public-pitch.lineup-pitch{min-height:535px;padding:25px 1px 17px!important}.lineup-live-card .public-pitch .lineup-place .lineup-slot{width:clamp(58px,17vw,70px);min-height:96px!important}.lineup-live-card .lineup-player-frame{width:clamp(54px,15vw,63px)!important;height:70px!important}.lineup-live-card .public-pitch .lineup-slot b{min-height:23px;margin-top:-9px!important;padding:5px 1px 3px!important;border-radius:8px!important;font-size:7px!important}.lineup-live-card .lineup-slot .lineup-shirt-number{bottom:17px!important;width:21px!important;height:21px!important;font-size:8px!important}details.public-lineup-bench>summary{min-height:45px;padding:10px 43px 8px 11px!important;font-size:12px!important}details.public-lineup-bench>div{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;padding:0 5px 11px!important}.public-bench-player{min-height:86px!important;padding-inline:0!important}.public-bench-player>img,.public-bench-player>.bench-photo-placeholder{width:45px!important;height:54px!important;flex-basis:54px!important}.public-bench-player b{min-height:23px!important;padding:5px 1px 3px!important;border-radius:7px!important;font-size:6.5px!important}.public-bench-player small{left:0!important;top:-8px!important;width:19px!important;height:19px!important;border-width:1px!important;font-size:6px!important}}

/* Strakke wisselbadges zonder emoji of overlap. */
.lineup-live-card .lineup-change-arrow{box-sizing:border-box!important;display:grid!important;width:23px!important;height:23px!important;margin:0!important;padding:0!important;border:1.5px solid #fff!important;border-radius:7px!important;font-size:0!important;line-height:0!important;place-items:center!important;box-shadow:0 3px 7px #00152f80!important;transform:none!important}
.lineup-live-card .lineup-change-arrow::before{content:""!important;display:block!important;width:12px!important;height:9px!important;border:0!important;background:#fff!important;clip-path:polygon(0 35%,58% 35%,58% 0,100% 50%,58% 100%,58% 65%,0 65%)!important;filter:none!important}
.lineup-live-card .lineup-arrow-out{position:absolute!important;z-index:9!important;right:-5px!important;top:auto!important;bottom:2px!important;background:#d82e3b!important}.lineup-live-card .lineup-arrow-out::before{transform:rotate(45deg)!important}
.lineup-live-card .lineup-arrow-in{position:absolute!important;z-index:5!important;right:-3px!important;top:-9px!important;background:#16964b!important;vertical-align:initial!important}.lineup-live-card .lineup-arrow-in::before{transform:rotate(-45deg)!important}
@media(max-width:560px){.lineup-live-card .lineup-change-arrow{width:18px!important;height:18px!important;border-width:1px!important;border-radius:5px!important}.lineup-live-card .lineup-change-arrow::before{width:10px!important;height:7px!important}.lineup-live-card .lineup-arrow-out{right:-3px!important;bottom:1px!important}.lineup-live-card .lineup-arrow-in{right:-2px!important;top:-7px!important}}

/* Rugnummers links van de naam; wisselnaambalk exact zo breed als de foto. */
.lineup-live-card .public-pitch .lineup-slot b{width:88px!important;margin-right:auto!important;margin-left:auto!important;padding-left:25px!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{left:2px!important;right:auto!important;bottom:1px!important;transform:none!important}
.public-bench-player>span:not(.bench-photo-placeholder){width:68px!important;margin-inline:auto!important}
.public-bench-player b{width:68px!important;margin-inline:auto!important;padding-right:2px!important;padding-left:19px!important}
.public-bench-player small{left:-2px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{width:clamp(54px,15vw,63px)!important;padding-left:19px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{left:2px!important;bottom:1px!important}
  .public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:45px!important}
  .public-bench-player b{padding-right:1px!important;padding-left:14px!important}
  .public-bench-player small{left:-1px!important;top:50%!important}
}

/* Nummer volledig naast de balk; de volledige balk blijft beschikbaar voor de naam. */
.lineup-live-card .public-pitch .lineup-slot b{padding-right:3px!important;padding-left:3px!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{left:-25px!important;bottom:1px!important}
.public-bench-player b{padding-right:2px!important;padding-left:2px!important}
.public-bench-player small{left:-29px!important;top:50%!important}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{padding-right:1px!important;padding-left:1px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{left:-19px!important}
  .public-bench-player b{padding-right:1px!important;padding-left:1px!important}
  .public-bench-player small{left:-21px!important}
}

/* Nummer en naam vormen één balk; wisselstatus staat als verticale pijl bij het gezicht. */
.lineup-live-card .public-pitch .lineup-slot b{position:relative!important;padding-right:4px!important;padding-left:30px!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{
  left:4px!important;
  bottom:0!important;
  width:25px!important;
  height:30px!important;
  border:0!important;
  border-right:1px solid #ffdc18!important;
  border-radius:11px 0 0 11px!important;
  background:#06295a!important;
  color:#ffdc18!important;
  transform:none!important;
  box-shadow:none!important;
}
.public-bench-player>span:not(.bench-photo-placeholder){position:relative!important}
.public-bench-player b{position:relative!important;padding-right:2px!important;padding-left:22px!important}
.public-bench-player small{
  left:0!important;
  top:0!important;
  width:20px!important;
  height:28px!important;
  border:0!important;
  border-right:1px solid #ffdc18!important;
  border-radius:9px 0 0 9px!important;
  background:#06295a!important;
  color:#ffdc18!important;
  transform:none!important;
  box-shadow:none!important;
}
.lineup-live-card .lineup-change-arrow{width:22px!important;height:22px!important;border-radius:50%!important}
.lineup-live-card .lineup-change-arrow::before{width:12px!important;height:9px!important}
.lineup-live-card .lineup-arrow-out{right:3px!important;top:4px!important;bottom:auto!important;background:#d82e3b!important}
.lineup-live-card .lineup-arrow-out::before{transform:rotate(90deg)!important}
.lineup-live-card .lineup-arrow-in{right:1px!important;top:-69px!important;background:#16964b!important}
.lineup-live-card .lineup-arrow-in::before{transform:rotate(-90deg)!important}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{padding-right:1px!important;padding-left:21px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{left:4px!important;width:18px!important;height:23px!important;border-radius:8px 0 0 8px!important}
  .public-bench-player b{padding-right:1px!important;padding-left:15px!important}
  .public-bench-player small{left:0!important;top:0!important;width:14px!important;height:23px!important;border-radius:7px 0 0 7px!important}
  .lineup-live-card .lineup-change-arrow{width:18px!important;height:18px!important}
  .lineup-live-card .lineup-change-arrow::before{width:10px!important;height:7px!important}
  .lineup-live-card .lineup-arrow-out{right:1px!important;top:2px!important}
  .lineup-live-card .lineup-arrow-in{right:0!important;top:-51px!important}
}

/* Leesbare gecombineerde nummer-/naambalken, inclusief lange achternamen. */
.lineup-live-card .public-pitch .lineup-slot b{box-sizing:border-box!important;width:104px!important;min-height:32px!important;padding:6px 5px 5px 32px!important;overflow:visible!important;font-size:9px!important;line-height:1.02!important;overflow-wrap:anywhere!important}
.lineup-live-card .lineup-slot .lineup-shirt-number{left:-4px!important;bottom:0!important;width:29px!important;height:32px!important;font-size:10px!important}
.public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:82px!important}
.public-bench-player b{box-sizing:border-box!important;min-height:30px!important;padding:5px 3px 4px 24px!important;font-size:7.5px!important;line-height:1.02!important;overflow-wrap:anywhere!important}
.public-bench-player small{width:22px!important;height:30px!important;font-size:7px!important}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{width:76px!important;min-height:27px!important;padding:5px 2px 4px 23px!important;font-size:7.2px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{left:-2px!important;width:21px!important;height:27px!important;font-size:8px!important}
  .public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:66px!important}
  .public-bench-player b{min-height:27px!important;padding:4px 2px 3px 18px!important;font-size:6.5px!important}
  .public-bench-player small{width:16px!important;height:27px!important;font-size:6px!important}
}

/* Namen vullen de gecombineerde nummer-/naambalk duidelijker. */
.lineup-live-card .public-pitch .lineup-slot b{
  width:112px!important;
  min-height:34px!important;
  padding:7px 5px 6px 32px!important;
  font-size:10.5px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:-.015em!important;
}
.lineup-live-card .lineup-slot .lineup-shirt-number{height:34px!important}
.public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:88px!important}
.public-bench-player b{
  min-height:32px!important;
  padding:6px 3px 5px 24px!important;
  font-size:8.5px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:-.015em!important;
}
.public-bench-player small{height:32px!important}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{width:82px!important;min-height:29px!important;padding:5px 2px 4px 23px!important;font-size:8.2px!important;line-height:1.04!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{height:29px!important}
  .public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:70px!important}
  .public-bench-player b{min-height:29px!important;padding:5px 2px 4px 18px!important;font-size:7.3px!important;line-height:1.04!important}
  .public-bench-player small{height:29px!important}
}

/* Rugnummer exact ín de balk; naam gecentreerd in het resterende naamvlak. */
.lineup-live-card .public-pitch .lineup-slot b{
  display:grid!important;
  width:112px!important;
  min-height:34px!important;
  padding:6px 4px 5px 32px!important;
  place-items:center!important;
  font-size:11.5px!important;
  line-height:1!important;
  text-align:center!important;
}
.lineup-live-card .lineup-slot .lineup-shirt-number{
  left:50%!important;
  bottom:0!important;
  width:30px!important;
  height:34px!important;
  border-right:1px solid #ffdc18!important;
  border-radius:11px 0 0 11px!important;
  transform:translateX(-56px)!important;
}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b{width:82px!important;min-height:29px!important;padding:5px 2px 4px 23px!important;font-size:8.8px!important}
  .lineup-live-card .lineup-slot .lineup-shirt-number{left:50%!important;width:22px!important;height:29px!important;border-radius:8px 0 0 8px!important;transform:translateX(-41px)!important}
}

/* Wisselspelers: nummer links in de balk en naam groot in het midden. */
.public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:96px!important}
.public-bench-player b{display:grid!important;min-height:34px!important;padding:6px 4px 5px 27px!important;place-items:center!important;font-size:10.5px!important;font-weight:950!important;line-height:1!important;text-align:center!important}
.public-bench-player small{width:24px!important;height:34px!important;font-size:8px!important}
@media(max-width:560px){
  .public-bench-player>span:not(.bench-photo-placeholder),.public-bench-player b{width:74px!important}
  .public-bench-player b{min-height:30px!important;padding:5px 2px 4px 20px!important;font-size:8px!important}
  .public-bench-player small{width:18px!important;height:30px!important;font-size:6.5px!important}
}

/* Uitslag-tijdlijn gebruikt dezelfde tekstkleuren, zonder pijlen. */
.result-timeline .timeline-swap b{color:#fff!important}.result-timeline .timeline-swap em{font-style:normal;font-weight:900}.result-timeline .timeline-swap .sub-out em{color:#ff5661!important}.result-timeline .timeline-swap .sub-in em{color:#42df78!important}.result-timeline .timeline-swap i{display:none!important}

/* Wisselspelersgedeelte terug in de blauwe clubstijl. */
details.public-lineup-bench{
  border-top:3px solid #ffdc18!important;
  background:linear-gradient(145deg,#0750a1,#03295d)!important;
  color:#fff!important;
}
details.public-lineup-bench>summary{background:transparent!important;color:#fff!important}
details.public-lineup-bench>summary small{border-color:#3f8dca!important;background:#063873!important;color:#d9ecff!important}
details.public-lineup-bench>summary:after{border-color:#ffdc18!important;color:#ffdc18!important}
details.public-lineup-bench>div{background:transparent!important}

/* Nummer en naam als één ononderbroken donkerblauwe balk. */
.lineup-live-card .public-pitch .lineup-slot b,.public-bench-player b{
  border:1px solid #ffdc18!important;
  background:linear-gradient(180deg,#07458c,#03295d)!important;
  box-shadow:0 5px 11px #001322aa!important;
}
.lineup-live-card .lineup-slot .lineup-shirt-number,.public-bench-player small{
  background:transparent!important;
  border:0!important;
  border-right:1px solid #ffdc18!important;
  box-shadow:none!important;
}

/* De twee tekstvakken delen dezelfde balk en dezelfde verticale uitlijning. */
.lineup-live-card .public-pitch .lineup-slot b.lineup-namebar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  padding:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}
.lineup-live-card .public-pitch .lineup-slot b.lineup-namebar.has-number{
  grid-template-columns:28px minmax(0,1fr);
}
.lineup-live-card .lineup-slot .lineup-namebar>span{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0;
  margin:0!important;
  padding:7px 4px!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:1.1!important;
  text-align:center!important;
  color:#fff!important;
}
.lineup-live-card .lineup-slot .lineup-namebar>.namebar-number{
  color:#ffdc18!important;
  border-right:1px solid #ffdc18;
  font-variant-numeric:tabular-nums;
}
@media(max-width:560px){
  .lineup-live-card .public-pitch .lineup-slot b.lineup-namebar.has-number{grid-template-columns:22px minmax(0,1fr)}
  .lineup-live-card .lineup-slot .lineup-namebar>span{padding:6px 2px!important}
}

/* Seizoenskaart: ruim spelersportret met clublicht en rustige typografie. */
#tab-seizoen .season-expanded-card{border-radius:22px;overflow:hidden;box-shadow:0 14px 32px #00163040}
#tab-seizoen .season-profile-hero{
  display:grid;grid-template-columns:45% minmax(0,1fr);
  min-height:310px;gap:8px;padding:24px 24px 0 12px;
  background:radial-gradient(ellipse at 24% 45%,#268ade 0,transparent 55%),linear-gradient(125deg,#0756a5,#031d44);
}
#tab-seizoen .season-profile-hero:before{width:270px;height:270px;right:-100px;opacity:.12}
#tab-seizoen .season-profile-hero>img{
  width:100%;height:290px;min-width:0;align-self:end;
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 12px 15px #00132980);
}
#tab-seizoen .season-profile-copy{min-width:0;padding:0 0 105px 8px;align-self:center}
#tab-seizoen .season-profile-hero h3{font-size:clamp(23px,2.2vw,34px);line-height:1.06;letter-spacing:-.025em;overflow-wrap:break-word}
#tab-seizoen .season-profile-hero h3:after{width:40px;height:4px;margin-top:14px}
#tab-seizoen .season-profile-nickname{margin:12px 0;font-size:13px}
#tab-seizoen .season-profile-meta{gap:8px}
#tab-seizoen .season-profile-meta small{font-size:11px}
#tab-seizoen .season-shirt-back{top:auto;bottom:15px;right:26px;width:72px;transform:none;opacity:.95}
#tab-seizoen .season-shirt-back>strong{font-size:28px}
#tab-seizoen .season-player-values>span{border-radius:16px;min-height:130px}
#tab-seizoen .season-player-values strong{font-size:34px;letter-spacing:-.025em}
#tab-seizoen .season-player-tabs{padding:5px;gap:4px}
#tab-seizoen .season-player-tabs button{border-radius:10px}
@media(min-width:561px) and (max-width:1050px){
  #tab-seizoen .season-expanded-card{grid-template-columns:minmax(0,1fr)}
  #tab-seizoen .season-profile-hero{grid-column:1;grid-row:1}
  #tab-seizoen .season-player-tabs{grid-column:1;grid-row:2}
  #tab-seizoen .season-stats-side{grid-column:1;grid-row:3}
}
@media(max-width:560px){
  #tab-seizoen .season-profile-hero{min-height:255px;grid-template-columns:43% minmax(0,1fr);padding:18px 14px 0 4px;gap:5px}
  #tab-seizoen .season-profile-hero>img{height:245px}
  #tab-seizoen .season-profile-copy{padding:0 0 85px 4px}
  #tab-seizoen .season-profile-hero h3{font-size:22px}
  #tab-seizoen .season-profile-nickname{font-size:11px}
  #tab-seizoen .season-shirt-back{width:60px;right:20px;bottom:12px}
  #tab-seizoen .season-shirt-back>strong{font-size:23px}
  #tab-seizoen .season-player-values>span{min-height:88px;border-radius:10px}
  #tab-seizoen .season-player-values strong{font-size:24px}
}

/* Fotokaart voor het seizoen, gebaseerd op het gekozen spelerskaartontwerp. */
#tab-seizoen .season-expanded-card.season-trading-card{
  display:flex;flex-direction:column;max-width:620px;margin:18px auto;
  border:2px solid #ffdc18;border-radius:26px;background:#031b3d;
  box-shadow:0 18px 45px #00102070;
}
.season-card-brand{display:flex;align-items:center;gap:16px;padding:22px 26px;background:#031b3d}
.season-card-brand img{width:58px;height:58px;object-fit:contain}
.season-card-brand div{display:grid;gap:7px;border-left:1px solid #8fafd0;padding-left:16px}
.season-card-brand b{color:#fff;font-size:16px;letter-spacing:.15em}
.season-card-brand small{color:#a9c6e6;font-size:11px;letter-spacing:.2em}
#tab-seizoen .season-trading-card .season-profile-hero{
  display:flex;flex-direction:column;gap:0;min-height:0;padding:0;isolation:isolate;
  background:radial-gradient(ellipse at 14% 24%,#53aaf5a0,transparent 35%),radial-gradient(ellipse at 90% 20%,#2486dba0,transparent 35%),linear-gradient(#05366acc,#031b3d),url('assets/hatto-stadium-scoreboard.webp') center/cover;
}
#tab-seizoen .season-trading-card .season-profile-hero:before,
#tab-seizoen .season-trading-card .season-profile-hero:after{display:none}
#tab-seizoen .season-trading-card .season-card-number{
  position:absolute;right:20px;top:10px;z-index:-1;color:#5595ec50;
  font-size:clamp(130px,25vw,260px);font-weight:950;line-height:1;letter-spacing:-.08em;
}
#tab-seizoen .season-trading-card .season-profile-hero>img{
  width:88%;height:440px;align-self:center;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 10px 18px #00132f70);
  mask-image:linear-gradient(#000 86%,transparent 100%);
}
#tab-seizoen .season-trading-card .season-profile-copy{
  width:100%;box-sizing:border-box;align-self:center;padding:0 20px 20px;margin-top:-18px;
  text-align:center;
}
#tab-seizoen .season-trading-card .season-profile-hero h3{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:0 0 12px;color:white}
#tab-seizoen .season-trading-card .season-profile-hero h3:after{display:none}
#tab-seizoen .season-trading-card .season-profile-meta{justify-content:center}
#tab-seizoen .season-trading-card .season-profile-meta span{border:0;background:none;color:#ffdc18;font-size:12px;letter-spacing:.22em}
#tab-seizoen .season-trading-card .season-profile-meta small{display:none}
#tab-seizoen .season-trading-card .season-profile-nickname{font-size:16px;color:#acc8e7;margin:0 0 10px}
#tab-seizoen .season-trading-card .season-stats-side{display:contents}
#tab-seizoen .season-trading-card .season-player-values{order:2;padding:18px 10px;margin:0 22px;border-top:1px solid #6583a2;gap:0}
#tab-seizoen .season-trading-card .season-player-values>span{min-height:90px;border:0;border-right:1px solid #6583a2;border-radius:0;background:none;padding:6px 3px;box-shadow:none}
#tab-seizoen .season-trading-card .season-player-values>span:last-child{border-right:0}
#tab-seizoen .season-trading-card .season-player-values strong{font-size:36px}
#tab-seizoen .season-trading-card .season-player-tabs{order:3;display:flex;margin:0 20px 20px;padding:0;border:1px solid #54789e;border-radius:22px;overflow:hidden;background:none;gap:0}
#tab-seizoen .season-trading-card .season-player-tabs button{flex:1;min-width:0;padding:13px 3px;font-size:11px;border:0;border-radius:20px}
#tab-seizoen .season-trading-card .season-match-moments{order:4;padding:0 20px 20px}
@media(max-width:560px){
  #tab-seizoen .season-expanded-card.season-trading-card{margin:10px auto;border-radius:20px}
  .season-card-brand{padding:16px;gap:10px}
  .season-card-brand img{width:43px;height:43px}
  .season-card-brand b{font-size:12px}
  .season-card-brand small{font-size:9px}
  #tab-seizoen .season-trading-card .season-profile-hero>img{height:320px;width:96%}
  #tab-seizoen .season-trading-card .season-player-values{margin:0 10px;padding:12px 0}
  #tab-seizoen .season-trading-card .season-player-values strong{font-size:26px}
  #tab-seizoen .season-trading-card .season-player-tabs{margin:0 10px 14px}
  #tab-seizoen .season-trading-card .season-match-moments{padding:0 10px 14px}
}

/* Compacte variant houdt het portret en de cijfers binnen een korte kaart. */
#tab-seizoen .season-expanded-card.season-trading-card{max-width:460px;margin:10px auto;border-radius:20px}
#tab-seizoen .season-trading-card .season-card-brand{padding:12px 18px;gap:10px}
#tab-seizoen .season-trading-card .season-card-brand img{width:38px;height:38px}
#tab-seizoen .season-trading-card .season-card-brand b{font-size:12px}
#tab-seizoen .season-trading-card .season-card-brand small{font-size:9px}
#tab-seizoen .season-trading-card .season-profile-hero>img{height:240px}
#tab-seizoen .season-trading-card .season-card-number{font-size:170px;color:#ffdc18}
#tab-seizoen .season-trading-card .season-profile-copy{padding:0 14px 12px;margin-top:-12px}
#tab-seizoen .season-trading-card .season-profile-hero h3{font-size:28px;margin-bottom:7px}
#tab-seizoen .season-trading-card .season-profile-nickname{font-size:12px;margin-bottom:5px}
#tab-seizoen .season-trading-card .season-profile-meta span{font-size:10px;padding:3px}
#tab-seizoen .season-trading-card .season-player-values{padding:10px 0;margin:0 14px}
#tab-seizoen .season-trading-card .season-player-values>span{min-height:68px;padding:3px}
#tab-seizoen .season-trading-card .season-player-values strong{font-size:26px}
#tab-seizoen .season-trading-card .season-player-tabs{margin:0 12px 12px}
#tab-seizoen .season-trading-card .season-player-tabs button{padding:9px 3px}
#tab-seizoen .season-trading-card .season-match-moments{padding:0 12px 12px}
@media(max-width:560px){
  #tab-seizoen .season-trading-card .season-profile-hero>img{height:200px;width:90%}
  #tab-seizoen .season-trading-card .season-profile-hero h3{font-size:24px}
  #tab-seizoen .season-trading-card .season-card-number{font-size:145px}
}

/* Geel omlijnd rugnummer in een eigen vlak rechts naast het portret. */
#tab-seizoen .season-trading-card .season-profile-hero:has(.season-card-number)>img{
  width:68%;align-self:center;position:relative;z-index:1;
}
#tab-seizoen .season-trading-card .season-card-number{
  position:absolute;top:46px;right:8%;z-index:0;
  display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;width:38%;height:130px;padding:0;
  border:0;border-radius:0;background:none;
  color:transparent;-webkit-text-stroke:2px #ffdc18;
  font-family:"Arial Black",Arial,sans-serif;
  font-size:112px;font-weight:900;line-height:1;
  letter-spacing:-.04em;font-variant-numeric:tabular-nums;
  box-shadow:none;text-shadow:none;
  pointer-events:none;
}
@media(max-width:560px){
  #tab-seizoen .season-trading-card .season-card-number{
    top:34px;height:112px;font-size:clamp(66px,22vw,98px);
    -webkit-text-stroke:1.5px #ffdc18;
  }
}

/* Oude nummerpositie voor eventueel nog gecachte opstellingsmarkup. */
.lineup-live-card .lineup-slot .lineup-shirt-number{
  top:auto!important;
  bottom:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 0 1px!important;
  line-height:1!important;
  text-align:center!important;
}
@media(max-width:560px){
  .lineup-live-card .lineup-slot .lineup-shirt-number{padding-bottom:0!important}
}
/* Ruimere opstelling: iedere speler en naambalk krijgt een eigen, vrij rastervak. */
.lineup-live-card .public-pitch.lineup-pitch{
  min-height:680px!important;
  row-gap:26px!important;
  column-gap:8px!important;
  padding:34px 20px 26px!important;
}

.lineup-live-card .public-pitch.lineup-pitch .lineup-place{
  transform:none!important;
}

@media(max-width:700px){
  .lineup-live-card .public-pitch.lineup-pitch{
    min-height:630px!important;
    grid-template-columns:repeat(13,minmax(0,1fr))!important;
    row-gap:30px!important;
    column-gap:0!important;
    padding:32px 5px 24px!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(1){grid-column:7!important;grid-row:4!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2){grid-column:13!important;grid-row:3!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(3){grid-column:9!important;grid-row:3!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(4){grid-column:5!important;grid-row:3!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5){grid-column:1!important;grid-row:3!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(6){grid-column:11!important;grid-row:2!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(7){grid-column:7!important;grid-row:2!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(8){grid-column:3!important;grid-row:2!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(9){grid-column:13!important;grid-row:1!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(10){grid-column:7!important;grid-row:1!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(11){grid-column:1!important;grid-row:1!important}

  /* Buitenste spelers binnen de krijtlijnen houden, zonder de tussenruimte te verkleinen. */
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(11){
    justify-self:start!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(9){
    justify-self:end!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-slot{
    width:76px!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-slot b.lineup-namebar{
    width:76px!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-namebar.has-number{
    grid-template-columns:20px minmax(0,1fr)!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .namebar-name{
    padding-inline:3px!important;
    font-size:7.8px!important;
  }
}

@media(max-width:360px){
  .lineup-live-card .public-pitch.lineup-pitch .lineup-slot,
  .lineup-live-card .public-pitch.lineup-pitch .lineup-slot b.lineup-namebar{
    width:70px!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .namebar-name{
    font-size:7.2px!important;
  }
}

/* Mobiele opstelling over de volle kaartbreedte; wissels krijgen echte eigen vakken. */
@media(max-width:700px){
  body.public-app #tab-live .lineup-public>#publicLineup{
    padding-right:0!important;
    padding-left:0!important;
  }

  body.public-app #tab-live .lineup-live-card{
    width:calc(100vw - 8px)!important;
    max-width:none!important;
    margin-right:0!important;
    margin-left:calc(50% - 50vw + 4px)!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch{
    width:100%!important;
    padding-right:8px!important;
    padding-left:8px!important;
  }

  .lineup-live-card details.public-lineup-bench>div{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px 6px!important;
    padding:2px 8px 14px!important;
  }

  .lineup-live-card .public-bench-player{
    width:100%!important;
    min-width:0!important;
  }

  .lineup-live-card .public-bench-player>span:not(.bench-photo-placeholder),
  .lineup-live-card .public-bench-player b{
    width:76px!important;
    max-width:100%!important;
  }

  /* De rugnummers aan de binnenzijde van de backs blijven boven de buurkaart. */
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(4){
    z-index:5!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(3),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5){
    z-index:3!important;
  }

  .lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-number{
    position:relative!important;
    z-index:2!important;
  }

  /* Rechts- en linksback staan iets hoger dan het centrale verdedigingsduo. */
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5){
    transform:translateY(-48px)!important;
  }
}

/* Elke positie beslaat een volledig vak, ook binnen de smallere uitslagkaart. */
@media(max-width:700px){
  .lineup-live-card .public-pitch.lineup-pitch{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place{width:100%!important;min-width:0;justify-self:stretch!important;margin-inline:0!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(1){grid-column:5/9!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2){grid-column:10/13!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(3){grid-column:7/10!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(4){grid-column:4/7!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5){grid-column:1/4!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(6),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(9){grid-column:9/13!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(7),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(10){grid-column:5/9!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(8),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(11){grid-column:1/5!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot{width:calc(100% - 6px)!important;max-width:82px!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;margin-inline:auto!important;padding-inline:0!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar{width:100%!important;min-width:0!important;max-width:100%!important;grid-template-columns:16px minmax(0,1fr)!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar:not(.has-number){grid-template-columns:minmax(0,1fr)!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-name{white-space:normal!important;overflow-wrap:anywhere!important;font-size:8px!important;padding:4px 2px!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-player-frame{max-width:100%!important}
}

/* Aparte beheerpagina's voor wedstrijdlocatie en scheidsrechter. */
.admin-settings-card{max-width:760px;margin:0 auto 18px}
.admin-settings-back{margin-bottom:18px}
#admin-venue .form{display:grid;gap:14px;margin-top:18px}
#admin-venue .form label{display:grid;gap:6px;color:#173b61;font-weight:800}
#admin-venue .form input,#admin-venue .form select{width:100%;min-height:46px;margin:0}
#admin-venue .form button[type="submit"]{justify-self:start;min-width:170px}
#admin-referee .admin-referee-field{margin:18px 0 0}
#admin-referee .admin-referee-field>label{font-size:14px}
#admin-referee .admin-referee-field small{font-size:11px}
@media(max-width:560px){#admin-venue .form button[type="submit"]{width:100%}}

/* De opstellingsbalk volgt de lengte van de naam, met nummer en naam in één vlak. */
.lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar{
  box-sizing:border-box!important;
  display:inline-grid!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:32px!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  justify-self:center!important;
  margin-right:auto!important;
  margin-left:auto!important;
  padding:0!important;
  border:1px solid #ffdc18!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#082957,#03142f)!important;
}
.lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar:not(.has-number){grid-template-columns:minmax(0,1fr)!important}
.lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-number{
  min-width:27px!important;
  padding:0 4px!important;
  border-right:1px solid #ffdc18!important;
  background:transparent!important;
  color:#ffdc18!important;
  font-variant-numeric:tabular-nums;
}
.lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-name{
  min-width:0!important;
  padding:5px 8px!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
  text-align:center!important;
}
@media(max-width:700px){
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar{min-height:27px!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-number{min-width:17px!important;padding:0 2px!important}
  .lineup-live-card .public-pitch.lineup-pitch .lineup-namebar>.namebar-name{padding:4px 3px!important;font-size:8px!important}
}

/* Avondwedstrijd: eigen clubidentiteit, stadionlicht en compacte broadcastbalken. */
.lineup-live-card{border:1px solid #2764a0;border-radius:16px;background:#020e29;box-shadow:0 16px 40px #00102d55}
.lineup-live-card .lineup-live-brand{
  isolation:isolate;overflow:hidden;display:flex!important;flex-direction:column;justify-content:center;
  gap:10px;min-height:220px;padding:24px 16px 22px!important;text-align:center;
  background:linear-gradient(155deg,transparent 38%,#307ed330 38.2%,transparent 38.7%),linear-gradient(25deg,transparent 65%,#388fea22 65.2%,transparent 65.7%),radial-gradient(ellipse at 50% 0,#0d3d7e,transparent 65%),#020e29!important;
}
.lineup-live-card .lineup-live-brand:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0 82%,#e8f7ffbb 0, #459deb70 3%,transparent 24%),radial-gradient(ellipse at 100% 82%,#e8f7ffbb 0,#459deb70 3%,transparent 24%)}
.lineup-live-card .lineup-live-brand:after{content:""!important;display:block!important;position:absolute;bottom:0;left:18%;right:18%;height:2px;margin:0!important;background:linear-gradient(90deg,transparent,#f6d834,transparent);box-shadow:0 0 18px #68b2ff66}
.lineup-live-card .lineup-live-brand>img{width:62px!important;height:62px!important;object-fit:contain;filter:drop-shadow(0 4px 12px #0009)}
.lineup-live-card .lineup-brand-copy{justify-items:center;gap:9px}
.lineup-live-card .lineup-brand-copy small{order:-1;color:#fff;font-size:clamp(18px,3.4vw,30px);font-weight:900;letter-spacing:.035em;line-height:1.15;text-transform:uppercase}
.lineup-live-card .lineup-brand-copy strong{font-size:12px!important;letter-spacing:.3em!important;line-height:1.4!important;color:#d3e5fb;font-weight:750}
.lineup-live-card .lineup-formation-badge{min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#ffdf32;font-size:15px;letter-spacing:.18em;box-shadow:none}
.lineup-live-card .public-pitch.lineup-pitch{
  background-image:linear-gradient(180deg,#020e2910,transparent 40%,#020e2940),url('assets/lineup-stadium-white-crest.webp')!important;
  background-size:100% 100%!important;
  min-height:780px!important;
  padding-top:140px!important;
  box-shadow:inset 0 16px 35px #020e2988,inset 0 -16px 30px #020e2999!important;
}
.lineup-live-card .public-pitch.lineup-pitch:before{display:none}
.lineup-live-card .public-pitch.lineup-pitch .lineup-place .lineup-slot b.lineup-namebar{border-color:#f5d73a!important;border-radius:5px!important;box-shadow:0 5px 10px #00102480!important}
.lineup-live-card details.public-lineup-bench{border-top:1px solid #4f85c066!important;background:linear-gradient(160deg,#092751,#020e29)!important}
.lineup-live-card details.public-lineup-bench>summary{color:#e4efff!important;font-size:12px!important;letter-spacing:.1em!important}
.lineup-live-card .public-bench-player b{background:linear-gradient(180deg,#082957,#03142f)!important;border-color:#f5d73a!important;border-radius:5px!important;box-shadow:0 4px 9px #00102470!important}
@media(min-width:701px){
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(2),
  .lineup-live-card .public-pitch.lineup-pitch .lineup-place:nth-child(5){transform:translateY(-44px)!important}
}
@media(max-width:700px){
  .lineup-live-card .lineup-live-brand{min-height:170px;padding:17px 12px 16px!important;gap:8px}
  .lineup-live-card .public-pitch.lineup-pitch{min-height:740px!important;padding-top:140px!important}
  .lineup-live-card .lineup-live-brand>img{width:48px!important;height:48px!important}
  .lineup-live-card .lineup-brand-copy{gap:7px}
  .lineup-live-card .lineup-brand-copy small{font-size:21px}
  .lineup-live-card .lineup-brand-copy strong{font-size:10px!important;letter-spacing:.25em!important}
  .lineup-live-card .lineup-formation-badge{font-size:13px}
}
