@import url("admin-ui.css");

 .npb-admin{width:100%;max-width:1500px;margin:0 auto 60px}.npb-hero{padding:28px 32px;margin-bottom:24px;border-radius:8px;background:#284373;color:#fff}.npb-hero h1{color:#fff;margin:0 0 6px}.npb-hero p{margin:0}.npb-panel,.npb-card{display:block;background:#fff;border:1px solid #d7dce3;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.npb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.npb-card{text-decoration:none;color:inherit}.npb-card:hover{transform:translateY(-2px)}.npb-table-wrap{overflow-x:auto}.npb-table{width:100%;min-width:1100px;border-collapse:collapse}.npb-table th,.npb-table td{border:1px solid #d7dce3;padding:9px;vertical-align:middle}.npb-table th{background:#284373;color:#fff}.npb-table tbody tr:nth-child(even){background:#f8fafc}.npb-table input,.npb-table select,.npb-search,textarea{width:100%;box-sizing:border-box;border:1px solid #aeb8c4;border-radius:4px;padding:9px;background:#fff}.npb-search{max-width:430px;margin-bottom:18px}.npb-small{max-width:90px}.npb-button{border:0;border-radius:4px;padding:9px 16px;background:#284373;color:#fff;cursor:pointer}.npb-button:hover{background:#1d3154}.npb-success,.npb-error{padding:14px 18px;border-radius:6px;margin-bottom:18px}.npb-success{background:#eaf7ef;color:#16733b}.npb-error{background:#fcecec;color:#a61b1b}textarea{margin-bottom:12px}@media(max-width:700px){.npb-hero,.npb-panel{padding:18px}}.npb-embed-panel{padding:0;overflow:hidden}.npb-embed-frame{display:block;width:100%;min-height:900px;border:0;background:#f5f7fa}
.npb-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}.npb-stat{display:flex;flex-direction:column;padding:20px;border:1px solid #d7dce3;border-radius:8px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}.npb-stat strong{font-size:32px;line-height:1;color:#284373}.npb-stat span{margin-top:7px;color:#5c6773;font-size:14px}.npb-stat-red{border-left:5px solid #b42318}.npb-stat-orange{border-left:5px solid #d97706}.npb-filter-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1fr auto;gap:14px;align-items:end}.npb-filter-grid label{display:block;font-weight:700;margin-bottom:6px}.npb-filter-grid input,.npb-filter-grid select{width:100%;box-sizing:border-box;border:1px solid #aeb8c4;border-radius:4px;padding:9px;background:#fff}.npb-filter-action{padding-bottom:1px}.npb-monitor-table{min-width:1450px}.npb-status,.npb-late{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.npb-status-red{background:#fcecec;color:#a61b1b}.npb-status-orange{background:#fff2db;color:#995b00}.npb-late-ok{background:#eaf7ef;color:#16733b}.npb-late-warning{background:#fff5db;color:#8a5700}.npb-late-danger{background:#fcecec;color:#a61b1b}.npb-muted{color:#77818c}.npb-contact{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #edf0f3}.npb-contact:last-child{border-bottom:0;margin-bottom:0}.npb-actions{display:flex;flex-wrap:wrap;gap:7px}.npb-action{display:inline-block;padding:7px 10px;border:1px solid #284373;border-radius:4px;color:#284373;text-decoration:none;font-size:12px;font-weight:800;background:#fff}.npb-action:hover{background:#eef3f9;text-decoration:none}.npb-action-mail{background:#284373;color:#fff}.npb-action-mail:hover{background:#1d3154;color:#fff}@media(max-width:1100px){.npb-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.npb-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.npb-stat-grid,.npb-filter-grid{grid-template-columns:1fr}}

/* Wedstrijdmonitor 1.4.0 */
.npb-monitor .npb-table th,.npb-monitor .npb-table td{padding:8px 10px;border-width:0 0 1px;vertical-align:middle}.npb-monitor-table{min-width:1420px}.npb-row-missing{background:#fffafa!important}.npb-row-unconfirmed{background:#fffdf7!important}.npb-compact-match{line-height:1.25;white-space:nowrap}.npb-compact-match span{color:#7a8491;font-weight:400}.npb-contact-stack{display:grid;gap:4px;min-width:245px}.npb-contact-line{display:grid;grid-template-columns:38px minmax(110px,1fr) auto;align-items:center;gap:7px;padding:4px 0}.npb-contact-line+.npb-contact-line{border-top:1px solid #edf0f3}.npb-contact-role{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7a8491}.npb-contact-name{font-weight:800;color:#24364f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-contact-links,.npb-action-section{display:flex;gap:5px}.npb-icon-link,.npb-mail-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #c9d2de;border-radius:6px;background:#fff;color:#284373;text-decoration:none;cursor:pointer;transition:.15s ease}.npb-icon-link:hover{background:#edf3fa;border-color:#284373;transform:translateY(-1px)}.npb-icon-link svg,.npb-mail-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.npb-action-groups{display:flex;align-items:center;gap:11px;min-width:225px}.npb-action-divider{width:1px;height:28px;background:#dbe1e8}.npb-mail-form{display:inline-flex;margin:0}.npb-mail-button{border-color:#284373;background:#284373;color:#fff}.npb-mail-button:hover{background:#1d3154;transform:translateY(-1px)}


/* Wedstrijdmonitor 2.0.1 - compact binnen YOOtheme contentbreedte */
.npb-monitor .npb-panel{padding:18px 22px}
.npb-monitor .npb-table-wrap{width:100%;overflow-x:auto}
.npb-monitor-table{width:100%;min-width:1000px;table-layout:fixed}
.npb-monitor-table th,.npb-monitor-table td{padding:7px 8px;font-size:14px}
.npb-monitor-table .npb-col-status{width:92px}
.npb-monitor-table .npb-col-date{width:115px}
.npb-monitor-table .npb-col-days{width:82px}
.npb-monitor-table .npb-col-class{width:95px}
.npb-monitor-table .npb-col-match{width:235px}
.npb-monitor-table .npb-col-score{width:78px}
.npb-monitor-table .npb-col-contact{width:235px}
.npb-monitor-table .npb-col-actions{width:205px}
.npb-monitor-table td{overflow:hidden}
.npb-monitor-table .npb-date{white-space:normal;line-height:1.25}
.npb-monitor-table .npb-date span{display:block}
.npb-monitor-table .npb-compact-match{white-space:normal;line-height:1.25}
.npb-monitor-table .npb-contact-stack{min-width:0}
.npb-monitor-table .npb-contact-line{grid-template-columns:34px minmax(0,1fr) auto;gap:5px;padding:3px 0}
.npb-monitor-table .npb-contact-role{font-size:9px}
.npb-monitor-table .npb-contact-name{font-size:13px}
.npb-monitor-table .npb-icon-link,.npb-monitor-table .npb-mail-button{width:28px;height:28px}
.npb-monitor-table .npb-action-groups{min-width:0;gap:8px;flex-wrap:nowrap}
.npb-monitor-table .npb-action-section{gap:4px}
.npb-monitor-table .npb-action-divider{height:24px}
.npb-monitor-table .npb-status,.npb-monitor-table .npb-late{padding:4px 7px;font-size:11px}
@media(max-width:1250px){
  .npb-monitor .npb-stat-grid{gap:10px}
  .npb-monitor .npb-stat{padding:15px}
  .npb-monitor .npb-stat strong{font-size:27px}
  .npb-monitor .npb-stat span{font-size:12px}
  .npb-monitor .npb-filter-grid{grid-template-columns:1.6fr .8fr 1.1fr .9fr auto;gap:10px}
}
@media(max-width:1050px){
  .npb-monitor-table{min-width:960px}
  .npb-monitor-table .npb-col-match{width:205px}
  .npb-monitor-table .npb-col-contact{width:210px}
  .npb-monitor-table .npb-col-actions{width:190px}
}

/* Wedstrijdmonitor 2.0.2 - herinneringshistorie */
.npb-reminder-history{display:flex;align-items:center;gap:4px;margin-top:6px;color:#667385;font-size:10px;line-height:1.2;white-space:nowrap}
.npb-reminder-history-icon{display:inline-flex;color:#667385}
.npb-reminder-history-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.npb-reminder-history strong{color:#284373}


/* Conflictcontrole 2.0.4 */
.npb-conflicts .npb-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.npb-eyebrow{display:block;margin-bottom:5px;color:#718096;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.npb-hero .npb-eyebrow{color:#dce7f7}
.npb-season-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:118px;padding:13px 18px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(255,255,255,.08)}
.npb-season-badge span{font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.npb-season-badge strong{margin-top:3px;font-size:28px;line-height:1}
.npb-conflict-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.npb-stat-success{border-left:5px solid #27864d}
.npb-section-head{margin-bottom:18px}
.npb-section-head h2{margin:0;color:#24364f}
.npb-section-head p{margin:5px 0 0;color:#6d7784}
.npb-section-head-inline{display:flex;align-items:center;justify-content:space-between;gap:16px}
.npb-status-card{display:flex;align-items:flex-start;gap:14px;padding:17px 19px;border-radius:8px;border:1px solid;margin-bottom:20px}
.npb-status-card strong{display:block;margin-bottom:3px;font-size:16px}
.npb-status-card p{margin:0}
.npb-status-card-success{border-color:#a7d7b7;background:#eef9f2;color:#176a38}
.npb-status-card-danger{border-color:#efb5b5;background:#fff1f1;color:#9f2424}
.npb-status-icon{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:currentColor;color:#fff;font-weight:900}
.npb-status-card-success .npb-status-icon{background:#27864d}
.npb-status-card-danger .npb-status-icon{background:#b42318}
.npb-conflict-list{display:grid;gap:18px}
.npb-conflict-group{overflow:hidden;border:1px solid #d7dce3;border-radius:8px;background:#fff}
.npb-conflict-group-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;background:#f7f9fc;border-bottom:1px solid #d7dce3}
.npb-conflict-location{display:block;color:#24364f;font-weight:800}
.npb-conflict-date{display:block;margin-top:2px;color:#6f7a87;font-size:13px}
.npb-conflict-count,.npb-count-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#284373;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.npb-conflict-table{min-width:760px;margin:0}
.npb-conflict-table th,.npb-conflict-table td{padding:9px 12px;border-width:0 0 1px}
.npb-conflict-table tbody tr:last-child td{border-bottom:0}
.npb-match-link{color:#284373;text-decoration:none}
.npb-match-link:hover{text-decoration:underline}
.npb-match-link span{margin:0 5px;color:#77818c}
.npb-log-compose textarea{min-height:110px;resize:vertical;margin:0}
.npb-field-label{display:block;margin-bottom:7px;color:#24364f;font-weight:800}
.npb-form-actions{display:flex;justify-content:flex-end;margin-top:12px}
.npb-log-list{display:grid;gap:10px}
.npb-log-entry{display:grid;grid-template-columns:175px minmax(0,1fr);gap:18px;padding:14px 16px;border:1px solid #e0e5eb;border-radius:8px;background:#fff}
.npb-log-meta{display:flex;flex-direction:column;gap:4px;color:#697583;font-size:12px}
.npb-log-meta time{color:#24364f;font-weight:800}
.npb-log-meta span{font-weight:700}
.npb-log-message{overflow-wrap:anywhere;color:#25354b;line-height:1.45}
.npb-empty-state{padding:18px;border:1px dashed #cbd3dd;border-radius:8px;background:#fafbfc;color:#6d7784;text-align:center}
@media(max-width:850px){
 .npb-conflicts .npb-hero{align-items:flex-start;flex-direction:column}
 .npb-season-badge{align-items:flex-start;min-width:0}
 .npb-conflict-stats{grid-template-columns:1fr}
 .npb-log-entry{grid-template-columns:1fr;gap:8px}
 .npb-section-head-inline{align-items:flex-start}
}


/* NPB Beheer 3.0 - centrale UI-basis */
.npb-admin,
.npb-monitor,
.npb-conflicts {
    --npb-blue: #284373;
    --npb-blue-dark: #1d3154;
    --npb-orange: #f36f14;
    --npb-border: #d7dce3;
    --npb-muted: #697583;
    box-sizing: border-box;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto 60px;
    color: #17233a;
}
.npb-admin *, .npb-monitor *, .npb-conflicts * { box-sizing: border-box; }
.npb-admin h1, .npb-admin h2, .npb-admin h3,
.npb-monitor h1, .npb-monitor h2, .npb-monitor h3,
.npb-conflicts h1, .npb-conflicts h2, .npb-conflicts h3 { line-height: 1.2; }
.npb-panel { overflow: visible; }
.npb-conflicts .npb-panel { padding: 22px; }
.npb-conflicts .npb-stat-grid { margin-bottom: 22px; }
.npb-conflicts .npb-log-compose textarea {
    display: block;
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid #aeb8c4;
    border-radius: 6px;
    background: #fff;
    color: #17233a;
    font: inherit;
}
.npb-conflicts .npb-button { min-height: 40px; font-weight: 700; }
.npb-conflicts .npb-log-list { max-height: 620px; overflow: auto; padding-right: 3px; }
@media (max-width: 1200px) {
    .npb-admin, .npb-monitor, .npb-conflicts { max-width: 100%; }
}

/* Invalbeurten 3.1 */
.npb-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid #d7dce3}.npb-tabs a{padding:11px 16px;border-radius:7px 7px 0 0;color:#284373;text-decoration:none;font-weight:800}.npb-tabs a.active{background:#284373;color:#fff}.npb-inval-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.npb-basis-top{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:end;margin-bottom:22px}.npb-basis-top select,.npb-audit-filters select,.npb-audit-filters input{width:100%;padding:10px;border:1px solid #aeb8c4;border-radius:6px;background:#fff}.npb-basis-note{padding:13px 15px;border-radius:7px;background:#f3f6fa;color:#5f6b79}.npb-action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.npb-action-card{padding:20px;border:1px solid #d7dce3;border-radius:8px;background:#fff}.npb-action-card h3{margin:0 0 7px;color:#24364f}.npb-action-card p{min-height:48px;color:#697583}.npb-action-warning{border-left:5px solid #d97706}.npb-button-warning{background:#b86b00}.npb-audit-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end}.npb-audit-filters label{display:block;margin-bottom:5px;font-weight:800}.npb-check{padding-bottom:9px}.npb-audit-table{min-width:1000px}.npb-audit-table small{display:block;margin-top:3px;color:#77818c}.npb-status-ok{background:#eaf7ef;color:#16733b}.npb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid #c9d2de;border-radius:6px;background:#fff;color:#284373;cursor:pointer;font-weight:900}.npb-icon-btn:hover{background:#edf3fa}.npb-empty-state{padding:18px!important;text-align:center;color:#697583}.npb-actions{display:flex;gap:6px}@media(max-width:1000px){.npb-action-cards{grid-template-columns:1fr}.npb-audit-filters{grid-template-columns:1fr 1fr}.npb-basis-top{grid-template-columns:1fr}}@media(max-width:650px){.npb-audit-filters,.npb-inval-stats{grid-template-columns:1fr}}


/* Invalbeurten 3.1.2 */
.npb-tabs{display:flex;gap:8px;align-items:center;margin:0 0 20px;padding:6px;border:1px solid #d9e0e9;border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,43,76,.05)}
.npb-tabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:7px;color:#284373;font-weight:800;text-decoration:none}
.npb-tabs a:hover{background:#eef3f9;text-decoration:none}
.npb-tabs a.active{background:#284373;color:#fff}
.npb-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#f97316;color:#fff;font-size:11px;font-weight:900}
.npb-tabs a.active .npb-tab-badge{background:#fff;color:#b45309}
.npb-info-panel{display:grid;grid-template-columns:42px 1fr;gap:16px;margin:0 0 20px;padding:20px 22px;border:1px solid #cfd9e6;border-left:5px solid #284373;border-radius:9px;background:#f8fbff;color:#24364f}
.npb-info-panel h2{margin:0 0 8px;font-size:19px;color:#284373}
.npb-info-panel p{margin:0 0 9px}
.npb-info-panel ul{margin:8px 0 0;padding-left:20px}
.npb-info-panel li+li{margin-top:5px}
.npb-info-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#284373;color:#fff;font-size:20px;font-weight:900;font-family:Georgia,serif}
.npb-legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.npb-legend-grid>div{padding:13px;border:1px solid #dfe5ec;border-radius:8px;background:#fff}
.npb-legend-grid p{margin:8px 0 0;font-size:13px;color:#536171}
.npb-info-note{margin-top:14px!important;padding-top:12px;border-top:1px solid #dbe3ec;color:#536171}
.npb-stat-danger{border-left:5px solid #b42318!important}
.npb-audit-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.npb-legend-grid{grid-template-columns:1fr}.npb-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.npb-tabs{flex-direction:column;align-items:stretch}.npb-tabs a{justify-content:center}.npb-info-panel{grid-template-columns:1fr}.npb-audit-summary{grid-template-columns:1fr}}


/* Invalbeurten 3.2.0 - seizoenstellers en uitgebreidere beslisondersteuning */
.npb-audit-counts{display:flex;flex-wrap:wrap;gap:5px}
.npb-audit-counts span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:4px 7px;border-radius:999px;background:#edf3fa;color:#284373;font-size:11px;font-weight:900}
.npb-audit-counts span.danger{background:#fcecec;color:#a61b1b}
.npb-audit-row-warn{box-shadow:inset 4px 0 0 #d97706}
.npb-audit-row-block{box-shadow:inset 4px 0 0 #b42318;background:#fff8f8!important}
.npb-audit-table{min-width:1250px}
.npb-audit-table td:nth-child(6){min-width:165px}
.npb-audit-table td:nth-child(7){min-width:180px}
.npb-audit-table td:nth-child(8){min-width:145px}
@media(max-width:1200px){
 .npb-audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:750px){
 .npb-audit-filters{grid-template-columns:1fr}
}


/* Audit PRO 3.3.0 */
.npb-section-tools{display:flex;gap:10px;align-items:center}
.npb-button-secondary{background:#eef3f9!important;color:#17345f!important;border:1px solid #ccd8e8!important}
.npb-player-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.npb-player-link strong{color:#17345f;text-decoration:underline;text-decoration-color:#c5d1e1;text-underline-offset:3px}
.npb-player-link:hover strong{color:#d66b00;text-decoration-color:#d66b00}
.npb-type-badge{display:inline-flex;margin:0 6px 5px 0;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#42526b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.npb-type-higher{background:#fff2d8;color:#9a5900}
.npb-type-same{background:#e8f4ff;color:#175d99}
.npb-type-lower{background:#fde8e8;color:#a61b1b}
.npb-type-bound{background:#efe9ff;color:#6542a6}
.npb-type-unknown{background:#eee;color:#555}
.npb-modal[hidden]{display:none}
.npb-modal{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:28px}
.npb-modal-backdrop{position:absolute;inset:0;background:rgba(7,20,39,.72);backdrop-filter:blur(4px)}
.npb-modal-dialog{position:relative;z-index:1;width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#f7f9fc;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.34);padding:28px}
.npb-modal-close{position:absolute;right:18px;top:14px;border:0;background:#e7edf5;width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer}
.npb-modal-open{overflow:hidden}
.npb-dossier-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:5px 48px 22px 2px;border-bottom:1px solid #dce4ee}
.npb-dossier-header h2{margin:3px 0 2px;font-size:29px;color:#142d53}
.npb-dossier-header p{margin:0;color:#68778d}
.npb-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d66b00}
.npb-dossier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.npb-dossier-grid article{background:#fff;border:1px solid #dce4ee;border-radius:15px;padding:16px;box-shadow:0 6px 18px rgba(22,49,87,.06)}
.npb-dossier-grid article span,.npb-dossier-grid article small{display:block;color:#718096}
.npb-dossier-grid article strong{display:block;margin:5px 0;color:#17345f;font-size:17px}
.npb-dossier-allowance,.npb-dossier-history{background:#fff;border:1px solid #dce4ee;border-radius:16px;padding:18px;margin-top:16px}
.npb-dossier-allowance h3,.npb-dossier-history h3{margin:0 0 14px;color:#17345f}
.npb-ball-row{display:grid;grid-template-columns:minmax(210px,1fr) 1.5fr 55px;align-items:center;gap:14px;padding:9px 0;border-top:1px solid #eef2f6}
.npb-ball-row:first-of-type{border-top:0}
.npb-ball-row>div{display:flex;gap:7px}
.npb-ball{width:22px;height:22px;border-radius:50%;display:inline-block;border:2px solid #cbd5e1;background:#fff;box-sizing:border-box}
.npb-ball.used{background:#182b49;border-color:#182b49;box-shadow:inset -5px -5px 0 rgba(255,255,255,.13)}
.npb-ball.free{background:#fff}
.npb-ball.blocked{background:#b42318;border-color:#b42318}
.npb-dossier-history .npb-table{min-width:920px}
@media(max-width:900px){
 .npb-dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .npb-modal{padding:10px}
 .npb-modal-dialog{padding:18px}
}
@media(max-width:600px){
 .npb-dossier-grid{grid-template-columns:1fr}
 .npb-dossier-header{display:block}
 .npb-ball-row{grid-template-columns:1fr}
}


/* Auditreglement nieuwe seizoen 3.4.0 */
.npb-rules-panel{display:grid;grid-template-columns:minmax(260px,.8fr) 2fr;gap:22px;align-items:center;margin:0 0 20px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#102d55,#204d83);color:#fff;box-shadow:0 14px 35px rgba(15,45,85,.18)}
.npb-rules-panel h2{margin:4px 0 6px;color:#fff;font-size:25px}
.npb-rules-panel p{margin:0;color:#d8e6f7;max-width:620px}
.npb-rules-panel .npb-eyebrow{color:#ffb45f}
.npb-rule-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.npb-rule-grid article{min-height:92px;padding:13px;border-radius:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center}
.npb-rule-grid article strong{font-size:25px;color:#fff}
.npb-rule-grid article span{font-size:11px;line-height:1.35;color:#dce8f7}
.npb-rule-grid article.danger{background:rgba(183,39,39,.35);border-color:rgba(255,180,180,.38)}
.npb-rule-reference{margin-top:5px!important;color:#6d55a5!important;font-weight:800!important}
@media(max-width:1100px){
 .npb-rules-panel{grid-template-columns:1fr}
 .npb-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
 .npb-rule-grid{grid-template-columns:1fr 1fr}
}


/* NPB Agenda 3.5.0 */
.npb-agenda-page{max-width:1180px;margin:0 auto}
.npb-agenda-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;margin-bottom:18px;border-radius:20px;background:linear-gradient(135deg,#102d55,#1e518b);color:#fff;box-shadow:0 16px 38px rgba(16,45,85,.18)}
.npb-agenda-header h1{margin:3px 0 5px;color:#fff;font-size:32px}.npb-agenda-header p{margin:0;color:#dbe8f7}.npb-agenda-header .npb-eyebrow{color:#ffb45f}
.npb-agenda-search{margin:0 0 16px}.npb-agenda-search label{display:block;margin-bottom:6px;font-weight:800;color:#17365f}.npb-agenda-search input{width:100%;box-sizing:border-box;padding:13px 15px;border:1px solid #d9e0e8;border-radius:11px;background:#fff;font:inherit}
.npb-agenda-table-wrap{overflow:auto;border:1px solid #e2e7ee;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(18,45,78,.08)}
.npb-agenda-table{width:100%;border-collapse:collapse;min-width:900px}.npb-agenda-table th{padding:13px 14px;text-align:left;background:#f3f6fa;color:#17365f;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.npb-agenda-table td{padding:13px 14px;border-top:1px solid #e8edf3;vertical-align:middle}.npb-agenda-table tbody tr:hover{background:#f9fbfd}
.npb-agenda-week{white-space:nowrap;font-weight:800;color:#33506f}.npb-agenda-badge{display:inline-block;min-width:150px;box-sizing:border-box;padding:8px 11px;border-radius:8px;background:#315f96;color:#fff;font-size:13px;font-weight:800;text-align:center}
.npb-agenda-cup .npb-agenda-badge{background:#ee7623}.npb-agenda-competition .npb-agenda-badge{background:#173a70}.npb-agenda-holiday td{background:#fff8e9;border-top-color:#f3d39d}.npb-agenda-holiday .npb-agenda-badge{background:#c5902f}.npb-agenda-event .npb-agenda-badge{background:#337b68}.npb-agenda-empty{text-align:center;padding:45px!important;color:#66788d}
@media(max-width:760px){.npb-agenda-header{align-items:flex-start;flex-direction:column}.npb-agenda-header .npb-button{width:100%;text-align:center}.npb-agenda-table{min-width:720px}.npb-agenda-table th:nth-child(6),.npb-agenda-table td:nth-child(6){display:none}}


/* Frontend agendabeheer 3.6.0 */
.npb-manage-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.npb-hero-actions,.npb-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.npb-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;border:0;border-radius:9px;font:inherit;font-weight:800;text-decoration:none!important;cursor:pointer;box-sizing:border-box}
.npb-button-primary{background:#ed741d;color:#fff!important}
.npb-button-primary:hover{background:#ce5c0c;color:#fff!important}
.npb-button-secondary{background:#173e70;color:#fff!important}
.npb-button-secondary:hover{background:#102f57;color:#fff!important}
.npb-button-light{background:#fff;color:#173e70!important;border:1px solid #d5dfeb}
.npb-button-light:hover{background:#f3f7fb;color:#173e70!important}
.npb-button-danger{background:#a92e2e;color:#fff!important}
.npb-button-danger:hover{background:#8d2020;color:#fff!important}
.npb-agenda-admin-table small{display:block;margin-top:3px;color:#6d7888}
.npb-check-column{width:34px}
.npb-empty-state{text-align:center;padding:42px!important;color:#687486}
.npb-row-link{font-weight:800;color:#173e70;text-decoration:none}
.npb-row-link:hover{text-decoration:underline}
.npb-agenda-type{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.npb-agenda-type-competition{background:#dce9fb;color:#123b73}
.npb-agenda-type-cup{background:#ffead9;color:#a64407}
.npb-agenda-type-event{background:#e6f6ec;color:#17653a}
.npb-agenda-type-holiday{background:#fff1c9;color:#795400}
.npb-agenda-type-other{background:#ececf1;color:#4e5260}
.npb-publish-state{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;text-decoration:none!important;white-space:nowrap}
.npb-publish-state.is-published{background:#dff5e7;color:#17673a}
.npb-publish-state.is-unpublished{background:#fff0c8;color:#765100}
.npb-icon-action{font-weight:800;color:#173e70;text-decoration:none}
.npb-form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.75fr);gap:20px;align-items:start}
.npb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.npb-field{display:flex;flex-direction:column;gap:7px}
.npb-field-wide{grid-column:1/-1}
.npb-field label{font-weight:850;color:#1d2d40}
.npb-field input,.npb-field select,.npb-field textarea{width:100%;box-sizing:border-box;border:1px solid #ccd7e4;border-radius:9px;background:#fff;padding:11px 12px;color:#15283d;font:inherit;transition:border-color .15s,box-shadow .15s}
.npb-field textarea{resize:vertical}
.npb-field input:focus,.npb-field select:focus,.npb-field textarea:focus{outline:0;border-color:#ed741d;box-shadow:0 0 0 3px rgba(237,116,29,.13)}
.npb-field small,.npb-help-text{color:#6a7685;font-size:12px;line-height:1.5}
.npb-publication-panel{position:sticky;top:20px}
.npb-form-actions{margin-top:20px;padding:17px 0}
@media(max-width:900px){
 .npb-manage-hero{align-items:flex-start;flex-direction:column}
 .npb-form-layout{grid-template-columns:1fr}
 .npb-publication-panel{position:static}
}
@media(max-width:650px){
 .npb-form-grid{grid-template-columns:1fr}
 .npb-field-wide{grid-column:auto}
 .npb-agenda-admin-table th:nth-child(5),
 .npb-agenda-admin-table td:nth-child(5),
 .npb-agenda-admin-table th:nth-child(7),
 .npb-agenda-admin-table td:nth-child(7){display:none}
}


/* CueScore agenda synchronisatie 3.7.0 */
.npb-cuescore-sync{border-top:4px solid #ed741d}
.npb-sync-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:14px;align-items:end}
.npb-sync-submit{display:flex;align-items:flex-end}
.npb-source-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1f5;color:#4c5968;font-size:11px;font-weight:900;white-space:nowrap}
.npb-source-cuescore{background:#181818;color:#fff}
.npb-external-link{display:block;margin-top:5px;font-size:11px;font-weight:800;color:#ed741d}
.npb-external-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.npb-external-info p{margin:0;color:#637084;font-size:13px}
.npb-external-info small{color:#697588}
.npb-panel-divider{border:0;border-top:1px solid #e0e7ef;margin:20px 0}
.npb-cuescore-link{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:7px;background:#181818;color:#fff!important;font-size:11px;font-weight:900;text-decoration:none!important}
.npb-cuescore-link:hover{background:#ed741d;color:#fff!important}
@media(max-width:950px){
 .npb-sync-form{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .npb-sync-form{grid-template-columns:1fr}
 .npb-sync-submit .npb-button{width:100%}
}


/* NPB Agenda PRO 3.8.0 */
.npb-agenda-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.npb-agenda-summary article{display:flex;flex-direction:column;gap:2px;padding:17px 19px;border:1px solid #e1e7ef;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(18,45,78,.06)}
.npb-agenda-summary strong{font-size:25px;line-height:1;color:#173a70}
.npb-agenda-summary span{font-size:12px;font-weight:750;color:#66778a}
.npb-agenda-tools{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:end;margin:0 0 16px}
.npb-agenda-tools .npb-agenda-search{margin:0}
.npb-agenda-filter label{display:block;margin-bottom:6px;font-weight:800;color:#17365f}
.npb-agenda-filter select{width:100%;box-sizing:border-box;padding:13px 15px;border:1px solid #d9e0e8;border-radius:11px;background:#fff;font:inherit;color:#17365f}
.npb-agenda-title-link{display:inline;font-weight:900;color:#102f61;text-decoration:none}
.npb-agenda-title-link:hover{color:#ed741d;text-decoration:underline}
.npb-cuescore-mini-badge{display:inline-flex;margin-top:6px;padding:4px 8px;border-radius:999px;background:#171717;color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em}
.npb-cuescore-cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:8px;background:#171717;color:#fff!important;font-size:12px;font-weight:900;text-decoration:none!important;white-space:nowrap}
.npb-cuescore-cta:hover{background:#ed741d;color:#fff!important}
.npb-agenda-note{margin-bottom:8px;line-height:1.45;color:#31445c}
.npb-agenda-muted{color:#a0a9b5}
.npb-agenda-date strong{display:block;white-space:nowrap}
.npb-agenda-date small{display:block;margin-top:3px;color:#617085}
.npb-agenda-info{min-width:150px}
.npb-agenda-table tbody tr{transition:background-color .15s,box-shadow .15s}
.npb-agenda-table tbody tr:hover{background:#f7fafd;box-shadow:inset 4px 0 0 #ed741d}
@media(max-width:900px){
 .npb-agenda-summary{grid-template-columns:1fr 1fr 1fr}
 .npb-agenda-tools{grid-template-columns:1fr}
}
@media(max-width:760px){
 .npb-agenda-summary{grid-template-columns:1fr}
 .npb-agenda-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
 .npb-agenda-table{min-width:0;border-collapse:separate;border-spacing:0 12px}
 .npb-agenda-table thead{display:none}
 .npb-agenda-table tbody,.npb-agenda-table tr,.npb-agenda-table td{display:block;width:100%;box-sizing:border-box}
 .npb-agenda-table tr{padding:14px 16px;border:1px solid #e1e7ef;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(18,45,78,.07)}
 .npb-agenda-table td{display:grid!important;grid-template-columns:125px minmax(0,1fr);gap:12px;padding:8px 0;border:0}
 .npb-agenda-table td::before{content:attr(data-label);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#718096}
 .npb-agenda-table tbody tr:hover{box-shadow:0 8px 20px rgba(18,45,78,.07);background:#fff}
 .npb-agenda-badge{min-width:0;text-align:left}
 .npb-agenda-info{min-width:0}
 .npb-agenda-empty{display:block!important;text-align:center}
}
@media(max-width:480px){
 .npb-agenda-table td{grid-template-columns:1fr;gap:4px}
 .npb-agenda-table td::before{margin-bottom:2px}
}


/* Agenda-abonnementen en badge-uitlijning 3.9.0 */
.npb-agenda-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.npb-agenda-event-content{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.npb-agenda-event-content .npb-cuescore-mini-badge{display:inline-flex;margin:0;align-self:flex-start}
.npb-dialog-open{overflow:hidden}
.npb-subscribe-dialog[hidden]{display:none}
.npb-subscribe-dialog{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.npb-subscribe-backdrop{position:absolute;inset:0;background:rgba(8,23,43,.68);backdrop-filter:blur(3px)}
.npb-subscribe-panel{position:relative;width:min(760px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;padding:25px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.npb-subscribe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.npb-subscribe-head h2{margin:4px 0 5px;color:#153a6c;font-size:27px}
.npb-subscribe-head p{margin:0;color:#667589}
.npb-subscribe-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#edf2f7;color:#18375f;font-size:27px;line-height:1;cursor:pointer}
.npb-subscribe-close:hover{background:#e0e8f1}
.npb-subscribe-options{display:grid;gap:10px}
.npb-subscribe-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid #dfe6ee;border-radius:12px;background:#fafbfd}
.npb-subscribe-option strong{display:block;color:#163963;font-size:15px}
.npb-subscribe-option small{display:block;margin-top:3px;color:#6c7a8d}
.npb-subscribe-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.npb-copy-feed{min-height:40px;padding:8px 12px;border:1px solid #cfd9e4;border-radius:8px;background:#fff;color:#173a68;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.npb-copy-feed:hover{background:#f1f5f9}
.npb-subscribe-help{display:flex;gap:8px;margin-top:17px;padding:13px 14px;border-radius:10px;background:#fff5e8;color:#6d4a1d;font-size:12px;line-height:1.5}
@media(max-width:760px){
 .npb-agenda-header-actions{width:100%;justify-content:flex-start}
 .npb-subscribe-option{align-items:flex-start;flex-direction:column}
 .npb-subscribe-actions{width:100%}
 .npb-subscribe-actions .npb-button,.npb-copy-feed{flex:1}
}
@media(max-width:500px){
 .npb-subscribe-dialog{padding:10px}
 .npb-subscribe-panel{max-height:calc(100vh - 20px);padding:19px}
 .npb-subscribe-actions{flex-direction:column}
 .npb-subscribe-actions .npb-button,.npb-copy-feed{width:100%}
 .npb-subscribe-help{flex-direction:column}
}


/* Agenda leesbaarheid en historie 3.9.1 */
.npb-subscribe-actions .npb-button-secondary{
    background:#173e70!important;
    color:#fff!important;
    border:1px solid #173e70!important;
    opacity:1!important;
}
.npb-subscribe-actions .npb-button-secondary:hover{
    background:#0f2f58!important;
    color:#fff!important;
}
.npb-subscribe-actions .npb-button-secondary:visited{
    color:#fff!important;
}
.npb-agenda-tools{
    grid-template-columns:minmax(0,1fr) 260px 220px;
}
.npb-agenda-history-control{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:5px;
    min-height:70px;
}
.npb-switch-row{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:48px;
    padding:0 13px;
    border:1px solid #d9e0e8;
    border-radius:11px;
    background:#fff;
    color:#17365f;
    font-weight:800;
    cursor:pointer;
    box-sizing:border-box;
}
.npb-switch-row input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:#ed741d;
}
.npb-agenda-history-control small{
    color:#6c7888;
    font-size:11px;
}
.npb-agenda-past{
    opacity:.76;
}
@media(max-width:1050px){
    .npb-agenda-tools{
        grid-template-columns:1fr 1fr;
    }
    .npb-agenda-history-control{
        grid-column:1/-1;
    }
}
@media(max-width:700px){
    .npb-agenda-tools{
        grid-template-columns:1fr;
    }
    .npb-agenda-history-control{
        grid-column:auto;
    }
}


/* Agenda filteruitlijning 3.9.2 */
.npb-agenda-tools{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px 300px;
    gap:14px;
    align-items:end;
}
.npb-agenda-search,
.npb-agenda-filter,
.npb-agenda-history-control{
    min-width:0;
}
.npb-agenda-history-control{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:5px;
    min-height:0;
}
.npb-switch-row{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:100%;
    min-height:48px;
    margin:0;
    padding:0 16px;
    border:1px solid #d9e0e8;
    border-radius:11px;
    background:#fff;
    color:#17365f;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    box-sizing:border-box;
}
.npb-switch-row input{
    flex:0 0 auto;
    width:18px;
    height:18px;
    margin:0;
    accent-color:#ed741d;
}
.npb-switch-row span{
    display:block;
}
.npb-agenda-history-control small{
    min-height:14px;
    margin:0;
    color:#6c7888;
    font-size:11px;
    line-height:1.25;
}
.npb-agenda-history-control small[hidden]{
    visibility:hidden;
    display:block!important;
}
@media(max-width:1100px){
    .npb-agenda-tools{
        grid-template-columns:minmax(0,1fr) 250px;
    }
    .npb-agenda-history-control{
        grid-column:1/-1;
        width:min(100%,300px);
        justify-self:end;
    }
}
@media(max-width:760px){
    .npb-agenda-tools{
        grid-template-columns:1fr;
    }
    .npb-agenda-history-control{
        grid-column:auto;
        width:100%;
        justify-self:stretch;
    }
}


/* NPB Agenda PRO 4.0 */
.npb-agenda-pro{--npb-blue:#173e70;--npb-orange:#f17821;--npb-line:#dfe6ee}
.npb-agenda-controls{display:grid;grid-template-columns:minmax(0,1fr) 260px 300px;gap:14px;align-items:end;margin-bottom:16px}
.npb-control-label{display:block;margin-bottom:6px;font-weight:800;color:#17365f}
.npb-agenda-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.npb-legend-item{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e0e6ee;border-radius:999px;background:#fff;color:#45566c;font-size:11px;font-weight:850}
.npb-legend-item i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-style:normal;font-weight:950;color:#fff}
.npb-category-competition i,.npb-event-card.npb-category-competition .npb-event-marker{background:#2f66a3}
.npb-category-cup i,.npb-event-card.npb-category-cup .npb-event-marker{background:#f17821}
.npb-category-tournament i,.npb-event-card.npb-category-tournament .npb-event-marker{background:#278a72}
.npb-category-event i,.npb-event-card.npb-category-event .npb-event-marker{background:#7353a4}
.npb-category-holiday i,.npb-event-card.npb-category-holiday .npb-event-marker{background:#b72d2d}
.npb-category-other i,.npb-event-card.npb-category-other .npb-event-marker{background:#687487}
.npb-week-timeline{display:grid;gap:18px}
.npb-week-group{border:1px solid var(--npb-line);border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(22,55,93,.07)}
.npb-week-header{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 18px;background:linear-gradient(135deg,#173e70,#23568d);color:#fff}
.npb-week-number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border-radius:13px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2)}
.npb-week-number span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#d8e5f3}
.npb-week-number strong{font-size:24px;line-height:1;color:#fff}
.npb-week-header h2{margin:0;color:#fff;font-size:19px}
.npb-week-header p{margin:3px 0 0;color:#dbe7f4;font-size:12px}
.npb-week-count{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:850;white-space:nowrap}
.npb-week-items{display:grid}
.npb-event-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px 18px;border-bottom:1px solid #e7ecf2;background:#fff}
.npb-event-card:last-child{border-bottom:0}
.npb-event-card:hover{background:#f8fafc}
.npb-event-marker{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:#fff;font-weight:950}
.npb-event-main{min-width:0}
.npb-event-topline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.npb-event-category{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#63738a}
.npb-event-title{display:block;margin:0;color:#153967;font-size:16px;font-weight:900;line-height:1.35;text-decoration:none}
a.npb-event-title:hover{color:#f17821;text-decoration:underline}
.npb-event-subtitle{margin:4px 0 0;color:#5e6c7f;font-size:12px}
.npb-event-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:8px;color:#4c5e74;font-size:12px}
.npb-event-meta span{display:inline-flex;gap:5px}
.npb-event-meta b{color:#173e70}
.npb-event-notes{margin:8px 0 0;color:#59697d;font-size:12px;line-height:1.5}
.npb-event-action{display:flex;align-items:center;justify-content:flex-end}
.npb-event-past{opacity:.78}
.npb-week-past .npb-week-header{background:linear-gradient(135deg,#53677f,#687d95)}
.npb-no-results,.npb-agenda-empty{padding:35px;text-align:center;border:1px dashed #cfd8e4;border-radius:14px;background:#fafbfd;color:#657487}
@media(max-width:1050px){
 .npb-agenda-controls{grid-template-columns:1fr 1fr}
 .npb-agenda-history-control{grid-column:1/-1;width:min(100%,300px);justify-self:end}
}
@media(max-width:760px){
 .npb-agenda-controls{grid-template-columns:1fr}
 .npb-agenda-history-control{grid-column:auto;width:100%;justify-self:stretch}
 .npb-agenda-legend{display:grid;grid-template-columns:1fr 1fr}
 .npb-week-header{grid-template-columns:62px minmax(0,1fr)}
 .npb-week-count{display:none}
 .npb-event-card{grid-template-columns:38px minmax(0,1fr)}
 .npb-event-action{grid-column:2;justify-content:flex-start;margin-top:2px}
}
@media(max-width:500px){
 .npb-agenda-header-actions{width:100%;flex-direction:column}
 .npb-agenda-header-actions .npb-button{width:100%}
 .npb-agenda-legend{grid-template-columns:1fr}
 .npb-week-header{padding:13px}
 .npb-event-card{padding:14px 13px;gap:11px}
 .npb-event-meta{flex-direction:column;gap:5px}
}


/* NPB Agenda PRO 4.1 - maand- en mobiele weergave */
.npb-view-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:10px 12px;border:1px solid #e0e6ee;border-radius:12px;background:#fff}
.npb-view-switch>span{font-weight:850;color:#17365f}
.npb-view-switch>div{display:flex;gap:4px;padding:4px;border-radius:9px;background:#edf2f7}
.npb-view-switch button{min-height:36px;padding:7px 14px;border:0;border-radius:7px;background:transparent;color:#52647a;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.npb-view-switch button.is-active{background:#173e70;color:#fff;box-shadow:0 3px 8px rgba(23,62,112,.2)}
.npb-month-timeline{display:grid;gap:22px}
.npb-month-group{border:1px solid #dfe6ee;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(22,55,93,.07)}
.npb-month-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;background:linear-gradient(135deg,#173e70,#23568d);color:#fff}
.npb-month-header span{display:block;margin-bottom:3px;color:#ffb05c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.npb-month-header h2{margin:0;color:#fff;font-size:23px}
.npb-month-header>strong{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:10px;white-space:nowrap}
.npb-month-items{display:grid}
.npb-month-event{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid #e7ecf2}
.npb-month-event:last-child{border-bottom:0}
.npb-month-event:hover{background:#f8fafc}
.npb-month-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:58px;border-radius:12px;background:#edf3f9;color:#173e70}
.npb-month-date strong{font-size:21px;line-height:1}
.npb-month-date span{margin-top:4px;font-size:10px;font-weight:900;text-transform:uppercase}
.npb-month-event-body{min-width:0}
.npb-week-pill{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf2f7;color:#596a7f;font-size:9px;font-weight:900}
@media(max-width:760px){
 .npb-view-switch{align-items:flex-start;flex-direction:column}
 .npb-view-switch>div{width:100%;box-sizing:border-box}
 .npb-view-switch button{flex:1}
 .npb-month-header{padding:14px 15px}
 .npb-month-header h2{font-size:20px}
 .npb-month-event{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:14px 13px}
 .npb-month-date{width:46px;height:52px}
 .npb-month-date strong{font-size:19px}
 .npb-month-event .npb-event-action{grid-column:2;justify-content:flex-start;width:100%;margin-top:3px}
 .npb-month-event .npb-cuescore-cta{width:100%;box-sizing:border-box}
 .npb-month-event .npb-event-meta{display:grid;grid-template-columns:1fr;gap:5px;margin-top:9px}
 .npb-month-event .npb-event-meta span{display:grid;grid-template-columns:58px minmax(0,1fr);gap:6px}
 .npb-week-group .npb-event-card{grid-template-columns:38px minmax(0,1fr)}
 .npb-week-group .npb-event-meta{display:grid;grid-template-columns:1fr;gap:5px}
 .npb-week-group .npb-event-meta span{display:grid;grid-template-columns:58px minmax(0,1fr);gap:6px}
}
@media(max-width:430px){
 .npb-month-event{grid-template-columns:1fr}
 .npb-month-date{width:100%;height:auto;min-height:42px;flex-direction:row;gap:6px}
 .npb-month-date span{margin:0}
 .npb-month-event .npb-event-action{grid-column:1}
 .npb-event-topline{align-items:flex-start}
}

/* NPB Agenda PRO 4.2 - beheerinterface */
.npb-agenda-manage-v42 .npb-admin-list-head{align-items:center}
.npb-bulkbar{display:flex;gap:8px;align-items:center}
.npb-bulkbar select{min-width:190px;min-height:42px;border:1px solid #d7e0ea;border-radius:9px;padding:0 12px;background:#fff;color:#17365f;font-weight:700}
.npb-admin-filters{display:grid;grid-template-columns:minmax(260px,1.3fr) repeat(3,minmax(170px,1fr)) auto;gap:14px;align-items:end;margin:18px 0;padding:16px;border:1px solid #dfe6ee;border-radius:14px;background:#f8fafc}
.npb-admin-search label,.npb-filter-group>span{display:block;margin-bottom:7px;color:#17365f;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.npb-admin-search input{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #d7e0ea;border-radius:10px;padding:0 13px;background:#fff}
.npb-filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.npb-filter-chip{min-height:34px;border:1px solid #ccd7e4;border-radius:999px;padding:6px 11px;background:#fff;color:#29445f;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.npb-filter-chip:hover{border-color:#24568d;background:#eef4fa}
.npb-filter-chip.is-active{border-color:#173e70;background:#173e70;color:#fff;box-shadow:0 3px 8px rgba(23,62,112,.16)}
.npb-filter-actions{display:flex;align-items:flex-end}
.npb-agenda-admin-table-v42{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}
.npb-agenda-admin-table-v42 th{padding:12px 14px;background:#173e70;color:#fff;border:0;text-align:left;font-size:12px}
.npb-agenda-admin-table-v42 th:first-child{border-radius:10px 0 0 0}.npb-agenda-admin-table-v42 th:last-child{border-radius:0 10px 0 0}
.npb-agenda-admin-table-v42 th:nth-child(1){width:38px}.npb-agenda-admin-table-v42 th:nth-child(2){width:125px}.npb-agenda-admin-table-v42 th:nth-child(3){width:145px}.npb-agenda-admin-table-v42 th:nth-child(5){width:160px}.npb-agenda-admin-table-v42 th:nth-child(6){width:125px}.npb-agenda-admin-table-v42 th:nth-child(7){width:95px}
.npb-agenda-admin-table-v42 td{padding:14px;border:0;border-bottom:1px solid #e5ebf1;vertical-align:middle;background:#fff}
.npb-agenda-admin-table-v42 tbody tr:nth-child(even) td{background:#f8fafc}
.npb-agenda-admin-table-v42 tbody tr:hover td{background:#f1f6fb}
.npb-agenda-admin-table-v42 tr[hidden]{display:none}
.npb-week-label,.npb-date-line{display:block}.npb-date-line{margin-top:5px;color:#53677d;font-size:12px}.npb-date-line small{display:block;margin-top:2px}
.npb-agenda-admin-table-v42 .npb-agenda-type,.npb-agenda-admin-table-v42 .npb-source-badge{display:table;margin:0 0 6px}.npb-agenda-admin-table-v42 .npb-source-badge{margin-bottom:0}
.npb-row-title{display:block;color:#173e70;font-weight:850;line-height:1.35;text-decoration:none}.npb-row-title:hover{text-decoration:underline}.npb-activity-cell small{display:block;margin-top:4px;color:#64778b}.npb-activity-cell .npb-external-link{display:inline-block;margin-top:7px}
.npb-agenda-admin-table-v42 .npb-publish-state{white-space:nowrap}.npb-actions-column{text-align:right}
@media(max-width:1180px){.npb-admin-filters{grid-template-columns:1fr 1fr}.npb-filter-actions{grid-column:2;justify-content:flex-end}}
@media(max-width:820px){.npb-admin-list-head{align-items:stretch!important;flex-direction:column}.npb-bulkbar{width:100%}.npb-bulkbar select{flex:1}.npb-admin-filters{grid-template-columns:1fr}.npb-filter-actions{grid-column:1;justify-content:flex-start}.npb-agenda-table-wrap{overflow:visible}.npb-agenda-admin-table-v42,.npb-agenda-admin-table-v42 tbody{display:block}.npb-agenda-admin-table-v42 thead{display:none}.npb-agenda-admin-table-v42 tr.npb-agenda-admin-row{display:grid;grid-template-columns:34px 1fr;gap:0;margin:0 0 12px;border:1px solid #dfe6ee;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 5px 16px rgba(23,54,95,.05)}.npb-agenda-admin-table-v42 td{display:block!important;padding:11px 13px!important;border-bottom:1px solid #edf1f5!important;background:#fff!important}.npb-agenda-admin-table-v42 td:first-child{grid-row:1/7;display:flex!important;align-items:flex-start;justify-content:center;padding-top:16px!important;border-right:1px solid #edf1f5}.npb-agenda-admin-table-v42 td:not(:first-child)::before{content:attr(data-label);display:block;margin-bottom:4px;color:#7b8b9c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.npb-agenda-admin-table-v42 td:last-child{border-bottom:0!important}.npb-agenda-admin-table-v42 #npb-no-results{display:table-row}}


/* NPB Agenda PRO 4.2.1 - uitlijning en verwijderen */
.npb-agenda-manage-v42 .npb-agenda-table-wrap{width:100%;overflow-x:auto}
.npb-agenda-admin-table-v42{width:100%!important;min-width:1120px!important;max-width:none!important;table-layout:fixed!important}
.npb-agenda-admin-table-v42 col.npb-col-check{width:48px}
.npb-agenda-admin-table-v42 col.npb-col-week{width:145px}
.npb-agenda-admin-table-v42 col.npb-col-type{width:150px}
.npb-agenda-admin-table-v42 col.npb-col-activity{width:auto}
.npb-agenda-admin-table-v42 col.npb-col-location{width:180px}
.npb-agenda-admin-table-v42 col.npb-col-status{width:135px}
.npb-agenda-admin-table-v42 col.npb-col-actions{width:190px}
.npb-agenda-admin-table-v42 th,.npb-agenda-admin-table-v42 td{box-sizing:border-box}
.npb-agenda-admin-table-v42 th:nth-child(n),.npb-agenda-admin-table-v42 td:nth-child(n){width:auto}
.npb-agenda-admin-table-v42 td:first-child,.npb-agenda-admin-table-v42 th:first-child{text-align:center}
.npb-agenda-admin-table-v42 .npb-activity-cell{min-width:0}
.npb-agenda-admin-table-v42 .npb-row-title{overflow-wrap:anywhere}
.npb-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;white-space:nowrap}
.npb-icon-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;box-sizing:border-box;border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.npb-edit-action{border:1px solid #cdd9e6;background:#fff;color:#173e70!important}
.npb-edit-action:hover{background:#eef4fa;text-decoration:none}
.npb-delete-action{border:1px solid #efc5c5;background:#fff7f7;color:#a72d2d}
.npb-delete-action:hover{border-color:#a72d2d;background:#a72d2d;color:#fff}
@media(max-width:820px){
 .npb-agenda-admin-table-v42{min-width:0!important}
 .npb-agenda-admin-table-v42 colgroup{display:none}
 .npb-row-actions{flex-wrap:wrap}
 .npb-edit-action,.npb-delete-action{flex:1}
 .npb-agenda-admin-table-v42 td:first-child{grid-row:1/8}
}

/* NPB Agenda PRO 4.2.2 - kalenderweergave */
.npb-calendar-view{margin-top:0}
.npb-calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;border:1px solid #dfe6ee;border-radius:14px;background:#fff}
.npb-calendar-toolbar h2{margin:0;color:#173e70;text-align:center;font-size:24px}
.npb-calendar-toolbar button{width:44px;height:40px;border:1px solid #ccd8e5;border-radius:10px;background:#fff;color:#173e70;font-size:28px;line-height:1;cursor:pointer}
.npb-calendar-toolbar button:hover:not(:disabled){border-color:#173e70;background:#eef4fa}
.npb-calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}
.npb-calendar-weekdays,.npb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.npb-calendar-weekdays{border:1px solid #dfe6ee;border-bottom:0;border-radius:14px 14px 0 0;background:#173e70;color:#fff;overflow:hidden}
.npb-calendar-weekdays span{padding:10px;text-align:center;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.npb-calendar-grid{border-top:1px solid #dfe6ee;border-left:1px solid #dfe6ee;background:#fff}
.npb-calendar-day{min-width:0;min-height:138px;padding:9px;border-right:1px solid #dfe6ee;border-bottom:1px solid #dfe6ee;background:#fff}
.npb-calendar-day-empty{background:#f5f7fa}
.npb-calendar-day-number{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px;color:#173e70;font-weight:900}
.npb-calendar-day-number>span{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%}
.npb-calendar-day-number small{color:#f26d16;font-size:9px;text-transform:uppercase}
.npb-calendar-day.is-today{background:#fffaf5;box-shadow:inset 0 0 0 2px #f26d16}
.npb-calendar-day.is-today .npb-calendar-day-number>span{background:#f26d16;color:#fff}
.npb-calendar-day-events{display:grid;gap:5px}
.npb-calendar-event{display:block;min-width:0;border-left:4px solid #65758b;border-radius:6px;padding:6px 7px;background:#eef2f6;color:#17365f;font-size:10px;font-weight:800;line-height:1.25;text-decoration:none;overflow:hidden}
.npb-calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.npb-calendar-event:hover{filter:brightness(.97);text-decoration:none}
.npb-calendar-event.npb-category-competition{border-left-color:#2c6fad;background:#eaf3fb}
.npb-calendar-event.npb-category-cup{border-left-color:#f27521;background:#fff0e5}
.npb-calendar-event.npb-category-tournament{border-left-color:#208d78;background:#e8f6f2}
.npb-calendar-event.npb-category-event{border-left-color:#6c4ba8;background:#f0ebf8}
.npb-calendar-event.npb-category-holiday{border-left-color:#c52b2f;background:#fdeced}
.npb-calendar-event.npb-category-other{border-left-color:#65758b;background:#eef2f6}
.npb-calendar-event[hidden]{display:none!important}
@media(max-width:900px){
 .npb-calendar-day{min-height:112px;padding:6px}
 .npb-calendar-event{padding:5px;font-size:9px}
 .npb-calendar-day-number small{display:none}
}
@media(max-width:680px){
 .npb-calendar-toolbar h2{font-size:19px}
 .npb-calendar-weekdays span{padding:8px 2px;font-size:9px}
 .npb-calendar-grid{min-width:700px}
 .npb-calendar-month{overflow-x:auto;padding-bottom:6px}
 .npb-calendar-day{min-height:105px}
}


/* NPB Agenda PRO 4.2.3 - compact beheer en geforceerde desktop-tabel */
@media (min-width:821px){
  .npb-agenda-manage-v42 .npb-agenda-table-wrap{
    width:100%;
    overflow-x:auto;
  }
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42{
    display:table!important;
    width:100%!important;
    min-width:1040px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
  }
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 colgroup{display:table-column-group!important}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 thead{display:table-header-group!important}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 tbody{display:table-row-group!important}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 tr{display:table-row!important}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 th,
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 td{
    display:table-cell!important;
    padding:8px 10px!important;
    vertical-align:middle!important;
  }
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 td::before{content:none!important;display:none!important}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 td:first-child{
    display:table-cell!important;
    border-right:0!important;
    text-align:center!important;
  }
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-check{width:44px}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-week{width:120px}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-type{width:125px}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-activity{width:auto}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-location{width:145px}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-status{width:115px}
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 col.npb-col-actions{width:175px}
  .npb-agenda-manage-v42 .npb-week-label{font-size:14px;line-height:1.15}
  .npb-agenda-manage-v42 .npb-date-line{margin-top:3px;font-size:10px;line-height:1.25}
  .npb-agenda-manage-v42 .npb-date-line small{display:inline;margin-left:3px}
  .npb-agenda-manage-v42 .npb-agenda-type,
  .npb-agenda-manage-v42 .npb-source-badge{
    display:inline-flex!important;
    margin:0 4px 0 0!important;
    vertical-align:middle;
    font-size:10px;
    line-height:1;
    padding:5px 7px;
  }
  .npb-agenda-manage-v42 .npb-row-title{
    font-size:14px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .npb-agenda-manage-v42 .npb-activity-cell small{
    margin-top:2px;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .npb-agenda-manage-v42 .npb-activity-cell .npb-external-link{margin-top:3px;font-size:10px}
  .npb-agenda-manage-v42 .npb-row-actions{gap:5px;justify-content:flex-end}
  .npb-agenda-manage-v42 .npb-icon-action{min-height:30px;padding:4px 8px;font-size:11px;border-radius:6px}
  .npb-agenda-manage-v42 .npb-publish-state{font-size:10px;padding:6px 8px}
}

/* Compactere filterbalk zodat de lijst hoger op de pagina begint */
.npb-agenda-manage-v42 .npb-admin-filters{margin:12px 0;padding:12px;gap:10px}
.npb-agenda-manage-v42 .npb-admin-search input{min-height:38px}
.npb-agenda-manage-v42 .npb-filter-chip{min-height:30px;padding:4px 9px;font-size:11px}
.npb-agenda-manage-v42 .npb-admin-search label,
.npb-agenda-manage-v42 .npb-filter-group>span{margin-bottom:5px;font-size:10px}

/* NPB Agenda PRO 4.2.4 - filterfix
   De compacte desktopregels uit 4.2.3 gebruikten display:table-row!important.
   Daardoor kon het HTML hidden-attribuut gefilterde regels niet meer verbergen. */
.npb-agenda-manage-v42 .npb-agenda-admin-table-v42 tr[hidden],
.npb-agenda-manage-v42 .npb-agenda-admin-table-v42 .npb-agenda-admin-row[hidden]{
  display:none!important;
}

@media (max-width:820px){
  .npb-agenda-manage-v42 .npb-agenda-admin-table-v42 tr.npb-agenda-admin-row[hidden]{
    display:none!important;
  }
}

/* Documenten PRO 4.3.0 Beta */
.npb-document-toolbar{display:flex;gap:16px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.npb-document-toolbar input[type="search"]{min-width:260px;max-width:420px}.npb-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.npb-document-card{display:flex;gap:18px;border:1px solid #e5e7eb;border-radius:14px;padding:20px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.05)}.npb-document-card[hidden],.npb-doc-row[hidden]{display:none!important}.npb-document-icon{flex:0 0 54px;height:68px;border-radius:10px;background:#b42318;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.04em}.npb-document-content{min-width:0;flex:1}.npb-document-content h2{font-size:1.15rem;margin:8px 0}.npb-document-content p{margin:0 0 14px;color:#52606d}.npb-document-meta,.npb-document-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#667085;font-size:.88rem}.npb-document-stats{margin-top:14px}.npb-document-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.npb-document-actions .npb-button{flex:1;text-align:center}.npb-type-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#f3f4f6;color:#344054;font-weight:700}.npb-document-admin-filters{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto}.npb-documents-table td:first-child,.npb-documents-table th:first-child{width:42px}.npb-documents-table td:nth-child(2){min-width:280px}.npb-documents-table td:nth-child(2) small{display:block;color:#667085;margin-top:4px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npb-row-actions{display:flex;gap:10px;white-space:nowrap}.npb-current-file{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px}.npb-status-badge{text-decoration:none}
@media(max-width:900px){.npb-document-admin-filters{grid-template-columns:1fr 1fr}.npb-documents-table{min-width:900px}}@media(max-width:640px){.npb-document-grid{grid-template-columns:1fr}.npb-document-card{padding:16px}.npb-document-toolbar input[type="search"]{min-width:100%;width:100%}.npb-document-admin-filters{grid-template-columns:1fr}}

/* Documenten PRO: statusknop gebruikt POST met Joomla-token */
.npb-documents-table button.npb-status-badge {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
}


/* Agenda PRO 4.3.0 Beta 5 - bijlagen */
.npb-current-attachment{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 12px;padding:14px 16px;border:1px solid #d7e0ec;border-radius:10px;background:#f7f9fc}.npb-current-attachment strong{display:block;margin-bottom:4px}.npb-current-attachment a,.npb-agenda-attachment-link{overflow-wrap:anywhere}.npb-remove-attachment{display:flex;align-items:center;gap:7px;white-space:nowrap}.npb-event-attachment{margin-top:12px}.npb-event-attachment a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #d6e0ed;border-radius:8px;background:#fff;font-weight:700;text-decoration:none}.npb-event-attachment a:hover{border-color:#f47721;color:#d85d08}.npb-agenda-attachment-link{display:block;margin-top:6px;font-size:.84rem;font-weight:700;text-decoration:none}@media(max-width:640px){.npb-current-attachment{align-items:flex-start;flex-direction:column}.npb-remove-attachment{white-space:normal}}

/* Agenda kalender: klikbare informatie en bijlage */
.npb-calendar-event-open{width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;font-family:inherit;position:relative}
.npb-calendar-event-open:focus-visible{outline:3px solid rgba(242,117,33,.35);outline-offset:2px}
.npb-calendar-paperclip{position:absolute;right:4px;top:4px;font-size:10px;line-height:1}
.npb-calendar-event-open .npb-calendar-paperclip+span{padding-right:14px}
.npb-calendar-detail-dialog[hidden]{display:none!important}
.npb-calendar-detail-dialog{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px}
.npb-dialog-backdrop{position:absolute;inset:0;border:0;background:rgba(10,28,52,.66);cursor:pointer}
.npb-calendar-detail-panel{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:30px}
.npb-dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#17365f;font-size:32px;line-height:1;cursor:pointer}
.npb-calendar-detail-panel h2{margin:6px 38px 20px 0;color:#17365f}
.npb-calendar-detail-meta{display:grid;gap:10px;margin:0 0 18px}
.npb-calendar-detail-meta>div{display:grid;grid-template-columns:90px 1fr;gap:12px}
.npb-calendar-detail-meta dt{font-weight:800;color:#17365f}
.npb-calendar-detail-meta dd{margin:0}
.npb-calendar-detail-notes{white-space:pre-line;margin:0 0 20px}
.npb-calendar-detail-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:600px){.npb-calendar-detail-panel{padding:24px 20px}.npb-calendar-detail-meta>div{grid-template-columns:1fr;gap:2px}}

/* Locaties PRO 4.4.0 Beta 1 */
.npb-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.npb-location-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(127,127,127,.22);border-radius:16px;background:var(--npb-surface,#fff);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.npb-location-card>img{width:100%;height:190px;object-fit:cover}
.npb-location-card-placeholder,.npb-location-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);font-size:52px;min-height:190px}
.npb-location-card-content{display:flex;flex:1;flex-direction:column;padding:22px}
.npb-location-card-content h2{margin:0 0 8px;font-size:1.3rem}
.npb-location-card-content .npb-document-actions{margin-top:auto;padding-top:14px}
.npb-location-city{font-weight:600}
.npb-location-detail-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);gap:32px;align-items:start}
.npb-location-hero-image{width:100%;max-height:460px;object-fit:cover;border-radius:16px}
.npb-location-description{margin-top:28px;padding-top:24px;border-top:1px solid rgba(127,127,127,.2)}
@media(max-width:760px){.npb-location-detail-grid{grid-template-columns:1fr}.npb-location-card>img{height:170px}}

/* Locaties PRO 4.4.2 Beta 3 - overzichtskaart en filters */
.npb-location-overview-panel { overflow: visible; }
.npb-location-map-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.npb-location-map-header h2 { margin:4px 0 0; }
.npb-location-map { width:100%; border-radius:16px; overflow:hidden; background:#eef1f5; box-shadow:0 10px 28px rgba(12,31,64,.10); }
.npb-location-map-overview { height:500px; }
.npb-location-map-detail { height:380px; }
.npb-location-map-empty { margin-bottom:24px; }
.npb-location-filters { display:grid; grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(220px,1fr) auto; gap:14px; align-items:end; margin:26px 0 20px; }
.npb-location-filters label { display:flex; flex-direction:column; gap:7px; font-weight:700; color:#0b1f4d; }
.npb-location-filters input,
.npb-location-filters select { width:100%; min-height:46px; border:1px solid #d8dee8; border-radius:10px; padding:0 13px; background:#fff; color:#101828; font:inherit; }
.npb-location-filters input:focus,
.npb-location-filters select:focus { outline:2px solid rgba(244,112,17,.22); border-color:#f47011; }
.npb-location-results-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:10px 0 18px; }
.npb-location-results-header h2 { margin:0; }
.npb-location-results-header span { font-weight:700; color:#667085; }
.npb-location-card[hidden] { display:none !important; }
.npb-location-card { scroll-margin-top:130px; }
.npb-location-card:hover { transform:translateY(-2px); }
.npb-location-card:focus-within { box-shadow:0 0 0 3px rgba(244,112,17,.18),0 12px 30px rgba(12,31,64,.12); }
.leaflet-popup-content a { color:#f47011; font-weight:700; }
.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large { background:rgba(244,112,17,.25); }
.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div { background:#f47011; color:#fff; font-weight:800; }

@media (max-width: 980px) {
  .npb-location-filters { grid-template-columns:1fr 1fr; }
  .npb-location-filter-search { grid-column:1 / -1; }
  .npb-location-filters .npb-button { width:100%; }
  .npb-location-map-overview { height:420px; }
}
@media (max-width: 640px) {
  .npb-location-map-header { align-items:stretch; flex-direction:column; }
  .npb-location-map-header .npb-button { width:100%; }
  .npb-location-filters { grid-template-columns:1fr; }
  .npb-location-filter-search { grid-column:auto; }
  .npb-location-map-overview { height:340px; border-radius:12px; }
  .npb-location-results-header { align-items:flex-start; flex-direction:column; gap:4px; }
}

/* 4.4.3 Beta 4 - SportsManager-koppeling */
.npb-location-tags{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.npb-location-tags span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d7e4fb;font-size:.78rem;font-weight:800;color:#173f86}.npb-location-competition-tags span{background:#fff3e8;border-color:#ffd8b5;color:#b84d00}.npb-location-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.npb-location-stats>div{padding:12px 8px;border:1px solid #d9e5f5;border-radius:14px;text-align:center;background:#f8fbff}.npb-location-stats strong{display:block;font-size:1.35rem;color:#102f68}.npb-location-stats span{display:block;margin-top:4px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.npb-sm-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.npb-sm-detail-grid h3{margin-top:0}.npb-sm-detail-grid p{margin:6px 0}.npb-help-panel p{margin-bottom:0}.npb-location-filters{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(170px,1fr)) auto}@media(max-width:900px){.npb-sm-detail-grid{grid-template-columns:1fr}.npb-location-filters{grid-template-columns:1fr 1fr}.npb-location-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.npb-location-filters{grid-template-columns:1fr}.npb-location-stats{grid-template-columns:1fr}}

/* Locaties PRO 4.4.4 Beta 5 */
.npb-settings-inline{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:18px;align-items:end}
.npb-settings-actions{display:flex;gap:10px;flex-wrap:wrap}
.npb-location-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.npb-location-card{min-height:100%;transition:transform .18s ease,box-shadow .18s ease}
.npb-location-card-content{gap:4px}
.npb-location-card-content h2{min-height:2.6em}
.npb-location-association{margin:8px 0 2px;font-weight:700;color:#173f86}
.npb-location-tables{margin:4px 0}
.npb-location-stats-compact{margin:14px 0 8px;gap:8px}
.npb-location-stats-compact>div{padding:10px 5px;border-radius:12px}
.npb-location-stats-compact strong{font-size:1.18rem}
.npb-location-stats-compact span{font-size:.61rem}
.npb-location-card-content .npb-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.npb-location-card-content .npb-document-actions .npb-button{width:100%;justify-content:center}
@media(max-width:760px){.npb-settings-inline{grid-template-columns:1fr}.npb-settings-actions{flex-direction:column}.npb-settings-actions .npb-button{width:100%}}

/* Locaties PRO 4.4.5 Beta 6 - rustige, gelijke locatiekaarten */
.npb-location-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.npb-location-card{
  min-width:0;
  height:100%;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(12,31,64,.08);
}
.npb-location-card>img,
.npb-location-card-placeholder{
  height:190px;
  min-height:190px;
}
.npb-location-card-content{
  min-width:0;
  padding:22px 22px 20px;
  gap:0;
}
.npb-location-card-content h2{
  min-height:0;
  margin:0 0 10px;
  overflow-wrap:anywhere;
  color:#f47011;
  font-size:1.25rem;
  line-height:1.18;
}
.npb-location-city{
  margin:0 0 12px;
  color:#102f68;
}
.npb-location-association{
  display:inline-flex;
  align-self:flex-start;
  max-width:100%;
  margin:4px 0 12px;
  padding:6px 10px;
  overflow:hidden;
  border:1px solid #d7e4fb;
  border-radius:999px;
  background:#eef4ff;
  color:#173f86;
  font-size:.8rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.npb-location-tables{margin:0 0 10px;color:#4b5565}
.npb-location-stats-compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:10px 0 18px;
}
.npb-location-stats-compact>div{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:"icon value" "label label";
  justify-content:center;
  align-content:center;
  min-width:0;
  min-height:80px;
  padding:10px 6px;
  border-radius:14px;
}
.npb-location-stats-compact .npb-stat-icon{
  grid-area:icon;
  align-self:center;
  margin-right:6px;
  color:#f47011;
  font-size:1rem;
  line-height:1;
}
.npb-location-stats-compact strong{
  grid-area:value;
  align-self:center;
  font-size:1.22rem;
  line-height:1;
}
.npb-location-stats-compact>div>span:last-child{
  grid-area:label;
  margin-top:7px;
  overflow-wrap:anywhere;
  font-size:.61rem;
  line-height:1.2;
}
.npb-location-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  width:100%;
  margin-top:auto!important;
  padding-top:0!important;
}
.npb-location-card-actions .npb-button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:48px;
  padding:10px 12px;
  text-align:center;
  white-space:normal;
}
.npb-location-card-actions .npb-button span{margin-right:7px;font-size:1rem}

@media(max-width:1100px){
  .npb-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .npb-location-grid{grid-template-columns:1fr;gap:20px}
  .npb-location-card>img,.npb-location-card-placeholder{height:180px;min-height:180px}
}
@media(max-width:390px){
  .npb-location-card-actions{grid-template-columns:1fr}
}


/* Locaties PRO 4.4.6 Beta 7 */
.npb-location-linked-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.npb-location-info-card{position:relative;padding:24px;border:1px solid #e6e9ee;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(18,37,63,.06)}
.npb-location-info-card h2{margin:0 0 16px;font-size:1.2rem}
.npb-location-info-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;margin-bottom:14px;border-radius:12px;background:#fff3e8;font-size:1.25rem}
.npb-location-chip-list{display:flex;flex-wrap:wrap;gap:9px}
.npb-location-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#f3f6f9;color:#172b4d;font-weight:700;font-size:.9rem}
.npb-location-teams-section{margin-top:24px}
.npb-location-teams-section .npb-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.npb-count-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#172b4d;color:#fff;font-size:.82rem;font-weight:800;white-space:nowrap}
.npb-location-team-list{display:grid;gap:10px}
.npb-location-team-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;border:1px solid #e7ebf0;border-radius:13px;background:#fbfcfd}
.npb-location-team-row div{display:flex;flex-direction:column;gap:3px}
.npb-location-team-row div span{color:#667085;font-size:.88rem}
.npb-location-team-competition{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff3e8;color:#9b4b00;font-size:.82rem;font-weight:800;text-align:right}
@media(max-width:720px){.npb-location-linked-grid{grid-template-columns:1fr}.npb-location-team-row{align-items:flex-start;flex-direction:column}.npb-location-team-competition{text-align:left}.npb-location-teams-section .npb-section-head{align-items:flex-start;flex-direction:column}}

/* Locaties PRO 4.4.6 Beta 7a - GPS-status */
.npb-gps-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap}.npb-gps-badge.has-gps{background:#eaf7ef;color:#16733b}.npb-gps-badge.no-gps{background:#fcecec;color:#a61b1b}.npb-loc-row-no-gps{background:#fff7f7!important}.npb-loc-row-no-gps:hover{background:#fff0f0!important}


/* Locaties PRO 4.4.6 Beta 7b - frontend kaartfix + cacheverversing */
.npb-locations-public .npb-location-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.npb-locations-public .npb-location-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  overflow:hidden;
  border-radius:18px;
}
.npb-locations-public .npb-location-card>img,
.npb-locations-public .npb-location-card-placeholder{
  width:100%;
  height:190px;
  min-height:190px;
  object-fit:cover;
}
.npb-locations-public .npb-location-card-content{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px;
}
.npb-locations-public .npb-location-card-content h2{
  margin:0 0 10px;
  min-height:0;
  font-size:1.22rem;
  line-height:1.2;
}
.npb-locations-public .npb-location-stats-compact{
  margin-top:12px;
}
.npb-locations-public .npb-location-card-actions{
  margin-top:auto!important;
}
@media(max-width:1100px){
  .npb-locations-public .npb-location-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .npb-locations-public .npb-location-grid{grid-template-columns:1fr;}
  .npb-locations-public .npb-location-card>img,
  .npb-locations-public .npb-location-card-placeholder{height:170px;min-height:170px;}
}


/* Beta 7e: mobiele actieknoppen op locatie-detailpagina */
.npb-location-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
@media (max-width: 640px) {
    .npb-location-contact-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .npb-location-contact-actions .npb-button {
        width: 100%;
        justify-content: center;
        min-height: 48px;
    }
}

/* NPB Beheer 4.5.0 Beta 1 - Competitie PRO */
.npb-competition-hero {
    margin-bottom: 24px;
}

.npb-competition-filter {
    margin-bottom: 28px;
}

.npb-competition-filter form {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.npb-season-control {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: min(100%, 320px);
}

.npb-season-control select {
    width: 100%;
    min-height: 46px;
    padding: 10px 42px 10px 14px;
    border: 1px solid #d7dce2;
    border-radius: 10px;
    background: #fff;
    color: #17202a;
    font: inherit;
}

.npb-competition-heading {
    margin: 0 0 18px;
}

.npb-competition-heading h2 {
    margin: 3px 0 0;
}

.npb-competition-grid {
    display: grid;
    gap: 14px;
}

.npb-competition-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20, 31, 45, .06);
}

.npb-competition-card-main {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
}

.npb-competition-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #f3d500;
    font-size: 23px;
}

.npb-competition-card h2 {
    margin: 0 0 5px;
    font-size: clamp(1.08rem, 2vw, 1.28rem);
}

.npb-competition-meta {
    margin: 0;
    color: #66717d;
    font-size: .94rem;
}

.npb-empty-state {
    padding: 28px;
    text-align: center;
}

.npb-empty-state h2 {
    margin-top: 0;
}

@media (max-width: 640px) {
    .npb-competition-filter form,
    .npb-competition-card {
        align-items: stretch;
        flex-direction: column;
    }

    .npb-season-control {
        min-width: 100%;
    }

    .npb-competition-card .npb-button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .npb-competition-card-main {
        align-items: flex-start;
    }

    .npb-competition-meta {
        line-height: 1.55;
    }
}

/* Competitie PRO 4.5.0 Beta 2 */
.npb-standings-list{display:grid;gap:28px;margin-top:26px}.npb-standings-card{overflow:hidden;background:#fff;border:1px solid #e7edf5;border-radius:18px;box-shadow:0 14px 34px rgba(20,49,91,.08)}.npb-standings-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:linear-gradient(135deg,#0f438e,#1768ce);color:#fff}.npb-standings-header h2{margin:2px 0 0;color:#fff}.npb-standings-header .npb-eyebrow{color:rgba(255,255,255,.76)}.npb-standings-header .npb-count-badge{background:rgba(255,255,255,.16);color:#fff}.npb-standings-table-wrap{overflow-x:auto}.npb-standings-table{width:100%;border-collapse:collapse;min-width:760px}.npb-standings-table th{padding:15px 14px;background:#f2f6fb;color:#53657d;font-size:.82rem;text-align:center;text-transform:uppercase;letter-spacing:.05em}.npb-standings-table th:nth-child(2){text-align:left}.npb-standings-table td{padding:13px 14px;border-top:1px solid #e8eef5;text-align:center;vertical-align:middle}.npb-standings-table tbody tr:nth-child(even){background:#fbfcfe}.npb-standings-table tbody tr:hover{background:#f5f9ff}.npb-col-position{width:56px}.npb-rank{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#eef4fb;color:#164c92;font-weight:800}.npb-team-cell{text-align:left!important;min-width:220px}.npb-team-cell strong{color:#14365f;font-size:1rem}.npb-mobile-team-meta{display:none}.npb-col-form{width:34%;min-width:230px}.npb-form-bar{display:flex;overflow:hidden;height:30px;border-radius:999px;background:#edf1f5}.npb-form-bar span{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:.82rem}.npb-form-bar b{padding:0 6px;white-space:nowrap}.npb-form-win{background:#65bf73}.npb-form-draw{background:#f4ae42}.npb-form-loss{background:#df7272}.npb-form-empty{width:100%;color:#738398!important;font-weight:600}.npb-points{color:#164c92;font-size:1.05rem}.npb-empty-state-compact{padding:22px 26px}.npb-competition-filter{margin-bottom:20px}
@media (max-width:700px){.npb-standings-header{padding:18px}.npb-standings-header .npb-count-badge{display:none}.npb-standings-table{min-width:0}.npb-standings-table thead{display:none}.npb-standings-table tbody,.npb-standings-table tr,.npb-standings-table td{display:block}.npb-standings-table tr{position:relative;padding:14px 16px 14px 58px;border-top:1px solid #e8eef5}.npb-standings-table td{padding:0;border:0;text-align:left}.npb-standings-table .npb-col-position{position:absolute;left:14px;top:16px;width:auto}.npb-team-cell{min-width:0;padding-right:62px!important}.npb-team-cell strong{display:block;font-size:1.02rem}.npb-mobile-team-meta{display:block;margin-top:3px;color:#718197;font-size:.8rem}.npb-col-form{display:block!important;width:auto;min-width:0;margin-top:11px}.npb-form-bar{height:25px}.npb-standings-table td:not(.npb-col-position):not(.npb-team-cell):not(.npb-col-form):not(.npb-points){display:none}.npb-points{position:absolute;right:16px;top:17px}.npb-points strong:after{content:' pnt';font-size:.7rem;color:#718197}.npb-rank{width:32px;height:32px}.npb-competition-filter select{width:100%}}

/* =========================================================
   Competitie PRO - Beta 3 standentabellen
   ========================================================= */
.npb-standings-table-wrap {
    overflow-x: auto;
    border-top: 1px solid #e8edf4;
}

.npb-standings-table {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.npb-standings-table th,
.npb-standings-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #edf1f6;
    text-align: center;
    vertical-align: middle;
}

.npb-standings-table thead th {
    background: #f6f8fb;
    color: #526174;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.npb-standings-table tbody tr:last-child th,
.npb-standings-table tbody tr:last-child td {
    border-bottom: 0;
}

.npb-standings-table tbody tr:hover {
    background: #fafbfd;
}

.npb-standings-table .npb-team-cell {
    min-width: 230px;
    text-align: left;
    color: #172333;
    font-weight: 750;
}

.npb-position-badge {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: #edf1f6;
    color: #35465a;
    font-weight: 800;
}

.npb-position-1 .npb-position-badge { background: #f5d76e; color: #3d3100; }
.npb-position-2 .npb-position-badge { background: #dce2e8; color: #27313b; }
.npb-position-3 .npb-position-badge { background: #d9a36c; color: #3b210d; }

.npb-col-position { width: 62px; }
.npb-col-points { width: 70px; font-weight: 900; color: #0756a3; }
.npb-team-mobile-meta { display: none; }

.npb-standings-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    padding: 12px 18px 16px;
    border-top: 1px solid #edf1f6;
    color: #68788c;
    font-size: 12px;
}

@media (max-width: 700px) {
    .npb-standings-table-wrap { overflow: visible; }
    .npb-standings-table thead { display: none; }
    .npb-standings-table,
    .npb-standings-table tbody,
    .npb-standings-table tr,
    .npb-standings-table th,
    .npb-standings-table td { display: block; }

    .npb-standings-table tbody tr {
        position: relative;
        min-height: 80px;
        padding: 15px 62px 15px 58px;
        border-bottom: 1px solid #edf1f6;
    }

    .npb-standings-table th,
    .npb-standings-table td { padding: 0; border: 0; }
    .npb-standings-table .npb-col-position {
        position: absolute;
        top: 18px;
        left: 14px;
        width: 36px;
    }

    .npb-standings-table .npb-team-cell {
        min-width: 0;
        text-align: left;
    }

    .npb-team-name { display: block; font-size: 16px; line-height: 1.35; }
    .npb-team-mobile-meta {
        display: block;
        margin-top: 5px;
        color: #738196;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.45;
    }

    .npb-standings-table td:not(.npb-col-points) { display: none; }
    .npb-standings-table .npb-col-points {
        display: grid;
        position: absolute;
        top: 18px;
        right: 14px;
        width: 40px;
        height: 40px;
        place-items: center;
        border-radius: 10px;
        background: #eef5fc;
        color: #0756a3;
        font-size: 17px;
    }

    .npb-standings-table .npb-col-points::after {
        content: 'pt';
        position: absolute;
        top: 32px;
        font-size: 9px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .npb-standings-legend { display: none; }
}

/* =========================================================
   Competitie PRO - Beta 4: compacte mobiele stand + wedstrijden
   ========================================================= */
.npb-matches-toggle {
    border-top: 1px solid #e8edf4;
    background: #fff;
}

.npb-matches-toggle > summary {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 22px;
    cursor: pointer;
    color: #0b4f96;
    font-weight: 800;
    list-style: none;
    user-select: none;
}

.npb-matches-toggle > summary::-webkit-details-marker { display: none; }
.npb-matches-summary-label { flex: 1; }
.npb-matches-count {
    display: inline-grid;
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    place-items: center;
    box-sizing: border-box;
    border-radius: 999px;
    background: #eef5fc;
    color: #0756a3;
    font-size: 12px;
}
.npb-matches-chevron {
    width: 9px;
    height: 9px;
    margin-left: 13px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s ease;
}
.npb-matches-toggle[open] .npb-matches-chevron { transform: rotate(225deg) translate(-2px,-2px); }
.npb-matches-content { border-top: 1px solid #edf1f6; }
.npb-match-round-heading {
    padding: 9px 18px;
    background: #f4f6f9;
    color: #59697d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.npb-match-row {
    display: grid;
    grid-template-columns: 145px minmax(0,1fr) 54px;
    align-items: stretch;
    min-height: 62px;
    border-bottom: 1px solid #edf1f6;
    font-variant-numeric: tabular-nums;
}
.npb-match-row:last-child { border-bottom: 0; }
.npb-match-date,
.npb-match-teams,
.npb-match-score { display: grid; align-content: center; }
.npb-match-date { padding: 9px 16px; color: #738196; font-size: 12px; }
.npb-match-date strong { color: #26384d; font-size: 13px; }
.npb-match-teams { gap: 2px; padding: 8px 14px; color: #172333; font-size: 14px; font-weight: 650; }
.npb-match-teams div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.npb-match-score {
    grid-template-rows: 1fr 1fr;
    padding: 7px 14px 7px 5px;
    color: #718197;
    text-align: right;
}
.npb-match-score strong { color: #10243e; font-size: 15px; }

@media (max-width: 700px) {
    .npb-standings-card { border-radius: 12px; }
    .npb-standings-header { padding: 14px 15px; }
    .npb-standings-header h2 { font-size: 18px; }

    .npb-standings-table tbody tr {
        display: grid;
        grid-template-columns: 28px minmax(0,1fr) 36px;
        align-items: center;
        min-height: 43px;
        padding: 0 10px;
        border-bottom: 1px solid #edf1f6;
    }
    .npb-standings-table .npb-col-position,
    .npb-standings-table .npb-team-cell,
    .npb-standings-table .npb-col-points {
        position: static;
        display: block;
        width: auto;
        height: auto;
        min-width: 0;
        padding: 0 !important;
        background: transparent;
        border-radius: 0;
    }
    .npb-position-badge {
        display: block;
        width: auto;
        height: auto;
        background: transparent !important;
        color: #65758a !important;
        font-size: 12px;
        text-align: center;
    }
    .npb-team-name {
        overflow: hidden;
        font-size: 13px;
        font-weight: 650;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .npb-team-mobile-meta { display: none; }
    .npb-standings-table .npb-col-points {
        color: #10243e;
        font-size: 14px;
        font-weight: 850;
        text-align: right;
    }
    .npb-standings-table .npb-col-points::after { content: none; }

    .npb-matches-toggle > summary { min-height: 48px; padding: 0 14px; font-size: 14px; }
    .npb-match-round-heading { padding: 7px 11px; font-size: 10px; }
    .npb-match-row {
        grid-template-columns: 62px minmax(0,1fr) 32px;
        min-height: 52px;
    }
    .npb-match-date { padding: 6px 7px; font-size: 9px; line-height: 1.25; }
    .npb-match-date strong { font-size: 11px; }
    .npb-match-teams { gap: 1px; padding: 6px 7px; font-size: 12px; line-height: 1.25; }
    .npb-match-score { padding: 5px 8px 5px 0; font-size: 12px; }
    .npb-match-score strong { font-size: 13px; }
}

/* Competitie PRO 4.5.0 beta 4.1: compacte Livescore-tabs */
.npb-competition-tabs{display:flex;gap:0;border-bottom:1px solid #dfe7f0;background:#f7f9fc}.npb-competition-tab{flex:1;min-height:46px;padding:10px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:#52657d;font:inherit;font-weight:700;cursor:pointer}.npb-competition-tab:hover{background:#eef4fb;color:#143f78}.npb-competition-tab.is-active{border-bottom-color:#1768ce;background:#fff;color:#124b92}.npb-competition-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;margin-left:5px;padding:0 6px;border-radius:999px;background:#e7eef7;font-size:.72rem}.npb-competition-tab.is-active span{background:#dcecff;color:#124b92}.npb-competition-tab-panel[hidden]{display:none!important}.npb-competition-tab-panel.is-active{display:block}.npb-competition-tab-panel .npb-match-round-heading:first-child{margin-top:0}
@media (max-width:700px){.npb-standings-list{gap:16px;margin-top:16px}.npb-standings-card{border-radius:12px}.npb-standings-header{padding:12px 14px}.npb-standings-header h2{font-size:1.05rem;line-height:1.2}.npb-standings-header .npb-eyebrow{display:none}.npb-competition-tab{min-height:40px;padding:8px 4px;font-size:.78rem}.npb-competition-tab span{min-width:18px;height:18px;margin-left:2px;padding:0 4px;font-size:.65rem}.npb-standings-table-wrap{overflow:visible}.npb-standings-table,.npb-standings-table tbody{display:table;width:100%}.npb-standings-table tr{display:table-row;padding:0;border:0}.npb-standings-table td,.npb-standings-table th{display:none!important}.npb-standings-table .npb-col-position,.npb-standings-table .npb-team-cell,.npb-standings-table .npb-col-points{display:table-cell!important;position:static;width:auto;padding:7px 8px;border-top:1px solid #edf1f5;vertical-align:middle}.npb-standings-table .npb-col-position{width:34px;text-align:center}.npb-standings-table .npb-team-cell{min-width:0;padding-right:4px!important;font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-standings-table .npb-team-name{display:block;overflow:hidden;text-overflow:ellipsis}.npb-standings-table .npb-col-points{width:42px;text-align:right!important;color:#143f78;font-size:.9rem}.npb-position-badge{display:inline;background:none!important;color:#66778b!important;font-size:.78rem;font-weight:700}.npb-position-1 .npb-position-badge,.npb-position-2 .npb-position-badge,.npb-position-3 .npb-position-badge{color:#124b92!important}.npb-match-row{grid-template-columns:70px minmax(0,1fr) 30px;padding:9px 10px}.npb-match-date{font-size:.7rem}.npb-match-teams{font-size:.8rem}.npb-match-score{font-size:.82rem}.npb-match-round-heading{padding:8px 10px;font-size:.72rem}}


/* Competitie PRO 4.5.0 beta 4.2: extra compacte mobiele stand */
@media (max-width:700px){
    .npb-standings-list{gap:12px;margin-top:12px}
    .npb-standings-header{padding:9px 12px}
    .npb-standings-header h2{font-size:.98rem;line-height:1.1}
    .npb-competition-tab{min-height:34px;padding:5px 3px;font-size:.74rem;border-bottom-width:2px}
    .npb-competition-tab span{min-width:16px;height:16px;margin-left:2px;padding:0 3px;font-size:.6rem}
    .npb-standings-table .npb-col-position,
    .npb-standings-table .npb-team-cell,
    .npb-standings-table .npb-col-points{
        padding-top:4px;
        padding-bottom:4px;
        line-height:1.05;
    }
    .npb-standings-table .npb-col-position{width:28px;padding-left:6px;padding-right:4px}
    .npb-standings-table .npb-team-cell{padding-left:4px!important;padding-right:2px!important;font-size:.80rem;line-height:1.05}
    .npb-standings-table .npb-col-points{width:34px;padding-left:2px;padding-right:7px;font-size:.82rem;line-height:1.05}
    .npb-position-badge{font-size:.72rem;line-height:1}
}

/* Competitie PRO 4.5.0 Beta 4.3 - livescore compact + degradatie */
.npb-relegation-row{background:linear-gradient(90deg,rgba(220,38,38,.075),rgba(220,38,38,.025))!important}
.npb-relegation-row .npb-position-badge{background:#dc2626!important;color:#fff!important}
.npb-relegation-row .npb-col-points strong{color:#dc2626}
.npb-relegation-arrow{display:inline-flex;margin-left:10px;color:#dc2626;font-size:1.15rem;font-weight:900;line-height:1}
.npb-relegation-legend{display:flex;align-items:center;gap:7px;padding:10px 16px;border-top:1px solid #f3d0d0;background:#fffafa;color:#8f2525;font-size:.78rem;font-weight:700}
.npb-relegation-legend span{color:#dc2626;font-size:1.1rem}
.npb-row-chevron{display:none}
.npb-team-detail-row{display:none}

@media (max-width:700px){
  .npb-competition-filter{margin-bottom:8px;padding:9px 12px}
  .npb-competition-filter form{gap:6px}
  .npb-competition-filter label{font-size:.72rem}
  .npb-competition-filter select{min-height:34px;padding:5px 30px 5px 9px;font-size:.82rem}
  .npb-competition-hero{min-height:0!important;padding:12px 14px!important;border-radius:11px!important}
  .npb-competition-hero .npb-eyebrow{display:none}
  .npb-competition-hero h1{margin:0!important;font-size:1.12rem!important;line-height:1.15!important}
  .npb-competition-hero p{margin:3px 0 0!important;font-size:.72rem!important}
  .npb-standings-list{gap:10px!important;margin-top:10px!important}
  .npb-standings-card{border-radius:10px!important}
  .npb-standings-header{min-height:0!important;padding:8px 10px!important}
  .npb-standings-header h2{margin:0!important;font-size:.94rem!important;line-height:1.12!important}
  .npb-competition-tab{min-height:32px!important;padding:4px 2px!important;font-size:.7rem!important}
  .npb-competition-tab span{min-width:15px!important;height:15px!important;padding:0 3px!important;font-size:.56rem!important}
  .npb-standings-table .npb-col-position,.npb-standings-table .npb-team-cell,.npb-standings-table .npb-col-points{height:34px!important;padding:3px 7px!important;line-height:1.05!important}
  .npb-standings-table .npb-col-position{width:32px!important}
  .npb-position-badge{display:inline-flex!important;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;font-size:.69rem!important}
  .npb-position-1 .npb-position-badge{background:#f6c945!important;color:#342500!important}
  .npb-position-2 .npb-position-badge{background:#dce2e8!important;color:#253142!important}
  .npb-position-3 .npb-position-badge{background:#df984a!important;color:#321b06!important}
  .npb-standings-table .npb-team-cell{font-size:.76rem!important;letter-spacing:0!important}
  .npb-standings-table .npb-col-points{width:62px!important;font-size:.8rem!important;white-space:nowrap}
  .npb-row-chevron{display:inline-block;margin-left:7px;color:#64748b;font-size:.82rem;transition:transform .15s ease}
  [data-npb-team-row][aria-expanded="true"] .npb-row-chevron{transform:rotate(180deg)}
  [data-npb-team-row]{cursor:pointer}
  .npb-team-detail-row{display:table-row}
  .npb-team-detail-row[hidden]{display:none!important}
  .npb-team-detail-row td{display:table-cell!important;padding:0!important;border-top:0!important}
  .npb-team-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:7px;background:#edf2f7}
  .npb-team-detail-grid div{padding:6px 3px;background:#fff;text-align:center}
  .npb-team-detail-grid span{display:block;color:#718096;font-size:.58rem;line-height:1.1}
  .npb-team-detail-grid strong{display:block;margin-top:2px;color:#173d6d;font-size:.76rem}
  .npb-relegation-arrow{margin-left:5px;font-size:.88rem}
  .npb-relegation-legend{padding:7px 10px;font-size:.66rem}
  .npb-match-row{grid-template-columns:58px minmax(0,1fr) 26px!important;padding:6px 8px!important}
  .npb-match-round-heading{padding:6px 8px!important;font-size:.66rem!important}
}

/* Competitie PRO 4.5.0 Beta 4.5 - automatische league- en poulekeuze */
.npb-competition-quicknav{
  margin:16px 0 12px;
  padding:14px 16px;
  border:1px solid #dce6f2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(19,55,94,.07);
}
.npb-league-selector,.npb-pool-chips{display:flex;flex-wrap:wrap;gap:8px}
.npb-league-selector{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5ebf2}
.npb-league-chip,.npb-pool-chip{
  min-height:38px;
  padding:7px 14px;
  border:1px solid #cfd9e6;
  border-radius:9px;
  background:#fff;
  color:#183b65;
  font:inherit;
  font-size:.84rem;
  font-weight:750;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.npb-league-chip:hover,.npb-pool-chip:hover{border-color:#1768ce;background:#edf5ff;color:#0d54ad}
.npb-league-chip.is-active,.npb-pool-chip.is-active{border-color:#1768ce;background:linear-gradient(135deg,#124c9c,#1768ce);color:#fff;box-shadow:0 5px 12px rgba(23,104,206,.20)}
.npb-pool-selector{display:flex;align-items:center;gap:14px}
.npb-pool-selector[hidden]{display:none!important}
.npb-pool-selector>strong{min-width:max-content;color:#123d70;font-size:1.05rem}
.npb-pool-chip{min-width:42px;padding-left:12px;padding-right:12px}
.npb-standings-card[hidden]{display:none!important}
.npb-standings-card.is-active{animation:npbCompetitionFade .18s ease-out}
@keyframes npbCompetitionFade{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

@media (max-width:700px){
  .npb-competition-quicknav{margin:10px 0 8px;padding:9px 10px;border-radius:10px}
  .npb-league-selector{gap:5px;margin-bottom:8px;padding-bottom:8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .npb-league-selector::-webkit-scrollbar,.npb-pool-chips::-webkit-scrollbar{display:none}
  .npb-league-chip{min-height:31px;padding:4px 9px;border-radius:7px;font-size:.70rem;white-space:nowrap}
  .npb-pool-selector{display:block}
  .npb-pool-selector>strong{display:block;margin-bottom:6px;font-size:.83rem;line-height:1.15}
  .npb-pool-chips{gap:5px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .npb-pool-chip{min-width:34px;min-height:30px;padding:3px 9px;border-radius:7px;font-size:.72rem;white-space:nowrap}
  .npb-standings-list{margin-top:8px!important}
}

/* Competitie PRO 4.5.0 Beta 4.6 - compacte UX */
.npb-competitions-public .npb-competition-filter{
  margin:0 0 10px;
  padding:10px 14px;
  border-radius:12px;
}
.npb-competitions-public .npb-competition-filter form{
  align-items:center;
  justify-content:flex-start;
  gap:12px;
}
.npb-competitions-public .npb-competition-filter label{
  margin:0;
  color:#173b66;
  font-size:.84rem;
  line-height:1;
}
.npb-competitions-public .npb-season-control{
  min-width:0;
  width:min(240px,100%);
}
.npb-competitions-public .npb-season-control select{
  min-height:38px;
  padding:6px 36px 6px 11px;
  border-radius:8px;
  font-size:.86rem;
}
.npb-competitions-public .npb-competition-quicknav{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  box-shadow:0 5px 16px rgba(19,55,94,.06);
}
.npb-competitions-public .npb-league-selector{
  gap:6px;
  margin:0 0 8px;
  padding:0 0 8px;
}
.npb-competitions-public .npb-league-chip{
  min-height:34px;
  padding:5px 11px;
  font-size:.78rem;
}
.npb-competitions-public .npb-pool-selector{
  min-height:32px;
}
.npb-competitions-public .npb-pool-chips{
  gap:6px;
}
.npb-competitions-public .npb-pool-chip{
  min-width:34px;
  min-height:32px;
  padding:4px 10px;
  font-size:.78rem;
}
.npb-competitions-public .npb-standings-list{
  margin-top:0;
}

@media (max-width:700px){
  .npb-competitions-public .npb-competition-filter{
    margin-bottom:7px;
    padding:7px 9px;
  }
  .npb-competitions-public .npb-competition-filter form{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:7px;
  }
  .npb-competitions-public .npb-competition-filter label{
    font-size:.70rem;
  }
  .npb-competitions-public .npb-season-control{
    width:100%;
  }
  .npb-competitions-public .npb-season-control select{
    min-height:32px;
    padding:4px 30px 4px 8px;
    font-size:.76rem;
  }
  .npb-competitions-public .npb-competition-quicknav{
    margin-bottom:7px;
    padding:7px 8px;
  }
  .npb-competitions-public .npb-league-selector{
    gap:4px;
    margin-bottom:6px;
    padding-bottom:6px;
  }
  .npb-competitions-public .npb-league-chip{
    min-height:29px;
    padding:3px 8px;
    font-size:.66rem;
  }
  .npb-competitions-public .npb-pool-selector{
    min-height:28px;
  }
  .npb-competitions-public .npb-pool-chips{
    gap:4px;
  }
  .npb-competitions-public .npb-pool-chip{
    min-width:30px;
    min-height:28px;
    padding:2px 8px;
    font-size:.68rem;
  }
}

/* Competitie PRO 4.7 - oranje NPB-tabnavigatie */
.npb-competition-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:7px;
  border:1px solid #f2c28f;
  border-bottom:1px solid #f2c28f;
  background:#fff7ed;
}
.npb-competition-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:8px 12px;
  border:1px solid #efb777;
  border-radius:9px;
  background:#fffaf4;
  color:#9a4e00;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.npb-competition-tab:nth-child(1)::before{content:"\2605";font-size:.88em}
.npb-competition-tab:nth-child(2)::before{content:"\25A6";font-size:.9em}
.npb-competition-tab:nth-child(3)::before{content:"\2713";font-size:.92em}
.npb-competition-tab:hover{
  border-color:#f28c18;
  background:#ffead2;
  color:#7c3c00;
  transform:translateY(-1px);
}
.npb-competition-tab:focus-visible{
  outline:3px solid rgba(242,140,24,.28);
  outline-offset:2px;
}
.npb-competition-tab.is-active{
  border-color:#e9750b;
  background:linear-gradient(180deg,#f79a2e 0%,#ed741d 100%);
  color:#fff;
  box-shadow:0 5px 13px rgba(237,116,29,.24);
}
.npb-competition-tab span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  margin-left:1px;
  padding:0 7px;
  border-radius:999px;
  background:#f7d5b2;
  color:#874300;
  font-size:.7rem;
  font-weight:900;
}
.npb-competition-tab.is-active span{
  background:#fff;
  color:#c15d06;
}

@media(max-width:700px){
  .npb-competition-tabs{gap:4px;padding:5px}
  .npb-competition-tab{min-height:36px;padding:5px 4px;border-radius:7px;font-size:.72rem;gap:3px}
  .npb-competition-tab:nth-child(n)::before{font-size:.82em}
  .npb-competition-tab span{min-width:17px;height:17px;padding:0 4px;font-size:.58rem}
}
@media(max-width:390px){
  .npb-competition-tab{font-size:.67rem}
  .npb-competition-tab:nth-child(n)::before{display:none}
}

/* Competitie PRO 4.5.0 Beta 4.9 - Compact Edition
   Ontwerpdoel: een poule van 12 teams volledig zichtbaar op een Full HD-scherm. */
@media (min-width:701px){
  .npb-competitions-public .npb-standings-card{
    border-radius:12px;
    box-shadow:0 8px 22px rgba(20,49,91,.07);
  }
  .npb-competitions-public .npb-standings-header{
    min-height:68px;
    padding:10px 18px;
    gap:12px;
  }
  .npb-competitions-public .npb-standings-header .npb-eyebrow{
    margin:0 0 2px;
    font-size:.68rem;
    line-height:1;
  }
  .npb-competitions-public .npb-standings-header h2{
    margin:0;
    font-size:1.55rem;
    line-height:1.05;
  }
  .npb-competitions-public .npb-count-badge{
    padding:5px 10px;
    font-size:.72rem;
    line-height:1;
  }
  .npb-competitions-public .npb-competition-tabs{
    gap:5px;
    padding:5px;
  }
  .npb-competitions-public .npb-competition-tab{
    min-height:36px;
    padding:5px 9px;
    border-radius:7px;
    font-size:.84rem;
    line-height:1;
  }
  .npb-competitions-public .npb-competition-tab span{
    min-width:18px;
    height:18px;
    padding:0 5px;
    font-size:.62rem;
  }
  .npb-competitions-public .npb-standings-table thead th{
    height:32px;
    padding:5px 9px;
    font-size:.68rem;
    line-height:1;
  }
  .npb-competitions-public .npb-standings-table tbody tr{
    height:39px;
  }
  .npb-competitions-public .npb-standings-table tbody td{
    height:39px;
    padding:4px 9px;
    line-height:1.05;
  }
  .npb-competitions-public .npb-position-badge{
    width:27px;
    height:27px;
    font-size:.78rem;
  }
  .npb-competitions-public .npb-col-position{
    width:48px;
  }
  .npb-competitions-public .npb-standings-table .npb-team-cell{
    min-width:210px;
  }
  .npb-competitions-public .npb-team-name,
  .npb-competitions-public .npb-team-cell strong{
    font-size:.86rem;
    line-height:1.05;
  }
  .npb-competitions-public .npb-col-points{
    width:55px;
    font-size:.92rem;
  }
  .npb-competitions-public .npb-standings-table-wrap{
    overflow-x:auto;
  }
  .npb-competitions-public .npb-standings-legend{
    padding:6px 12px 8px;
    font-size:.68rem;
  }
}

/* Competitie PRO 4.5.0 Beta 4.10 - Extra compacte stand
   Lettergrootte blijft gelijk; alleen de verticale ruimte van de rijen is verkleind. */
@media (min-width:701px){
  .npb-competitions-public .npb-standings-table tbody tr{
    height:35px;
  }
  .npb-competitions-public .npb-standings-table tbody td{
    height:35px;
    padding-top:2px;
    padding-bottom:2px;
  }
  .npb-competitions-public .npb-position-badge{
    width:25px;
    height:25px;
  }
}


/* Beta 4.11: compacte uitslagdetails */
.npb-match-item{border-bottom:1px solid #e8edf3}
.npb-match-item:last-child{border-bottom:0}
.npb-match-item .npb-match-row{border-bottom:0}
.npb-match-item.is-clickable .npb-match-row{cursor:pointer;transition:background-color .15s ease}
.npb-match-item.is-clickable .npb-match-row:hover{background:#fff8ef}
.npb-match-item.is-clickable .npb-match-row:focus-visible{outline:2px solid #f28c18;outline-offset:-2px}
.npb-match-detail-chevron{display:block;font-size:12px;line-height:1;color:#a85b00;transition:transform .15s ease}
.npb-match-row[aria-expanded="true"]{background:#fff8ef;box-shadow:inset 3px 0 0 #f28c18}
.npb-match-row[aria-expanded="true"] .npb-match-detail-chevron{transform:rotate(180deg)}
.npb-match-detail{padding:8px 12px 10px 15px;background:#fffaf4;border-top:1px solid #f5d6af;box-shadow:inset 3px 0 0 #f28c18}
.npb-match-meta{display:flex;flex-wrap:wrap;gap:5px 14px;margin-bottom:7px;color:#6d4a22;font-size:11px;font-weight:650}
.npb-match-games{overflow:hidden;border:1px solid #f0dfcc;border-radius:7px;background:#fff}
.npb-match-game{display:grid;grid-template-columns:24px minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:8px;min-height:31px;padding:4px 9px;border-bottom:1px solid #edf0f3;font-size:12px}
.npb-match-game:last-child{border-bottom:0}
.npb-match-game-number{color:#8c98a7;text-align:center;font-size:10px;font-weight:700}
.npb-match-game-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18283b;font-weight:650}
.npb-match-game-player.is-away{text-align:right}
.npb-match-game strong{text-align:center;color:#0f4f99;font-size:12px}
.npb-match-no-games{padding:5px 0;color:#7a8796;font-size:11px}
@media (max-width:700px){
  .npb-match-detail{padding:7px 8px 8px 11px}
  .npb-match-meta{gap:4px 9px;margin-bottom:6px;font-size:10px}
  .npb-match-game{grid-template-columns:18px minmax(0,1fr) 42px minmax(0,1fr);gap:5px;min-height:29px;padding:3px 6px;font-size:10px}
  .npb-match-game strong{font-size:10px}
}


/* Competitie PRO 4.5.0 Beta 4.13 - Super League navigatie + leesbare wedstrijddetails */
.npb-match-meta{font-size:13px;line-height:1.4}
.npb-match-game{font-size:14px;line-height:1.35;min-height:34px}
.npb-match-game-number{font-size:12px}
.npb-match-game strong{font-size:14px}
.npb-match-no-games{font-size:13px;line-height:1.4}
@media (max-width:700px){
  .npb-match-meta{font-size:12px;line-height:1.4}
  .npb-match-game{font-size:13px;line-height:1.35;min-height:33px}
  .npb-match-game-number{font-size:11px}
  .npb-match-game strong{font-size:13px}
  .npb-match-no-games{font-size:12px}
}

/* Competitie PRO 4.5.0 Beta 4.14 - Team Center */
.npb-team-center-link{
  display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;
  font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer;
}
.npb-team-center-link:hover{color:#d96f00;text-decoration:underline;text-underline-offset:2px}
.npb-team-center-link:focus-visible{outline:2px solid #f28c18;outline-offset:2px;border-radius:3px}
html.npb-team-center-open{overflow:hidden}
.npb-team-center{position:fixed;inset:0;z-index:10050}
.npb-team-center-backdrop{position:absolute;inset:0;background:rgba(10,28,49,.52);backdrop-filter:blur(2px)}
.npb-team-center-panel{
  position:absolute;top:0;right:0;width:min(460px,100%);height:100%;overflow:auto;background:#f7f9fc;
  box-shadow:-12px 0 35px rgba(12,33,56,.22);animation:npb-team-center-in .18s ease-out;
}
@keyframes npb-team-center-in{from{transform:translateX(35px);opacity:.7}to{transform:translateX(0);opacity:1}}
.npb-team-center-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:9px;padding:13px 14px;background:#124f96;color:#fff}
.npb-team-center-header span{display:block;margin-bottom:2px;color:#dcecff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.npb-team-center-header h2{margin:0;color:#fff;font-size:1.25rem;line-height:1.15}
.npb-team-center-back,.npb-team-center-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer}
.npb-team-center-back:hover,.npb-team-center-close:hover{background:rgba(255,255,255,.25)}
.npb-team-center-body{padding:14px}
.npb-team-center-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.npb-team-center-meta>div{min-width:0;padding:10px 11px;border:1px solid #e5ebf2;border-radius:9px;background:#fff}
.npb-team-center-meta>div.is-wide{grid-column:1/-1}
.npb-team-center-meta span{display:block;margin-bottom:3px;color:#718096;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.npb-team-center-meta strong{display:block;overflow:hidden;color:#182b42;font-size:.93rem;line-height:1.25;text-overflow:ellipsis}
.npb-team-center-players{overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.npb-team-center-section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e8edf3;background:#fff8ef}
.npb-team-center-section-title h3{margin:0;color:#24374e;font-size:.95rem}
.npb-team-center-section-title span{display:grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:12px;background:#f28c18;color:#fff;font-size:.72rem;font-weight:800}
.npb-team-player-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:4px 11px;border-bottom:1px solid #edf1f5}
.npb-team-player-row:last-child{border-bottom:0}
.npb-team-player-photo{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#eaf0f6}
.npb-team-player-photo-placeholder{display:grid;place-items:center;background:#124f96;color:#fff;font-size:.82rem;font-weight:800}
.npb-team-player-row strong{overflow:hidden;color:#1d3047;font-size:.9rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.npb-team-player-number{color:#718096;font-size:.72rem;font-weight:700}
.npb-team-center-empty{margin:0;padding:15px;color:#718096;font-size:.86rem}
.npb-team-captain-contact{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:7px}
.npb-team-captain-contact a{color:#124f96;font-size:.84rem;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.npb-team-captain-contact a:hover{text-decoration:underline}
@media (max-width:700px){
  .npb-competitions-public .npb-standings-table .npb-team-cell{font-size:16px!important;line-height:1!important}
  .npb-competitions-public .npb-team-name{font-size:16px!important;line-height:1!important;font-weight:650!important}
  .npb-team-center{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important}
  .npb-team-center-backdrop{display:none}
  .npb-team-center-panel{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border-radius:0!important;box-shadow:none!important}
  .npb-team-center-header{padding:10px 11px}
  .npb-team-center-header h2{font-size:1.13rem}
  .npb-team-center-body{padding:10px}
  .npb-team-center-meta{gap:6px;margin-bottom:10px}
  .npb-team-center-meta>div{padding:8px 9px}
  .npb-team-player-row{grid-template-columns:40px minmax(0,1fr) auto;min-height:46px;padding:3px 9px}
  .npb-team-player-row strong{font-size:.95rem}
  .npb-team-player-photo{width:36px;height:36px}
}

/* Competitie PRO 4.5.0 Beta 4.16.0 - spelersfoto's en compacte wedstrijddetails */
.npb-match-games{max-width:940px;margin-inline:auto}
.npb-match-game{grid-template-columns:24px minmax(180px,1fr) 58px minmax(180px,1fr);column-gap:12px;min-height:48px;padding:5px 12px}
.npb-match-game-player{display:flex;align-items:center;gap:9px;min-width:0}
.npb-match-game-player.is-home{justify-content:flex-start;text-align:left}
.npb-match-game-player.is-away{justify-content:flex-start;text-align:left}
.npb-match-player-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.npb-match-player-photo{display:block;flex:0 0 36px;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#eaf0f6;box-shadow:0 0 0 1px #dbe4ee}
.npb-match-player-photo-placeholder{display:grid;place-items:center;background:#124f96;color:#fff;font-size:.78rem;font-weight:800}
.npb-match-game-score{display:block;justify-self:center;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:700px){
  .npb-match-game{grid-template-columns:16px minmax(0,1fr) 40px minmax(0,1fr);column-gap:5px;min-height:42px;padding:4px 5px}
  .npb-match-game-player{gap:5px}
  .npb-match-player-photo{flex-basis:32px;width:32px;height:32px}
  .npb-match-player-photo-placeholder{font-size:.7rem}
  .npb-match-game-score{min-width:36px}
}

/* Competitie PRO Beta 4.17.3 - uitgebreide, veilige Team Center-header */
.npb-team-center-heading{min-width:0}
.npb-team-center-header-meta{display:flex;flex-wrap:wrap;gap:5px 7px;margin-top:7px}
.npb-team-center-header .npb-team-center-header-meta span{
  display:inline-flex;align-items:center;max-width:100%;margin:0;padding:3px 7px;border-radius:999px;
  background:rgba(255,255,255,.14);color:#fff;font-size:.68rem;font-weight:750;line-height:1.2;
  letter-spacing:0;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
@media (max-width:700px){
  .npb-team-center-header{align-items:start}
  .npb-team-center-header-meta{gap:4px 5px;margin-top:6px}
  .npb-team-center-header .npb-team-center-header-meta span{font-size:.64rem;padding:3px 6px}
}


/* Beta 4.17.4.1 - geheugenzuinige teamuitslagen */
.npb-team-center-actions{margin:0 0 12px}
.npb-team-results-button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:46px;padding:9px 12px;border:0;border-radius:10px;background:#f28c18;color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 4px 12px rgba(242,140,24,.18)}
.npb-team-results-button:hover{background:#df7908}
.npb-team-results-button:focus-visible{outline:3px solid rgba(18,79,150,.3);outline-offset:2px}
.npb-team-results-button>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18)}
.npb-team-results-button>strong{font-size:.92rem;font-weight:800}
.npb-team-results-button>span:last-child{font-size:1.35rem;font-weight:800;text-align:right}
.npb-team-results-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px solid #ffd7ad;border-radius:9px;background:#fff8ef;color:#283b52;font-size:.82rem}
.npb-team-results-filter-notice button{flex:0 0 auto;padding:5px 9px;border:1px solid #f28c18;border-radius:7px;background:#fff;color:#c86700;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}
@media(max-width:700px){.npb-team-results-filter-notice{align-items:flex-start;flex-direction:column}.npb-team-results-filter-notice button{width:100%}}

/* Beta 5.0.1 - volledige Team Center PRO basis */
.npb-team-pro-button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:46px;margin-top:8px;padding:9px 12px;border:1px solid #f28c18;border-radius:10px;background:#fff8ef;color:#a65300;font:inherit;text-align:left;cursor:pointer}
.npb-team-pro-button:hover{background:#ffefd9}.npb-team-pro-button strong{font-size:.9rem}.npb-team-pro-button>span:last-child{text-align:right;font-size:1.3rem}
html.npb-team-pro-open{overflow:hidden}
.npb-team-pro{position:fixed;inset:0;z-index:10100;overflow:auto;background:#f4f7fb;color:#17283d}
.npb-team-pro-shell{width:min(1500px,calc(100% - 28px));min-height:100%;margin:0 auto;padding:14px 0 28px}
.npb-team-pro-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:14px 14px 0 0;background:#fff}
.npb-team-pro-breadcrumbs{display:flex;align-items:center;gap:10px;min-width:0;color:#37618d;font-size:.86rem}.npb-team-pro-breadcrumbs strong{color:#17283d}.npb-team-pro-close{padding:10px 14px;border:0;border-radius:8px;background:#f47c08;color:#fff;font-weight:800;cursor:pointer}
.npb-team-pro-hero{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(320px,46%);gap:24px;align-items:center;padding:26px 28px;border:1px solid #e2e8f0;border-top:0;background:#fff}
.npb-team-pro-avatar{display:grid;place-items:center;width:122px;height:122px;border-radius:50%;background:#0f4f91;color:#fff;font-size:3rem;font-weight:900;box-shadow:0 10px 25px rgba(15,79,145,.18)}
.npb-team-pro-identity h1{margin:0 0 12px;font-size:2.15rem;line-height:1.05}.npb-team-pro-badges{display:flex;flex-wrap:wrap;gap:10px}.npb-team-pro-badges span{padding:8px 12px;border:1px solid #dde5ef;border-radius:8px;background:#fff;color:#42546b}
.npb-team-pro-facts{display:flex;flex-wrap:wrap;gap:28px;margin-top:22px}.npb-team-pro-facts div{min-width:120px}.npb-team-pro-facts span{display:block;color:#718096;font-size:.78rem}.npb-team-pro-facts strong{display:block;margin-top:4px}
.npb-team-pro-captain{display:grid;grid-template-columns:112px 1fr;gap:22px;align-items:center;min-height:170px;padding:22px;border-radius:14px;background:#f8fafc}.npb-team-pro-captain-avatar{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:#dceafb;color:#174f8f;font-size:2rem;font-weight:900}.npb-team-pro-captain span,.npb-team-pro-card h3{color:#ef6c00;font-weight:900;text-transform:uppercase}.npb-team-pro-captain h2{margin:6px 0 12px}.npb-team-pro-captain a{display:block;margin-top:6px;color:#4d6078;text-decoration:none;overflow-wrap:anywhere}
.npb-team-pro-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 20px;border:1px solid #e2e8f0;border-top:0;background:#fff}.npb-team-pro-actions button{display:flex;align-items:center;gap:14px;min-height:68px;padding:14px 18px;border:1px solid #e1e7ef;border-radius:10px;background:#fff;color:#ef6c00;text-align:left;box-shadow:0 4px 12px rgba(24,43,66,.06)}.npb-team-pro-actions button:not(:disabled){cursor:pointer}.npb-team-pro-actions button:disabled{opacity:.65}.npb-team-pro-actions strong,.npb-team-pro-actions small{display:block}.npb-team-pro-actions strong{color:#17283d}.npb-team-pro-actions small{margin-top:3px;color:#7a8898}
.npb-team-pro-grid{display:grid;grid-template-columns:34% minmax(0,1fr);gap:18px;padding:18px 20px 0}.npb-team-pro-sidebar{display:grid;gap:16px;align-content:start}.npb-team-pro-card{padding:18px;border:1px solid #e1e7ef;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(24,43,66,.05)}.npb-team-pro-card h3{margin:0 0 16px;font-size:1rem}.npb-team-pro-card dl{margin:0}.npb-team-pro-card dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:6px 0}.npb-team-pro-card dt{font-weight:800}.npb-team-pro-card dd{margin:0}
.npb-team-pro-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.npb-team-pro-stats div{padding:12px 6px;border:1px solid #e4eaf1;border-radius:8px;text-align:center}.npb-team-pro-stats span{display:block;color:#718096;font-size:.7rem}.npb-team-pro-stats strong{display:block;margin-top:8px;font-size:1.35rem}
.npb-team-pro-main{min-height:420px}.npb-team-pro-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.npb-team-pro-card-head h3{margin:0}.npb-team-pro-card-head>span{padding:6px 10px;border:1px solid #ffd1a3;border-radius:7px;color:#c35e00;font-size:.78rem}.npb-team-pro-placeholder{display:grid;place-items:center;min-height:330px;padding:30px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;text-align:center}.npb-team-pro-placeholder p{max-width:520px;margin:8px auto 0;color:#6b7b8e}
@media(max-width:900px){.npb-team-pro-shell{width:100%;padding:0}.npb-team-pro-topbar{border-radius:0}.npb-team-pro-breadcrumbs{display:none}.npb-team-pro-close{width:100%}.npb-team-pro-hero{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:18px 16px}.npb-team-pro-avatar{width:70px;height:70px;font-size:1.7rem}.npb-team-pro-identity h1{font-size:1.55rem}.npb-team-pro-facts{gap:14px;margin-top:14px}.npb-team-pro-facts div{min-width:100px}.npb-team-pro-captain{grid-column:1/-1;grid-template-columns:64px 1fr;min-height:0;padding:14px}.npb-team-pro-captain-avatar{width:58px;height:58px;font-size:1.2rem}.npb-team-pro-actions{grid-template-columns:1fr;padding:14px}.npb-team-pro-grid{grid-template-columns:1fr;padding:14px}.npb-team-pro-card dl div{grid-template-columns:115px 1fr}.npb-team-pro-stats{grid-template-columns:repeat(5,minmax(64px,1fr));overflow-x:auto}.npb-team-pro-main{min-height:300px}.npb-team-pro-placeholder{min-height:220px}}


/* Beta 5.0.3.14 - premium actieknoppen compact Team Center */
.npb-team-center-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
    gap: 12px;
    margin: 14px 0 16px;
}

.npb-team-center-actions .npb-team-results-button,
.npb-team-center-actions .npb-team-pro-button {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    min-height: 72px;
    margin: 0;
    padding: 10px 14px;
    border-radius: 12px;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.npb-team-center-actions .npb-team-results-button {
    border: 2px solid #14539a;
    background: #fff;
    color: #132b48;
    box-shadow: 0 5px 14px rgba(18, 55, 95, .09);
}

.npb-team-center-actions .npb-team-pro-button {
    border: 1px solid #0e4f97;
    background: linear-gradient(135deg, #1768bb 0%, #08448d 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(7, 66, 140, .24);
}

.npb-team-center-actions .npb-team-action-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
}

.npb-team-center-actions .npb-team-results-button .npb-team-action-icon {
    background: #edf3fa;
    color: #14539a;
}

.npb-team-center-actions .npb-team-pro-button .npb-team-action-icon {
    background: rgba(255,255,255,.14);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.npb-team-center-actions .npb-team-action-icon svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.npb-team-center-actions .npb-team-action-copy {
    min-width: 0;
}

.npb-team-center-actions .npb-team-action-copy strong {
    display: block;
    color: inherit;
    font-size: .94rem;
    font-weight: 850;
    line-height: 1.18;
}

.npb-team-center-actions .npb-team-action-arrow {
    justify-self: end;
    color: inherit;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}

.npb-team-center-actions .npb-team-results-button:hover,
.npb-team-center-actions .npb-team-pro-button:hover {
    transform: translateY(-2px);
}

.npb-team-center-actions .npb-team-results-button:hover {
    border-color: #0c4382;
    background: #f8fbff;
    box-shadow: 0 9px 20px rgba(18, 55, 95, .14);
}

.npb-team-center-actions .npb-team-pro-button:hover {
    background: linear-gradient(135deg, #1d72ca 0%, #073c7c 100%);
    box-shadow: 0 11px 24px rgba(7, 66, 140, .30);
}

.npb-team-center-actions .npb-team-results-button:focus-visible,
.npb-team-center-actions .npb-team-pro-button:focus-visible {
    outline: 3px solid rgba(242, 124, 8, .32);
    outline-offset: 3px;
}

@media (max-width: 520px) {
    .npb-team-center-actions {
        grid-template-columns: minmax(0, .96fr) minmax(0, 1.34fr);
        gap: 8px;
        margin-top: 12px;
    }

    .npb-team-center-actions .npb-team-results-button,
    .npb-team-center-actions .npb-team-pro-button {
        grid-template-columns: 38px minmax(0, 1fr) 12px;
        gap: 8px;
        min-height: 64px;
        padding: 8px 10px;
        border-radius: 10px;
    }

    .npb-team-center-actions .npb-team-action-icon {
        width: 36px;
        height: 36px;
    }

    .npb-team-center-actions .npb-team-action-icon svg {
        width: 20px;
        height: 20px;
    }

    .npb-team-center-actions .npb-team-action-copy strong {
        font-size: .78rem;
        line-height: 1.15;
    }

    .npb-team-center-actions .npb-team-action-arrow {
        font-size: 1.45rem;
    }
}

@media (max-width: 360px) {
    .npb-team-center-actions {
        grid-template-columns: 1fr;
    }
}


/* Beta 5.0.4.0 - Player Center PRO basis */
html.npb-player-pro-open,
html.npb-player-pro-open body {
    overflow: hidden !important;
}

#npb-player-pro[hidden] {
    display: none !important;
}

#npb-player-pro {
    position: fixed;
    inset: 0;
    z-index: 2147483100;
    overflow-y: auto;
    background: #f3f6fa;
    color: #172b45;
}

#npb-player-pro,
#npb-player-pro *,
#npb-player-pro *::before,
#npb-player-pro *::after {
    box-sizing: border-box;
}

.npb-player-pro-shell {
    width: min(1480px, calc(100% - 32px));
    min-height: 100%;
    margin: 0 auto;
    padding: 18px 0 34px;
}

.npb-player-pro-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border: 1px solid #dfe6ef;
    border-radius: 14px 14px 0 0;
    background: #fff;
}

.npb-player-pro-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
    color: #35618f;
    font-size: .88rem;
}

.npb-player-pro-breadcrumbs strong {
    color: #172b45;
}

.npb-player-pro-close {
    min-height: 42px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    background: #f47a08;
    color: #fff;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}

.npb-player-pro-hero {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(250px, 30%);
    gap: 28px;
    align-items: center;
    padding: 30px;
    border: 1px solid #dfe6ef;
    border-top: 0;
    background: #fff;
}

.npb-player-pro-photo {
    position: relative;
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    overflow: hidden;
    border: 6px solid #fff;
    border-radius: 50%;
    background: #0e559d;
    color: #fff;
    font-size: 3rem;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(14, 85, 157, .20);
}

.npb-player-pro-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.npb-player-pro-kicker,
.npb-player-pro-ranking-card > span,
.npb-player-pro-card > h2,
.npb-player-pro-card-head > div > span {
    color: #f06c00;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.npb-player-pro-identity h1 {
    margin: 4px 0 14px;
    color: #172b45;
    font-size: clamp(2.1rem, 3.4vw, 3.3rem);
    line-height: 1;
}

.npb-player-pro-badges,
.npb-player-pro-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.npb-player-pro-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid #dce4ee;
    border-radius: 8px;
    background: #fff;
    color: #40536b;
}

.npb-player-pro-badges svg {
    width: 18px;
    height: 18px;
    fill: #f47a08;
}

.npb-player-pro-facts {
    gap: 34px;
    margin-top: 22px;
}

.npb-player-pro-facts div {
    min-width: 145px;
}

.npb-player-pro-facts span {
    display: block;
    color: #74849a;
    font-size: .76rem;
}

.npb-player-pro-facts strong {
    display: block;
    margin-top: 5px;
    color: #172b45;
}

.npb-player-pro-ranking-card {
    display: grid;
    place-items: center;
    min-height: 170px;
    padding: 24px;
    border-radius: 14px;
    background: linear-gradient(145deg, #f8fafc, #eef4fb);
    text-align: center;
}

.npb-player-pro-ranking-card strong {
    display: block;
    margin: 8px 0;
    color: #124f96;
    font-size: 3.4rem;
    line-height: 1;
}

.npb-player-pro-ranking-card small {
    max-width: 210px;
    color: #74849a;
}

.npb-player-pro-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid #dfe6ef;
    border-top: 0;
    background: #fff;
}

.npb-player-pro-actions button {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 13px 16px;
    border: 1px solid #dfe6ef;
    border-radius: 10px;
    background: #fff;
    color: #172b45;
    font: inherit;
    text-align: left;
    box-shadow: 0 5px 14px rgba(24, 43, 66, .06);
}

.npb-player-pro-actions button:not(:disabled) {
    cursor: pointer;
}

.npb-player-pro-actions button:not(:disabled):hover {
    border-color: #f47a08;
    transform: translateY(-1px);
}

.npb-player-pro-actions button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.npb-player-pro-action-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #edf3fa;
    color: #13549a;
    font-size: 1.25rem;
}

.npb-player-pro-actions strong,
.npb-player-pro-actions small {
    display: block;
}

.npb-player-pro-actions small {
    margin-top: 3px;
    color: #7b899a;
}

.npb-player-pro-actions b {
    color: #f47a08;
    font-size: 1.5rem;
}

.npb-player-pro-grid {
    display: grid;
    grid-template-columns: minmax(300px, 34%) minmax(0, 1fr);
    gap: 18px;
    padding: 18px 20px 0;
}

.npb-player-pro-sidebar {
    display: grid;
    gap: 16px;
    align-content: start;
}

.npb-player-pro-card {
    padding: 18px;
    border: 1px solid #dfe6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(24, 43, 66, .055);
}

.npb-player-pro-card h2 {
    margin: 0 0 16px;
    font-size: 1rem;
}

.npb-player-pro-card dl {
    margin: 0;
}

.npb-player-pro-card dl div {
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr);
    gap: 12px;
    padding: 6px 0;
}

.npb-player-pro-card dt {
    font-weight: 800;
}

.npb-player-pro-card dd {
    margin: 0;
}

.npb-player-pro-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.npb-player-pro-stats div {
    min-width: 0;
    padding: 12px 6px;
    border: 1px solid #e1e8f0;
    border-radius: 8px;
    text-align: center;
}

.npb-player-pro-stats span {
    display: block;
    overflow: hidden;
    color: #718096;
    font-size: .66rem;
    text-overflow: ellipsis;
}

.npb-player-pro-stats strong {
    display: block;
    margin-top: 8px;
    font-size: 1.35rem;
}

.npb-player-pro-card > p {
    margin: 14px 0 0;
    color: #74849a;
    font-size: .8rem;
    line-height: 1.55;
}

.npb-player-pro-main {
    min-width: 0;
    min-height: 460px;
}

.npb-player-pro-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.npb-player-pro-card-head h2 {
    margin: 5px 0 0;
    color: #172b45;
    font-size: 1.2rem;
    text-transform: none;
}

.npb-player-pro-status {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid #f4bd83;
    border-radius: 8px;
    color: #d66500;
    font-size: .74rem;
}

.npb-player-pro-placeholder {
    display: grid;
    place-items: center;
    min-height: 350px;
    margin-top: 16px;
    padding: 32px;
    border: 1px dashed #cbd6e3;
    border-radius: 10px;
    background: #f8fafc;
    text-align: center;
}

.npb-player-pro-placeholder p {
    max-width: 560px;
    margin: 8px auto 0;
    color: #708197;
    line-height: 1.65;
}

.npb-team-player-open {
    width: 100%;
    border: 0;
    background: #fff;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.npb-team-player-open:hover {
    background: #f7faff;
}

.npb-team-player-open:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #f47a08;
    outline-offset: -2px;
}

@media (max-width: 900px) {
    .npb-player-pro-shell {
        width: 100%;
        padding: 0 0 20px;
    }

    .npb-player-pro-topbar {
        border-radius: 0;
    }

    .npb-player-pro-breadcrumbs {
        display: none;
    }

    .npb-player-pro-close {
        width: 100%;
    }

    .npb-player-pro-hero {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 16px;
        padding: 20px 16px;
    }

    .npb-player-pro-photo {
        width: 82px;
        height: 82px;
        border-width: 4px;
        font-size: 1.8rem;
    }

    .npb-player-pro-identity h1 {
        font-size: 1.75rem;
        overflow-wrap: anywhere;
    }

    .npb-player-pro-facts {
        gap: 12px;
        margin-top: 15px;
    }

    .npb-player-pro-facts div {
        min-width: 110px;
    }

    .npb-player-pro-ranking-card {
        grid-column: 1 / -1;
        min-height: 100px;
        grid-template-columns: auto auto;
        gap: 16px;
        justify-content: start;
        text-align: left;
    }

    .npb-player-pro-ranking-card strong {
        font-size: 2.2rem;
    }

    .npb-player-pro-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px;
    }

    .npb-player-pro-grid {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .npb-player-pro-main {
        min-height: 320px;
    }

    .npb-player-pro-placeholder {
        min-height: 230px;
    }
}

@media (max-width: 540px) {
    .npb-player-pro-actions {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .npb-player-pro-actions button {
        min-height: 64px;
    }

    .npb-player-pro-card dl div {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .npb-player-pro-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* Beta 5.0.4.1 - Player Center spelersinformatie */
.npb-player-pro-photo {
    width: 142px;
    height: 142px;
    border-width: 7px;
    box-shadow:
        0 14px 32px rgba(14, 85, 157, .22),
        0 0 0 1px rgba(14, 85, 157, .08);
}

.npb-player-pro-photo img {
    object-position: center top;
}

.npb-player-pro-card dl div {
    align-items: start;
}

.npb-player-pro-card dd {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .npb-player-pro-photo {
        width: 88px;
        height: 88px;
        border-width: 4px;
    }
}


/* Beta 5.0.4.3 - Player Center seizoensstatistieken */
.npb-player-pro-stats strong {
    color: #172b45;
}

.npb-player-pro-form {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px;
    min-height: 26px;
    font-size: .72rem !important;
}

.npb-player-pro-form span {
    display: inline-grid !important;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #fff !important;
    font-size: .68rem !important;
    font-weight: 900;
}

.npb-player-form-win {
    background: #159447;
}

.npb-player-form-loss {
    background: #dc3a35;
}


/* Beta 5.0.4.4 - Player Center seizoenskeuze */
.npb-player-pro-season-control {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 20px;
}

.npb-player-pro-season-control label {
    display: grid;
    gap: 6px;
    min-width: 230px;
}

.npb-player-pro-season-control label > span {
    color: #74849a;
    font-size: .76rem;
}

.npb-player-pro-season-control select {
    width: 100%;
    min-height: 42px;
    padding: 8px 38px 8px 12px;
    border: 1px solid #d7e0ea;
    border-radius: 8px;
    background: #fff;
    color: #172b45;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.npb-player-pro-season-control select:focus {
    border-color: #f47a08;
    outline: 3px solid rgba(244, 122, 8, .16);
}

.npb-player-pro-season-control small {
    max-width: 380px;
    padding-bottom: 4px;
    color: #7a899b;
    line-height: 1.45;
}

.npb-player-pro-stats-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.npb-player-pro-stats-heading h2 {
    margin: 0;
}

.npb-player-pro-stats-heading > span {
    padding: 6px 9px;
    border: 1px solid #f4bd83;
    border-radius: 7px;
    color: #d66500;
    font-size: .7rem;
    font-weight: 800;
}

.npb-player-season-message {
    width: min(1200px, calc(100% - 32px));
    margin: 14px auto;
    padding: 14px 16px;
    border: 1px solid #f2c28e;
    border-radius: 10px;
    background: #fff7ef;
    color: #78430d;
}

.npb-player-season-message strong,
.npb-player-season-message span {
    display: block;
}

.npb-player-season-message span {
    margin-top: 4px;
    font-size: .85rem;
}

@media (max-width: 900px) {
    .npb-player-pro-season-control {
        grid-column: 1 / -1;
        margin-top: 16px;
    }

    .npb-player-pro-season-control label,
    .npb-player-pro-season-control small {
        width: 100%;
        max-width: none;
    }
}


/* Beta 5.0.4.5 - Player Center laatste wedstrijden */
.npb-player-pro-match-list {
    display: grid;
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 10px;
}

.npb-player-pro-match-row {
    display: grid;
    grid-template-columns: 150px minmax(170px, 1fr) 42px minmax(170px, 1fr) 90px;
    gap: 14px;
    align-items: center;
    min-height: 72px;
    padding: 12px 16px;
    border-bottom: 1px solid #e4eaf1;
}

.npb-player-pro-match-row:last-child {
    border-bottom: 0;
}

.npb-player-pro-match-row:nth-child(even) {
    background: #f8fafc;
}

.npb-player-pro-match-date strong,
.npb-player-pro-match-date span,
.npb-player-pro-match-opponent strong,
.npb-player-pro-match-opponent span {
    display: block;
}

.npb-player-pro-match-date strong,
.npb-player-pro-match-opponent strong {
    color: #172b45;
}

.npb-player-pro-match-date span,
.npb-player-pro-match-opponent span {
    margin-top: 4px;
    color: #74849a;
    font-size: .74rem;
}

.npb-player-pro-match-homeaway {
    color: #326595;
    font-size: .78rem;
    font-weight: 800;
}

.npb-player-pro-match-score,
.npb-player-pro-match-result {
    text-align: center;
    font-weight: 900;
}

.npb-player-pro-match-score.is-win,
.npb-player-pro-match-result.is-win {
    color: #168442;
}

.npb-player-pro-match-score.is-loss,
.npb-player-pro-match-result.is-loss {
    color: #d6342f;
}

.npb-player-pro-all-results {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    margin-top: 14px;
    padding: 11px 16px;
    border: 1px solid #f47a08;
    border-radius: 9px;
    background: #fff;
    color: #df6900 !important;
    font-weight: 900;
    text-decoration: none !important;
}

.npb-player-pro-all-results:hover {
    background: #fff7ef;
}

.npb-player-pro-all-results span {
    font-size: 1.5rem;
}

.npb-player-pro-no-matches {
    display: grid;
    place-items: center;
    min-height: 260px;
    margin-top: 16px;
    padding: 28px;
    border: 1px dashed #cad6e4;
    border-radius: 10px;
    background: #f8fafc;
    text-align: center;
}

.npb-player-pro-no-matches p {
    margin: 7px 0 0;
    color: #74849a;
}

@media (max-width: 900px) {
    .npb-player-pro-match-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 12px;
        padding: 12px;
    }

    .npb-player-pro-match-date {
        grid-column: 1;
    }

    .npb-player-pro-match-opponent {
        grid-column: 1;
    }

    .npb-player-pro-match-homeaway {
        grid-column: 1;
    }

    .npb-player-pro-match-score {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        font-size: 1.05rem;
    }

    .npb-player-pro-match-result {
        grid-column: 2;
        grid-row: 3;
    }
}


/* Beta 5.0.4.6 - Mobile Team Center actieknoppen fix */
@media (max-width: 600px) {
    .npb-team-center-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 14px 0 16px !important;
    }

    .npb-team-center-actions .npb-team-results-button,
    .npb-team-center-actions .npb-team-pro-button {
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) 14px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 72px !important;
        max-height: 72px !important;
        margin: 0 !important;
        padding: 9px 10px !important;
        border-radius: 12px !important;
        line-height: 1.1 !important;
        overflow: hidden !important;
    }

    .npb-team-center-actions .npb-team-results-button {
        border: 2px solid #14539a !important;
        background: #fff !important;
        color: #132b48 !important;
        box-shadow: 0 5px 14px rgba(18, 55, 95, .10) !important;
    }

    .npb-team-center-actions .npb-team-pro-button {
        border: 1px solid #0e4f97 !important;
        background: linear-gradient(135deg, #1768bb 0%, #08448d 100%) !important;
        color: #fff !important;
        box-shadow: 0 7px 16px rgba(7, 66, 140, .24) !important;
    }

    .npb-team-center-actions .npb-team-action-icon {
        display: grid !important;
        place-items: center !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        overflow: hidden !important;
    }

    .npb-team-center-actions .npb-team-results-button .npb-team-action-icon {
        background: #edf3fa !important;
        color: #14539a !important;
    }

    .npb-team-center-actions .npb-team-pro-button .npb-team-action-icon {
        background: rgba(255,255,255,.15) !important;
        color: #fff !important;
    }

    .npb-team-center-actions .npb-team-action-icon svg {
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        fill: currentColor !important;
        flex: 0 0 20px !important;
    }

    .npb-team-center-actions .npb-team-action-copy {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .npb-team-center-actions .npb-team-action-copy strong {
        display: block !important;
        margin: 0 !important;
        color: inherit !important;
        font-size: .82rem !important;
        font-weight: 850 !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    .npb-team-center-actions .npb-team-action-arrow {
        display: block !important;
        justify-self: end !important;
        margin: 0 !important;
        color: inherit !important;
        font-size: 1.45rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }
}

@media (max-width: 390px) {
    .npb-team-center-actions {
        grid-template-columns: minmax(0, .98fr) minmax(0, 1.22fr) !important;
        gap: 8px !important;
    }

    .npb-team-center-actions .npb-team-results-button,
    .npb-team-center-actions .npb-team-pro-button {
        grid-template-columns: 34px minmax(0, 1fr) 12px !important;
        gap: 7px !important;
        min-height: 68px !important;
        max-height: 68px !important;
        padding: 8px !important;
    }

    .npb-team-center-actions .npb-team-action-icon {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
    }

    .npb-team-center-actions .npb-team-action-icon svg {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
        max-width: 18px !important;
        max-height: 18px !important;
    }

    .npb-team-center-actions .npb-team-action-copy strong {
        font-size: .74rem !important;
        line-height: 1.08 !important;
    }

    .npb-team-center-actions .npb-team-action-arrow {
        font-size: 1.3rem !important;
    }
}

@media (max-width: 340px) {
    .npb-team-center-actions {
        grid-template-columns: 1fr !important;
    }

    .npb-team-center-actions .npb-team-results-button,
    .npb-team-center-actions .npb-team-pro-button {
        max-height: none !important;
    }
}


/* Beta 5.0.4.13 - Team Center geplande + gespeelde wedstrijden */
.npb-team-pro-result-score.is-planned {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    padding: 5px 9px;
    border: 1px solid #f2a45e;
    border-radius: 999px;
    background: #fff7ef;
    color: #d96800;
    font-size: .75rem;
    font-weight: 850;
}

.npb-team-pro-planned-label {
    color: #9aa8b8;
}


/* Beta 5.0.4.14 - Team Center wedstrijdsortering */
.npb-team-pro-results-table .npb-team-pro-section-heading td {
    padding: 12px 14px !important;
    background: #f3f6fa;
    border-top: 1px solid #dce5ef;
    border-bottom: 1px solid #dce5ef;
}

.npb-team-pro-results-table .npb-team-pro-section-heading strong {
    color: #17375f;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.npb-team-pro-results-table .npb-team-pro-section-heading span {
    float: right;
    color: #718198;
    font-size: .72rem;
    font-weight: 700;
}

@media (max-width: 700px) {
    .npb-team-pro-results-table .npb-team-pro-section-heading td {
        padding: 10px 11px !important;
    }

    .npb-team-pro-results-table .npb-team-pro-section-heading strong {
        font-size: .72rem;
    }

    .npb-team-pro-results-table .npb-team-pro-section-heading span {
        font-size: .68rem;
    }
}


/* Beta 5.0.4.15 - Klikbare spelers in uitslagdetails */
.npb-match-player-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    border-radius: 4px;
    transition: color .16s ease, background-color .16s ease;
}

.npb-match-player-link:hover,
.npb-match-player-link:focus-visible {
    color: #ef7100;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.npb-match-player-link:focus-visible {
    outline: 2px solid rgba(239, 113, 0, .35);
    outline-offset: 3px;
}




/* =========================================================
   5.0.4.23 - Spelerstatistieken PRO
   ========================================================= */
.npb-player-statistics-page {
    max-width: 1400px;
    margin: 0 auto;
}

.npb-player-statistics-filter {
    margin-bottom: 14px;
    padding: 14px 18px;
}

.npb-player-statistics-filter form {
    display: flex;
    align-items: center;
    gap: 16px;
}

.npb-player-statistics-filter select {
    min-width: 240px;
    height: 42px;
    padding: 0 40px 0 14px;
    border: 1px solid #d7e0ea;
    border-radius: 9px;
    background: #fff;
    color: #17375f;
    font-weight: 800;
}

.npb-player-statistics-card {
    overflow: hidden;
    border: 1px solid #dbe4ee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 57, 94, .07);
}

.npb-player-statistics-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    background: linear-gradient(110deg, #174f92, #1769c7);
    color: #fff;
}

.npb-player-statistics-header .npb-eyebrow {
    color: #dcecff;
}

.npb-player-statistics-header h1 {
    margin: 2px 0 0;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1;
}

.npb-player-statistics-header p {
    margin: 8px 0 0;
    opacity: .85;
}

.npb-player-statistics-badge {
    flex: none;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    font-size: .75rem;
    font-weight: 850;
}

.npb-player-statistics-table-wrap {
    overflow-x: auto;
}

.npb-player-statistics-table {
    width: 100%;
    border-collapse: collapse;
}

.npb-player-statistics-table th,
.npb-player-statistics-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #e5ebf1;
    color: #183451;
    text-align: left;
    white-space: nowrap;
}

.npb-player-statistics-table thead th {
    background: #f3f6fa;
    color: #687b91;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.npb-player-statistics-table tbody tr:hover {
    background: #fff9f3;
}

.npb-player-statistics-table .is-win {
    color: #16833d;
    font-weight: 850;
}

.npb-player-statistics-table .is-loss {
    color: #c33b2e;
    font-weight: 850;
}

.npb-player-stat-position-badge {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #edf3fa;
    color: #175da9;
    font-weight: 900;
}

.npb-player-stat-position-badge.is-top {
    background: #fff1df;
    color: #ea7000;
}

.npb-player-stat-name {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.npb-player-stat-name small {
    color: #8391a3;
    font-size: .7rem;
    font-weight: 700;
}

.npb-player-statistics-footer {
    padding: 13px 18px;
    background: #f8fafc;
    color: #718198;
    font-size: .75rem;
}

@media (max-width: 700px) {
    .npb-player-statistics-filter form {
        align-items: stretch;
        flex-direction: column;
        gap: 7px;
    }

    .npb-player-statistics-filter select {
        width: 100%;
        min-width: 0;
    }

    .npb-player-statistics-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .npb-player-statistics-table th,
    .npb-player-statistics-table td {
        padding: 10px 9px;
    }

    .npb-player-statistics-table th:nth-child(3),
    .npb-player-statistics-table td:nth-child(3),
    .npb-player-statistics-table th:nth-child(8),
    .npb-player-statistics-table td:nth-child(8) {
        display: none;
    }
}


/* 5.0.4.24 - spelerstatistieken per competitie */
.npb-player-statistics-competition + .npb-player-statistics-competition {
    margin-top: 22px;
}

.npb-player-statistics-header h2 {
    margin: 2px 0 0;
    color: #fff;
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1;
}

.npb-player-statistics-sm-table th:not(:nth-child(2)),
.npb-player-statistics-sm-table td:not(:nth-child(2)) {
    text-align: center;
}

.npb-player-statistics-sm-table th:nth-child(2) {
    min-width: 220px;
}

@media (max-width: 700px) {
    .npb-player-statistics-sm-table th:nth-child(5),
    .npb-player-statistics-sm-table td:nth-child(5),
    .npb-player-statistics-sm-table th:nth-child(7),
    .npb-player-statistics-sm-table td:nth-child(7),
    .npb-player-statistics-sm-table th:nth-child(8),
    .npb-player-statistics-sm-table td:nth-child(8),
    .npb-player-statistics-sm-table th:nth-child(10),
    .npb-player-statistics-sm-table td:nth-child(10) {
        display: none;
    }

    .npb-player-statistics-sm-table th:nth-child(2) {
        min-width: 165px;
    }
}


/* 5.0.4.25 - eenvoudige spelersranking */
.npb-player-ranking-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: #fff;
}

.npb-player-ranking-nav-item {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #cfdbea;
    border-radius: 9px;
    background: #fff;
    color: #17375f;
    font-size: .84rem;
    font-weight: 850;
    text-decoration: none;
    transition: .18s ease;
}

.npb-player-ranking-nav-item:hover,
.npb-player-ranking-nav-item.is-active {
    border-color: #1769c7;
    background: #1769c7;
    color: #fff;
}

.npb-player-statistics-header-simple {
    padding: 18px 22px;
}

.npb-player-statistics-simple-table th,
.npb-player-statistics-simple-table td {
    vertical-align: middle;
}

.npb-player-statistics-simple-table th:nth-child(n+3),
.npb-player-statistics-simple-table td:nth-child(n+3) {
    text-align: center;
}

.npb-player-statistics-simple-table th:nth-child(2) {
    min-width: 240px;
}

@media (max-width: 700px) {
    .npb-player-ranking-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .npb-player-ranking-nav-item {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .npb-player-statistics-simple-table th,
    .npb-player-statistics-simple-table td {
        padding: 10px 8px;
    }

    .npb-player-statistics-simple-table th:nth-child(2) {
        min-width: 150px;
    }
}


/* 5.0.4.27 - Mobile Ranking */
.npb-player-statistics-mobile {
    display: none;
}

@media (max-width: 700px) {
    .npb-player-statistics-desktop {
        display: none;
    }

    .npb-player-statistics-mobile {
        display: block;
    }

    .npb-player-statistics-header-simple {
        padding: 18px 18px 16px;
    }

    .npb-player-statistics-header-simple .npb-player-statistics-badge {
        margin-top: 8px;
    }

    .npb-player-ranking-card {
        padding: 14px 16px 15px;
        border-bottom: 1px solid #e3eaf2;
        background: #fff;
    }

    .npb-player-ranking-card:last-child {
        border-bottom: 0;
    }

    .npb-player-ranking-card-main {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .npb-player-ranking-card-player {
        min-width: 0;
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 2px;
    }

    .npb-player-ranking-card-player strong {
        overflow: hidden;
        color: #17375f;
        font-size: 1rem;
        font-weight: 900;
        line-height: 1.18;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .npb-player-ranking-card-player small {
        color: #8a9aad;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .02em;
    }

    .npb-player-ranking-card-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 12px;
    }

    .npb-player-ranking-card-stats > div {
        min-width: 0;
        padding: 9px 8px;
        border: 1px solid #e0e7ef;
        border-radius: 9px;
        background: #f8fafc;
        text-align: center;
    }

    .npb-player-ranking-card-stats span {
        display: block;
        overflow: hidden;
        color: #7c8da2;
        font-size: .62rem;
        font-weight: 850;
        letter-spacing: .025em;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .npb-player-ranking-card-stats strong {
        display: block;
        margin-top: 3px;
        color: #17375f;
        font-size: 1rem;
        font-weight: 900;
        line-height: 1;
    }

    .npb-player-ranking-card-stats .is-win {
        color: #16833d;
    }

    .npb-player-ranking-card-stats .is-loss {
        color: #c33b2e;
    }

    .npb-player-statistics-card {
        overflow: hidden;
    }

    .npb-player-statistics-competition + .npb-player-statistics-competition {
        margin-top: 16px;
    }

    .npb-player-ranking-nav {
        gap: 7px;
        margin-bottom: 12px;
        padding: 8px 10px;
        scrollbar-width: none;
    }

    .npb-player-ranking-nav::-webkit-scrollbar {
        display: none;
    }

    .npb-player-ranking-nav-item {
        min-height: 36px;
        padding: 0 12px;
        font-size: .8rem;
    }

    .npb-player-statistics-filter {
        padding: 12px 14px;
    }
}


/* =========================================================
   5.0.4.28 - Mobile Ranking Polish
   ========================================================= */

@media (max-width: 700px) {
    .npb-player-statistics-page {
        padding-left: 10px;
        padding-right: 10px;
    }

    .npb-player-statistics-filter {
        margin-bottom: 10px;
        padding: 10px 12px;
        border-radius: 10px;
    }

    .npb-player-statistics-filter form {
        gap: 6px;
    }

    .npb-player-statistics-filter label {
        font-size: .78rem;
    }

    .npb-player-statistics-filter select {
        height: 40px;
        border-radius: 8px;
        font-size: .9rem;
    }

    /* Navigatie: volledige breedte, nette horizontale scroll, geen afgekapt begin */
    .npb-player-ranking-nav {
        display: flex;
        width: 100%;
        margin: 0 0 12px;
        padding: 7px;
        gap: 6px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        border-radius: 10px;
        box-sizing: border-box;
    }

    .npb-player-ranking-nav::-webkit-scrollbar {
        display: none;
    }

    .npb-player-ranking-nav-item {
        flex: 0 0 auto;
        min-width: max-content;
        min-height: 34px;
        padding: 0 11px;
        border-radius: 8px;
        font-size: .75rem;
        scroll-snap-align: start;
        white-space: nowrap;
    }

    /* Ranking card compacter en minder hoog */
    .npb-player-statistics-card {
        border-radius: 12px;
    }

    .npb-player-statistics-header-simple {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px;
        align-items: end;
        padding: 15px 16px;
    }

    .npb-player-statistics-header-simple .npb-eyebrow {
        font-size: .66rem;
        letter-spacing: .12em;
    }

    .npb-player-statistics-header-simple h2 {
        margin-top: 4px;
        font-size: 1.55rem;
    }

    .npb-player-statistics-header-simple p {
        margin-top: 6px;
        font-size: .82rem;
    }

    .npb-player-statistics-header-simple .npb-player-statistics-badge {
        align-self: end;
        margin: 0;
        padding: 6px 9px;
        font-size: .68rem;
    }

    .npb-player-ranking-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
        padding: 11px 13px;
    }

    .npb-player-ranking-card-main {
        min-width: 0;
        gap: 10px;
    }

    .npb-player-ranking-card .npb-player-stat-position-badge {
        flex: 0 0 auto;
        width: 34px;
        height: 34px;
        font-size: .9rem;
    }

    .npb-player-ranking-card-player strong {
        font-size: .96rem;
    }

    .npb-player-ranking-card-player small {
        margin-top: 1px;
        font-size: .66rem;
    }

    /* Statistieken rechts compact i.p.v. drie brede blokken onder elkaar */
    .npb-player-ranking-card-stats {
        display: grid;
        grid-template-columns: 36px 36px 72px;
        gap: 4px;
        margin: 0;
    }

    .npb-player-ranking-card-stats > div {
        padding: 5px 4px;
        border: 0;
        border-radius: 7px;
        background: #f4f7fb;
    }

    .npb-player-ranking-card-stats span {
        font-size: .52rem;
        letter-spacing: .02em;
    }

    .npb-player-ranking-card-stats strong {
        margin-top: 2px;
        font-size: .88rem;
    }

    .npb-player-ranking-card-stats .is-percentage strong {
        font-size: .82rem;
    }

    .npb-player-statistics-competition + .npb-player-statistics-competition {
        margin-top: 14px;
    }
}

/* Extra smalle iPhones */
@media (max-width: 390px) {
    .npb-player-ranking-card {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .npb-player-ranking-card-stats {
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
    }

    .npb-player-ranking-card-stats > div {
        padding: 6px 4px;
    }
}


/* =========================================================
   5.0.4.29 - Competitie PRO navigatie voor spelersranking
   ========================================================= */
.npb-player-ranking-navigation {
    margin-bottom: 14px;
    padding: 10px 12px;
}

.npb-ranking-league-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.npb-ranking-league-tab,
.npb-ranking-pool-tab {
    appearance: none;
    border: 1px solid #cbd8e7;
    border-radius: 8px;
    background: #fff;
    color: #17375f;
    cursor: pointer;
    font: inherit;
    font-size: .8rem;
    font-weight: 850;
    line-height: 1;
    transition: .16s ease;
}

.npb-ranking-league-tab {
    min-height: 38px;
    padding: 0 13px;
}

.npb-ranking-league-tab:hover,
.npb-ranking-league-tab.is-active {
    border-color: #1769c7;
    background: #1769c7;
    color: #fff;
}

.npb-ranking-pool-tabs {
    display: flex;
    gap: 0;
    margin-top: 9px;
    overflow: hidden;
    border-bottom: 2px solid #f47a0b;
}

.npb-ranking-pool-tabs[hidden] {
    display: none !important;
}

.npb-ranking-pool-tab {
    min-width: 72px;
    min-height: 37px;
    padding: 0 18px;
    border: 0;
    border-radius: 7px 7px 0 0;
    background: transparent;
}

.npb-ranking-pool-tab:hover {
    background: #fff5ea;
}

.npb-ranking-pool-tab.is-active {
    background: #f47a0b;
    color: #fff;
}

.npb-player-statistics-competition[hidden] {
    display: none !important;
}

@media (max-width: 700px) {
    .npb-player-ranking-navigation {
        margin-bottom: 10px;
        padding: 8px;
        overflow: hidden;
    }

    .npb-ranking-league-tabs {
        flex-wrap: nowrap;
        gap: 6px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .npb-ranking-league-tabs::-webkit-scrollbar {
        display: none;
    }

    .npb-ranking-league-tab {
        flex: 0 0 auto;
        min-height: 35px;
        padding: 0 11px;
        font-size: .74rem;
        white-space: nowrap;
    }

    .npb-ranking-pool-tabs {
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .npb-ranking-pool-tabs::-webkit-scrollbar {
        display: none;
    }

    .npb-ranking-pool-tab {
        flex: 1 0 auto;
        min-width: 54px;
        min-height: 36px;
        padding: 0 13px;
        font-size: .74rem;
        white-space: nowrap;
    }
}


/* 5.0.4.30 - Player Center Ranking */
.npb-player-pro-ranking-card.has-ranking {
    border-color: rgba(244, 122, 11, .24);
    background: linear-gradient(145deg, #f7faff, #fff7ed);
}

.npb-player-pro-ranking-card.has-ranking strong {
    color: #175da9;
    font-size: 2.1rem;
    line-height: 1;
}

.npb-player-pro-ranking-card.has-ranking b {
    display: block;
    margin-top: 7px;
    color: #17375f;
    font-size: .82rem;
    font-weight: 900;
}

.npb-player-pro-ranking-card.has-ranking small {
    display: block;
    margin-top: 8px;
    color: #72839a;
    line-height: 1.45;
}

@media (max-width: 700px) {
    .npb-player-pro-ranking-card.has-ranking strong {
        font-size: 1.8rem;
    }
}


/* 5.0.4.31 - klikbare spelers vanuit ranking */
.npb-player-ranking-player-link {
    color: inherit;
    text-decoration: none;
}

.npb-player-ranking-player-link strong {
    transition: color .15s ease;
}

.npb-player-ranking-player-link:hover strong,
.npb-player-ranking-player-link:focus-visible strong {
    color: #f47a0b;
}

.npb-player-ranking-player-link:focus-visible {
    outline: 2px solid #f47a0b;
    outline-offset: 3px;
    border-radius: 4px;
}

@media (max-width: 700px) {
    .npb-player-ranking-card-player.npb-player-ranking-player-link {
        min-width: 0;
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 2px;
    }
}


/* =========================================================
   5.0.4.32 - Visual Refresh: Player Center + Team Center
   Minder wit, meer NPB-kleur, duidelijkere actiekaarten
   ========================================================= */

/* ---------- Shared shell ---------- */
.npb-player-pro,
.npb-team-pro {
    --npb-navy: #0d3f7d;
    --npb-blue: #145ea8;
    --npb-blue-2: #0a4a8f;
    --npb-orange: #f47a0b;
    --npb-orange-2: #ff8b19;
    --npb-green: #188451;
    --npb-purple: #4b3cb2;
    --npb-soft: #f3f6fa;
    --npb-border: #dce5ef;
    --npb-text: #17375f;
    --npb-muted: #73859a;
}

.npb-player-pro-shell,
.npb-team-pro-shell {
    background:
        radial-gradient(circle at top right, rgba(20,94,168,.08), transparent 34%),
        linear-gradient(180deg, #f8fbff 0%, #f2f5f9 100%);
}

/* ---------- Player Center hero ---------- */
.npb-player-pro-hero {
    background:
        linear-gradient(120deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.96) 62%, rgba(255,247,237,.95) 100%);
    border-bottom: 1px solid var(--npb-border);
}

.npb-player-pro-photo {
    box-shadow:
        0 10px 28px rgba(19,62,112,.18),
        0 0 0 6px #fff;
}

.npb-player-pro-badges > span {
    border: 1px solid #d9e4f0;
    background: #fff;
    box-shadow: 0 4px 12px rgba(15,63,125,.05);
}

.npb-player-pro-badges > span:nth-child(2) {
    border-color: rgba(24,132,81,.28);
    background: #f4fbf7;
    color: #176b45;
}

/* ---------- Player ranking card ---------- */
.npb-player-pro-ranking-card {
    border: 0 !important;
    background: linear-gradient(135deg, #0a3c7b 0%, #0b559f 52%, #f47a0b 140%) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(11,70,132,.18);
}

.npb-player-pro-ranking-card span,
.npb-player-pro-ranking-card b,
.npb-player-pro-ranking-card small {
    color: rgba(255,255,255,.9) !important;
}

.npb-player-pro-ranking-card strong {
    color: #fff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.14);
}

/* ---------- Player Center action cards ---------- */
.npb-player-pro-actions {
    gap: 14px;
    padding: 16px 24px 18px;
    background: linear-gradient(180deg, #f5f8fc 0%, #eef3f8 100%);
    border-bottom: 1px solid var(--npb-border);
}

.npb-player-pro-actions .npb-player-pro-action,
.npb-player-pro-actions > button {
    min-height: 86px;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(20,63,111,.12);
    transform: translateZ(0);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.npb-player-pro-actions .npb-player-pro-action:hover,
.npb-player-pro-actions > button:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(20,63,111,.18);
    filter: saturate(1.05);
}

.npb-player-pro-action-matches {
    background: linear-gradient(135deg, #0b3e7e, #0d5aa7) !important;
}

.npb-player-pro-action-stats {
    background: linear-gradient(135deg, #3d2d96, #5b49c8) !important;
}

.npb-player-pro-action-teams {
    background: linear-gradient(135deg, #176a47, #219462) !important;
}

.npb-player-pro-action-ranking {
    background: linear-gradient(135deg, #d76500, #f58a0c) !important;
}

.npb-player-pro-actions button:disabled {
    opacity: .45 !important;
    filter: grayscale(.18);
}

.npb-player-pro-actions button .npb-player-pro-action-icon {
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.16);
}

.npb-player-pro-actions button strong,
.npb-player-pro-actions button small,
.npb-player-pro-actions button b {
    color: #fff !important;
}

.npb-player-pro-actions button small {
    opacity: .82;
}

/* ---------- Player Center content cards ---------- */
.npb-player-pro-card,
.npb-player-pro-history,
.npb-player-pro-grid > section {
    border: 1px solid var(--npb-border);
    background: rgba(255,255,255,.86);
    box-shadow: 0 8px 24px rgba(27,64,106,.06);
    backdrop-filter: blur(4px);
}

.npb-player-pro-card h2,
.npb-player-pro-history h2 {
    color: var(--npb-orange);
}

.npb-player-pro-card dl > div {
    padding: 8px 0;
    border-bottom: 1px solid #edf1f5;
}

.npb-player-pro-card dl > div:last-child {
    border-bottom: 0;
}

/* ---------- Match history rows ---------- */
.npb-player-pro-history table tbody tr:nth-child(even) {
    background: #f7f9fc;
}

.npb-player-pro-history table tbody tr:hover {
    background: #fff7ef;
}

.npb-player-pro-history .is-win,
.npb-player-pro-history [data-result="W"] {
    color: #16763f !important;
}

.npb-player-pro-history .is-loss,
.npb-player-pro-history [data-result="V"] {
    color: #c73d32 !important;
}

/* ---------- Team Center hero ---------- */
.npb-team-pro-hero,
.npb-team-center-hero {
    background:
        linear-gradient(120deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.96) 65%, rgba(255,247,237,.95) 100%);
}

/* Team captain panel */
.npb-team-pro-captain,
.npb-team-center-captain {
    border: 0 !important;
    background: linear-gradient(135deg, #edf5ff, #fff7ef) !important;
    box-shadow: 0 10px 24px rgba(20,70,120,.08);
}

/* ---------- Team Center action cards ---------- */
.npb-team-pro-actions,
.npb-team-center-actions {
    gap: 14px;
    padding: 16px 24px 18px;
    background: linear-gradient(180deg, #f5f8fc 0%, #eef3f8 100%);
    border-bottom: 1px solid var(--npb-border);
}

.npb-team-pro-actions > *,
.npb-team-center-actions > * {
    border: 0 !important;
    box-shadow: 0 10px 22px rgba(20,63,111,.10);
    transition: transform .16s ease, box-shadow .16s ease;
}

.npb-team-pro-actions > *:hover,
.npb-team-center-actions > *:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(20,63,111,.16);
}

/* kleuren per positie, zodat het ook werkt zonder extra markup */
.npb-team-pro-actions > *:nth-child(1),
.npb-team-center-actions > *:nth-child(1) {
    background: linear-gradient(135deg, #0b3e7e, #0d5aa7) !important;
    color: #fff !important;
}

.npb-team-pro-actions > *:nth-child(2),
.npb-team-center-actions > *:nth-child(2) {
    background: linear-gradient(135deg, #d76500, #f58a0c) !important;
    color: #fff !important;
}

.npb-team-pro-actions > *:nth-child(3),
.npb-team-center-actions > *:nth-child(3) {
    background: linear-gradient(135deg, #3d2d96, #5b49c8) !important;
    color: #fff !important;
}

.npb-team-pro-actions > *:nth-child(4),
.npb-team-center-actions > *:nth-child(4) {
    background: linear-gradient(135deg, #176a47, #219462) !important;
    color: #fff !important;
}

.npb-team-pro-actions strong,
.npb-team-pro-actions small,
.npb-team-pro-actions b,
.npb-team-center-actions strong,
.npb-team-center-actions small,
.npb-team-center-actions b {
    color: inherit !important;
}

/* ---------- Team Center cards / player list ---------- */
.npb-team-pro-card,
.npb-team-center-card,
.npb-team-player-list {
    border-color: var(--npb-border) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 8px 24px rgba(27,64,106,.06);
}

.npb-team-player-row:hover {
    background: #fff7ef !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 700px) {
    .npb-player-pro-actions,
    .npb-team-pro-actions,
    .npb-team-center-actions {
        gap: 8px;
        padding: 10px 12px 12px;
    }

    .npb-player-pro-actions {
        grid-template-columns: 1fr 1fr !important;
    }

    .npb-player-pro-actions .npb-player-pro-action,
    .npb-player-pro-actions > button {
        min-height: 72px;
        padding: 11px 12px !important;
        border-radius: 12px !important;
    }

    .npb-player-pro-actions button .npb-player-pro-action-icon {
        width: 34px !important;
        height: 34px !important;
    }

    .npb-player-pro-ranking-card {
        min-height: 132px;
    }

    .npb-player-pro-card,
    .npb-player-pro-history,
    .npb-team-pro-card,
    .npb-team-center-card {
        border-radius: 12px !important;
    }

    .npb-team-pro-actions,
    .npb-team-center-actions {
        grid-template-columns: 1fr 1fr !important;
    }

    .npb-team-pro-actions > *,
    .npb-team-center-actions > * {
        min-height: 72px;
        border-radius: 12px !important;
    }
}

/* 5.0.4.33 - Ranking Visual Refresh */
.npb-player-statistics-page{--rank-navy:#062b59;--rank-blue:#0c4d96;--rank-purple:#40269d;--rank-orange:#f5790b}
.npb-player-statistics-filter{background:linear-gradient(135deg,#eef5fd,#fff7ef)!important;border:1px solid #d7e2ef!important;box-shadow:0 8px 22px rgba(7,45,91,.06)}
.npb-player-ranking-navigation{background:linear-gradient(135deg,#082e61 0%,#103e88 55%,#35247f 100%)!important;border:0!important;box-shadow:0 12px 28px rgba(5,38,81,.16);overflow:hidden}
.npb-ranking-league-tabs{padding:14px 16px 10px!important;gap:10px!important}
.npb-ranking-league-tab{background:rgba(3,28,62,.45)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important}
.npb-ranking-league-tab:hover{background:rgba(255,255,255,.12)!important}
.npb-ranking-league-tab.is-active{background:linear-gradient(135deg,#ef6900,#ff8b0b)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 18px rgba(245,121,11,.24)!important}
.npb-ranking-pool-tabs{background:rgba(2,28,61,.52)!important;border-top:1px solid rgba(255,255,255,.12);padding:0 16px!important}
.npb-ranking-pool-tab{color:rgba(255,255,255,.88)!important;background:transparent!important;border:0!important;border-radius:8px 8px 0 0!important;padding:13px 22px!important}
.npb-ranking-pool-tab.is-active{color:#fff!important;background:linear-gradient(180deg,#ff8711,#f36d00)!important}
.npb-player-statistics-card{border:1px solid #d7e2ef!important;border-radius:16px!important;overflow:hidden;box-shadow:0 16px 34px rgba(5,45,93,.10);background:#f7faff!important}
.npb-ranking-hero{position:relative;min-height:190px;padding:30px 34px!important;color:#fff!important;background:radial-gradient(circle at 86% 28%,rgba(245,121,11,.28),transparent 24%),radial-gradient(circle at 72% 55%,rgba(98,59,194,.30),transparent 32%),linear-gradient(115deg,#062b59 0%,#0a4387 48%,#342276 100%)!important;border:0!important}
.npb-ranking-hero .npb-eyebrow{color:#c5b7ff!important;letter-spacing:.10em}
.npb-ranking-hero h2{margin:4px 0!important;color:#fff!important;font-size:clamp(2rem,4vw,3.15rem)!important;text-shadow:0 3px 16px rgba(0,0,0,.20)}
.npb-ranking-season{margin:0!important;color:rgba(255,255,255,.82)!important;font-size:1.15rem}
.npb-ranking-sortinfo{margin:14px 0 0!important;color:rgba(255,255,255,.88)!important;font-size:.94rem}
.npb-ranking-hero .npb-player-statistics-badge{background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
.npb-player-statistics-table-wrap{padding:16px!important;background:#f5f8fc}
.npb-player-statistics-table{border-radius:12px;border:1px solid #dbe5f0;background:#fff;overflow:hidden}
.npb-player-statistics-table thead th{background:linear-gradient(180deg,#f2f6fb,#eaf1f8)!important;color:#173d6d!important}
.npb-player-statistics-table tbody tr:nth-child(even){background:#fbfdff}
.npb-player-statistics-table tbody tr:hover{background:#fff7ef!important}
.npb-ranking-saldo.is-positive{color:#13803e!important}.npb-ranking-saldo.is-negative{color:#d4362b!important}.npb-ranking-percentage{color:#0756c7!important}
.npb-player-ranking-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
.npb-player-ranking-stat{background:#f4f7fb!important;border:1px solid #dce5ef!important}
@media(max-width:700px){.npb-ranking-league-tabs{padding:10px!important}.npb-ranking-league-tab{flex:0 0 auto;min-height:46px;padding:0 16px!important}.npb-ranking-pool-tabs{padding:0 8px!important}.npb-ranking-pool-tab{flex:0 0 auto;padding:11px 16px!important}.npb-ranking-hero{min-height:165px;padding:24px 20px!important}.npb-ranking-hero h2{font-size:2.1rem!important}.npb-ranking-sortinfo{font-size:.82rem;line-height:1.45}.npb-player-ranking-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* 5.0.4.34 - Definitieve NPB Dark Ranking */
.npb-player-statistics-page{--npb-dark:#031a38;--npb-blue:#0c4f9d;--npb-purple:#38247f;--npb-orange:#f47700}
.npb-player-statistics-filter{background:linear-gradient(110deg,#eef5fd,#fff8f1)!important;border:1px solid #d7e1ed!important;border-radius:14px!important}
.npb-player-ranking-navigation{background:linear-gradient(105deg,#062a59 0%,#0c4c96 55%,#3a247e 100%)!important;border-radius:14px!important;padding:0!important}
.npb-ranking-league-tab{color:#fff!important;background:rgba(0,18,47,.42)!important;border:1px solid rgba(255,255,255,.24)!important}
.npb-ranking-league-tab.is-active{background:linear-gradient(135deg,#ff8b12,#f26700)!important;border-color:transparent!important}
.npb-ranking-pool-tabs{background:rgba(0,16,43,.36)!important}
.npb-ranking-hero{min-height:205px;border-radius:16px!important;overflow:hidden;padding:30px 34px!important;background:radial-gradient(circle at 88% 34%,rgba(244,119,0,.30),transparent 17%),radial-gradient(circle at 73% 52%,rgba(99,55,190,.38),transparent 29%),linear-gradient(115deg,#031a38 0%,#083b78 49%,#38247f 100%)!important;box-shadow:0 16px 34px rgba(3,26,56,.17)}
.npb-ranking-hero h2{color:#fff!important}.npb-ranking-season{color:#dbe9ff!important}.npb-ranking-sortinfo{color:#dce7f6!important}
.npb-player-statistics-table-wrap{margin-top:14px;padding:0!important;background:#f4f7fb!important;border:1px solid #dbe4ef;border-radius:16px!important;box-shadow:0 14px 30px rgba(5,42,84,.09);overflow:hidden}
.npb-player-statistics-table{margin:0!important;width:100%;background:#fff!important;border:0!important}
.npb-player-statistics-table thead th{background:#edf3f9!important;color:#173b69!important;border-bottom:1px solid #d9e3ee!important}
.npb-player-statistics-table tbody tr{background:#fff!important}.npb-player-statistics-table tbody tr:nth-child(even){background:#fbfcfe!important}.npb-player-statistics-table tbody tr:hover{background:#fff8f1!important}
.npb-ranking-played{color:#0757bf!important}.npb-ranking-saldo.is-positive{color:#16813e!important}.npb-ranking-saldo.is-negative{color:#cf3428!important}.npb-ranking-percentage{color:#4325c7!important}
.npb-player-stat-position-badge{border-radius:50%!important;background:#eaf1fb!important;color:#0b4c94!important;border:0!important;box-shadow:none!important}
.npb-player-stat-position-badge.is-top-1{background:#fff0dd!important;color:#ef7200!important}.npb-player-stat-position-badge.is-top-2{background:#edf0f4!important;color:#66707c!important}.npb-player-stat-position-badge.is-top-3{background:#f4e7dd!important;color:#a75218!important}
.npb-player-statistics-mobile{margin-top:14px;background:#f4f7fb!important;border:1px solid #dbe4ef;border-radius:16px;overflow:hidden}.npb-player-ranking-card{background:#fff!important}
.npb-player-ranking-card-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media(max-width:700px){.npb-ranking-hero{min-height:170px;border-radius:12px!important;padding:22px 20px!important}.npb-player-ranking-card-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.npb-player-ranking-stat{padding:10px 5px!important}}


/* 5.0.4.35 - Ranking met donkere zijpanelen */
.npb-player-ranking-navigation{margin-bottom:14px!important}
.npb-player-statistics-competition{background:transparent!important}
.npb-ranking-hero{margin-bottom:14px}
.npb-ranking-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.npb-ranking-main{min-width:0}
.npb-ranking-main .npb-player-statistics-table-wrap,
.npb-ranking-main .npb-player-statistics-mobile{margin-top:0!important}
.npb-ranking-sidebar{display:grid;gap:16px}
.npb-ranking-sidecard{border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(145deg,#06254f 0%,#0a3975 58%,#182662 100%);color:#fff;box-shadow:0 14px 30px rgba(3,26,56,.16);overflow:hidden}
.npb-ranking-sidecard-title{display:flex;align-items:center;gap:10px;padding:18px 18px 8px}
.npb-ranking-sidecard-title h3,.npb-ranking-sidecard>h3{margin:0;color:#fff;font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.npb-ranking-sidecard>h3{padding:18px 18px 10px}
.npb-ranking-sidecard-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#5a36c8,#7a4ce1);font-size:1rem}
.npb-ranking-sidecard dl{margin:0;padding:0 18px 16px}
.npb-ranking-sidecard dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.npb-ranking-sidecard dl>div:last-child{border-bottom:0}
.npb-ranking-sidecard dt{color:rgba(255,255,255,.78);font-weight:700}
.npb-ranking-sidecard dd{margin:0;color:#fff;font-weight:900;text-align:right}
.npb-ranking-sidecard-legend dl>div{grid-template-columns:78px minmax(0,1fr)}
.npb-ranking-sidecard-legend dd{text-align:left;font-weight:600;color:rgba(255,255,255,.84)}
.npb-ranking-sidecard .is-win{color:#45d36f!important}
.npb-ranking-sidecard .is-loss{color:#ff665d!important}
.npb-ranking-sidecard .npb-ranking-played{color:#55a2ff!important}
.npb-ranking-sidecard .npb-ranking-saldo.is-positive{color:#54d985!important}
.npb-ranking-sidecard .npb-ranking-percentage{color:#b79aff!important}
.npb-ranking-hero{background:radial-gradient(circle at 84% 34%,rgba(255,116,0,.34),transparent 18%),radial-gradient(circle at 70% 48%,rgba(101,54,196,.42),transparent 31%),linear-gradient(115deg,#03182f 0%,#07386e 48%,#36206f 100%)!important}
.npb-ranking-hero:before{content:"";position:absolute;right:4%;top:18%;width:34%;height:58%;opacity:.22;pointer-events:none;background:radial-gradient(circle at 22% 55%,rgba(255,151,48,.75) 0 11%,transparent 12%),radial-gradient(circle at 50% 48%,rgba(226,45,31,.65) 0 14%,transparent 15%),radial-gradient(circle at 78% 56%,rgba(235,223,202,.46) 0 12%,transparent 13%)}
.npb-ranking-hero-content{max-width:68%}
.npb-ranking-hero .npb-player-statistics-badge{align-self:end!important}
.npb-player-statistics-table tbody td,.npb-player-statistics-table tbody th{padding-top:14px!important;padding-bottom:14px!important}
@media(max-width:980px){.npb-ranking-content-grid{grid-template-columns:1fr}.npb-ranking-sidebar{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.npb-ranking-hero-content{max-width:100%}.npb-ranking-hero:before{display:none}.npb-ranking-sidebar{grid-template-columns:1fr}.npb-ranking-sidecard{border-radius:12px}}


/* =========================================================
   5.0.4.36 - Compacte ranking + spelersfoto's
   ========================================================= */

/* Desktop: duidelijk minder hoge rijen */
.npb-player-statistics-table tbody td,
.npb-player-statistics-table tbody th {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    vertical-align: middle !important;
}

.npb-player-statistics-table thead th {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.npb-player-stat-name {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 36px;
}

.npb-ranking-player-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.npb-ranking-player-copy strong {
    line-height: 1.08 !important;
}

.npb-ranking-player-copy small {
    line-height: 1.05 !important;
}

.npb-ranking-player-photo {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    border: 2px solid #fff;
    box-shadow: 0 2px 7px rgba(8,45,87,.16);
    background: #eaf1f8;
}

.npb-ranking-player-photo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #174b84;
    font-size: .78rem;
    font-weight: 900;
}

.npb-player-stat-position-badge {
    width: 30px !important;
    height: 30px !important;
    font-size: .82rem !important;
}

/* Rechter panelen wat compacter */
.npb-ranking-sidecard-title {
    padding-top: 14px !important;
}

.npb-ranking-sidecard > h3 {
    padding-top: 14px !important;
}

.npb-ranking-sidecard dl > div {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

/* Mobiel */
@media (max-width: 700px) {
    .npb-player-ranking-card {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }

    .npb-player-ranking-card-main {
        gap: 8px !important;
    }

    .npb-player-ranking-card-player {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 9px !important;
    }

    .npb-ranking-player-photo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .npb-player-ranking-card-stats {
        margin-top: 8px !important;
    }
}


/* =========================================================
   5.0.4.37 - Compacte spelerkolom
   Foto naast naam in plaats van erboven.
   ========================================================= */

.npb-player-stat-name {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 34px !important;
    width: auto !important;
}

.npb-ranking-player-copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1px !important;
}

.npb-ranking-player-copy strong {
    line-height: 1.05 !important;
    white-space: nowrap;
}

.npb-ranking-player-copy small {
    line-height: 1 !important;
    margin-top: 1px !important;
}

.npb-ranking-player-photo {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    margin: 0 !important;
    display: block !important;
}

.npb-player-statistics-table tbody td,
.npb-player-statistics-table tbody th {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    vertical-align: middle !important;
}

.npb-player-stat-position {
    width: 54px !important;
}

.npb-player-stat-position-badge {
    width: 28px !important;
    height: 28px !important;
    font-size: .78rem !important;
}

.npb-player-statistics-simple-table th:nth-child(2) {
    min-width: 250px !important;
}

.npb-player-statistics-simple-table td,
.npb-player-statistics-simple-table th {
    vertical-align: middle !important;
}

@media (max-width: 700px) {
    .npb-player-ranking-card-main {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .npb-player-ranking-card-player {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    .npb-ranking-player-photo {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
    }

    .npb-ranking-player-copy strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .npb-player-ranking-card {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}


/* 5.0.4.38 - Foto definitief naast naam */
.npb-player-statistics-simple-table .npb-ranking-player-rowlink{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    column-gap:10px!important;
    align-items:center!important;
    width:100%!important;
    min-height:36px!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
}
.npb-player-statistics-simple-table .npb-ranking-player-rowlink>.npb-ranking-player-photo{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:start!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    margin:0!important;
    position:static!important;
    transform:none!important;
}
.npb-player-statistics-simple-table .npb-ranking-player-rowlink>.npb-ranking-player-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
}
.npb-player-statistics-simple-table .npb-ranking-player-rowlink .npb-ranking-player-copy strong{
    display:block!important;
    margin:0!important;
    line-height:1.08!important;
}
.npb-player-statistics-simple-table .npb-ranking-player-rowlink .npb-ranking-player-copy small{
    display:block!important;
    margin:2px 0 0!important;
    line-height:1!important;
}
.npb-player-statistics-simple-table tbody td,
.npb-player-statistics-simple-table tbody th{
    padding-top:6px!important;
    padding-bottom:6px!important;
    height:auto!important;
}
.npb-player-statistics-simple-table tbody tr{height:auto!important}
.npb-player-statistics-simple-table th:nth-child(2){min-width:260px!important}

@media(max-width:700px){
    .npb-player-ranking-card-player.npb-player-ranking-player-link{
        display:grid!important;
        grid-template-columns:34px minmax(0,1fr)!important;
        grid-template-rows:auto!important;
        column-gap:9px!important;
        align-items:center!important;
        width:100%!important;
    }
    .npb-player-ranking-card-player>.npb-ranking-player-photo{
        grid-column:1!important;
        grid-row:1!important;
        margin:0!important;
    }
    .npb-player-ranking-card-player>.npb-ranking-player-copy{
        grid-column:2!important;
        grid-row:1!important;
        align-items:flex-start!important;
    }
}


/* =========================================================
   5.0.4.39 - Mobile Ranking Polish
   Compactere iPhone-layout zonder grote statistiekblokken
   ========================================================= */

@media (max-width: 700px) {

    .npb-player-statistics-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* seizoenfilter compacter */
    .npb-player-statistics-filter {
        padding: 12px !important;
        margin-bottom: 10px !important;
    }

    .npb-player-statistics-filter form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .npb-player-statistics-filter select {
        width: 100% !important;
        min-height: 44px !important;
    }

    /* league navigatie lager en strakker */
    .npb-player-ranking-navigation {
        margin-bottom: 10px !important;
    }

    .npb-ranking-league-tabs {
        gap: 6px !important;
        padding: 8px !important;
    }

    .npb-ranking-league-tab {
        min-height: 40px !important;
        padding: 0 13px !important;
        font-size: .76rem !important;
        border-radius: 9px !important;
    }

    /* één zichtbare league: niet enorm breed laten ogen */
    .npb-ranking-league-tabs > :only-child {
        min-width: 126px !important;
    }

    .npb-ranking-pool-tabs {
        min-height: 38px !important;
    }

    .npb-ranking-pool-tab {
        min-height: 36px !important;
        padding: 0 14px !important;
        font-size: .75rem !important;
    }

    /* hero veel compacter */
    .npb-ranking-hero {
        min-height: 0 !important;
        padding: 18px 18px 16px !important;
        margin-bottom: 10px !important;
        border-radius: 12px !important;
    }

    .npb-ranking-hero h2 {
        margin-top: 3px !important;
        font-size: 1.8rem !important;
        line-height: 1 !important;
    }

    .npb-ranking-season {
        margin-top: 7px !important;
        font-size: .95rem !important;
    }

    .npb-ranking-sortinfo {
        margin-top: 10px !important;
        max-width: none !important;
        font-size: .73rem !important;
        line-height: 1.4 !important;
    }

    .npb-ranking-hero .npb-player-statistics-badge {
        position: static !important;
        display: inline-flex !important;
        margin-top: 12px !important;
        padding: 6px 10px !important;
        font-size: .68rem !important;
        align-self: flex-start !important;
    }

    /* mobiele lijst: gewone rijen i.p.v. grote kaarten */
    .npb-player-statistics-mobile {
        margin-top: 0 !important;
        border-radius: 12px !important;
        background: #fff !important;
    }

    .npb-player-ranking-card {
        display: block !important;
        padding: 10px 11px !important;
        background: #fff !important;
        border-bottom: 1px solid #e1e8f0 !important;
    }

    .npb-player-ranking-card-main {
        display: grid !important;
        grid-template-columns: 30px minmax(0,1fr) !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .npb-player-ranking-card .npb-player-stat-position-badge {
        width: 28px !important;
        height: 28px !important;
        font-size: .76rem !important;
    }

    .npb-player-ranking-card-player.npb-player-ranking-player-link {
        display: grid !important;
        grid-template-columns: 34px minmax(0,1fr) !important;
        column-gap: 8px !important;
        align-items: center !important;
        min-width: 0 !important;
    }

    .npb-player-ranking-card-player .npb-ranking-player-photo {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
    }

    .npb-player-ranking-card-player .npb-ranking-player-copy strong {
        font-size: .94rem !important;
        line-height: 1.05 !important;
    }

    .npb-player-ranking-card-player .npb-ranking-player-copy small {
        margin-top: 2px !important;
        font-size: .64rem !important;
    }

    /* statistieken als één compacte lijn */
    .npb-player-ranking-card-stats {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0,1fr)) !important;
        gap: 4px !important;
        margin-top: 8px !important;
    }

    .npb-player-ranking-card-stats > div {
        min-width: 0 !important;
        padding: 5px 2px !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: #f5f8fc !important;
    }

    .npb-player-ranking-card-stats span {
        font-size: .48rem !important;
        line-height: 1 !important;
        letter-spacing: .01em !important;
        white-space: nowrap !important;
    }

    .npb-player-ranking-card-stats strong {
        margin-top: 3px !important;
        font-size: .8rem !important;
        line-height: 1 !important;
    }

    .npb-player-ranking-card-stats .is-percentage strong {
        font-size: .76rem !important;
    }

    /* zijpanelen onder ranking, compact */
    .npb-ranking-sidebar {
        gap: 10px !important;
        margin-top: 10px !important;
    }

    .npb-ranking-sidecard-title {
        padding: 12px 14px 5px !important;
    }

    .npb-ranking-sidecard > h3 {
        padding: 12px 14px 6px !important;
    }

    .npb-ranking-sidecard dl {
        padding: 0 14px 10px !important;
    }

    .npb-ranking-sidecard dl > div {
        padding: 8px 0 !important;
        font-size: .78rem !important;
    }
}

/* extra smalle iPhones */
@media (max-width: 390px) {
    .npb-player-statistics-page {
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .npb-ranking-hero {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .npb-player-ranking-card {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .npb-player-ranking-card-stats strong {
        font-size: .74rem !important;
    }

    .npb-player-ranking-card-stats .is-percentage strong {
        font-size: .7rem !important;
    }
}


/* =========================================================
   5.0.4.40 - Desktop compact toolbar + mobile finetune
   ========================================================= */

/* DESKTOP/TABLET: season and league navigation on one line */
@media (min-width: 701px) {
    .npb-ranking-toolbar {
        display: grid !important;
        grid-template-columns: 310px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
        margin-bottom: 14px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter,
    .npb-ranking-toolbar .npb-player-ranking-navigation {
        margin: 0 !important;
        min-height: 62px !important;
        height: 100% !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter {
        display: flex !important;
        align-items: center !important;
        padding: 10px 14px !important;
        border-radius: 14px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter form {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
        width: 100% !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter label {
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select {
        width: 100% !important;
        min-height: 40px !important;
    }

    .npb-ranking-toolbar .npb-player-ranking-navigation {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    .npb-ranking-toolbar .npb-ranking-league-tabs {
        min-height: 62px !important;
        align-items: center !important;
        padding: 9px 14px !important;
    }

    .npb-ranking-toolbar .npb-ranking-league-tab {
        min-height: 40px !important;
    }

    .npb-ranking-toolbar .npb-ranking-pool-tabs {
        margin-top: 0 !important;
    }
}

/* MOBILE: keep season above navigation, but tighter and better balanced */
@media (max-width: 700px) {
    .npb-ranking-toolbar {
        display: block !important;
        margin-bottom: 10px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter {
        margin-bottom: 10px !important;
    }

    .npb-ranking-toolbar .npb-player-ranking-navigation {
        margin-bottom: 0 !important;
    }

    /* slightly smaller hero: more ranking visible without hurting readability */
    .npb-ranking-hero {
        padding-top: 16px !important;
        padding-bottom: 14px !important;
    }

    .npb-ranking-hero h2 {
        font-size: 1.72rem !important;
    }

    .npb-ranking-sortinfo {
        margin-top: 8px !important;
        font-size: .70rem !important;
    }

    .npb-ranking-hero .npb-player-statistics-badge {
        margin-top: 9px !important;
    }

    /* tighter mobile player rows */
    .npb-player-ranking-card {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .npb-player-ranking-card-stats {
        margin-top: 7px !important;
    }

    .npb-player-ranking-card-stats > div {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
}


/* =========================================================
   5.0.4.41 - Seizoenkeuze geïntegreerd in ranking toolbar
   ========================================================= */

@media (min-width: 701px) {
    .npb-ranking-toolbar {
        grid-template-columns: 300px minmax(0, 1fr) !important;
        gap: 0 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        background: linear-gradient(105deg, #062a59 0%, #0c4c96 55%, #3a247e 100%) !important;
        box-shadow: 0 12px 28px rgba(5,38,81,.14) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter,
    .npb-ranking-toolbar .npb-player-ranking-navigation {
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter {
        padding: 10px 14px 10px 16px !important;
        border-right: 1px solid rgba(255,255,255,.14) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter form {
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter label {
        color: rgba(255,255,255,.90) !important;
        font-size: .78rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: .04em !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select {
        min-height: 40px !important;
        padding: 0 38px 0 13px !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        border-radius: 9px !important;
        background-color: rgba(0,18,47,.46) !important;
        color: #fff !important;
        font-size: .82rem !important;
        font-weight: 900 !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select:hover,
    .npb-ranking-toolbar .npb-player-statistics-filter select:focus {
        border-color: rgba(255,139,18,.95) !important;
        background-color: rgba(0,26,62,.62) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(244,119,0,.14) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select option {
        background: #082b59 !important;
        color: #fff !important;
    }

    .npb-ranking-toolbar .npb-player-ranking-navigation {
        min-height: 62px !important;
    }

    .npb-ranking-toolbar .npb-ranking-league-tabs {
        padding-left: 14px !important;
    }
}

@media (max-width: 700px) {
    .npb-ranking-toolbar .npb-player-statistics-filter {
        background: linear-gradient(105deg, #062a59 0%, #0c4c96 55%, #3a247e 100%) !important;
        border: 0 !important;
        box-shadow: 0 10px 24px rgba(5,38,81,.12) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter label {
        color: rgba(255,255,255,.92) !important;
        font-size: .76rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: .04em !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select {
        border: 1px solid rgba(255,255,255,.24) !important;
        background-color: rgba(0,18,47,.42) !important;
        color: #fff !important;
        font-weight: 900 !important;
        box-shadow: none !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select option {
        background: #082b59 !important;
        color: #fff !important;
    }
}


/* 5.0.4.42 - Compactere seizoenkeuze op desktop */
@media (min-width: 701px) {
    .npb-ranking-toolbar {
        grid-template-columns: 275px minmax(0, 1fr) !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter {
        padding-left: 14px !important;
        padding-right: 10px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter form {
        grid-template-columns: auto 1fr !important;
        gap: 8px !important;
    }

    .npb-ranking-toolbar .npb-player-statistics-filter select {
        min-width: 0 !important;
        width: 100% !important;
        padding-left: 11px !important;
        padding-right: 30px !important;
    }

    .npb-ranking-toolbar .npb-ranking-league-tabs {
        padding-left: 16px !important;
    }
}


/* =========================================================
   5.0.4.43 - Compact Desktop Layout
   Minder witruimte boven navigatie + lagere ranking hero
   ========================================================= */

/* Alleen desktop/tablet compacter maken */
@media (min-width: 701px) {

    /* Minder ruimte tussen websiteheader en rankingtoolbar */
    .npb-player-statistics-page {
        padding-top: 18px !important;
    }

    .npb-ranking-toolbar {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
    }

    /* Hero flink lager, zodat meer spelers direct zichtbaar zijn */
    .npb-ranking-hero {
        min-height: 0 !important;
        padding: 18px 26px !important;
        margin-bottom: 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 18px !important;
    }

    .npb-ranking-hero h2 {
        margin: 3px 0 2px !important;
        font-size: 2.35rem !important;
        line-height: 1 !important;
    }

    .npb-ranking-season {
        margin-top: 4px !important;
        font-size: 1rem !important;
        line-height: 1.2 !important;
    }

    .npb-ranking-sortinfo {
        margin-top: 9px !important;
        font-size: .82rem !important;
        line-height: 1.35 !important;
    }

    .npb-ranking-hero .npb-player-statistics-badge {
        margin: 0 !important;
        align-self: center !important;
        justify-self: end !important;
        padding: 7px 12px !important;
        font-size: .72rem !important;
    }

    /* Tabel direct dichter onder hero */
    .npb-ranking-content-grid {
        gap: 12px !important;
    }

    .npb-player-statistics-table-wrap {
        margin-top: 0 !important;
    }

    /* rechter panelen ook iets lager/compacter */
    .npb-ranking-sidebar {
        gap: 12px !important;
    }

    .npb-ranking-sidecard-title {
        padding: 12px 14px 5px !important;
    }

    .npb-ranking-sidecard > h3 {
        padding: 12px 14px 6px !important;
    }

    .npb-ranking-sidecard dl {
        padding: 0 14px 10px !important;
    }

    .npb-ranking-sidecard dl > div {
        padding: 8px 0 !important;
    }
}

/* Full HD / grotere desktop: nog net iets efficiënter */
@media (min-width: 1200px) {
    .npb-player-statistics-page {
        padding-top: 14px !important;
    }

    .npb-ranking-hero {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .npb-ranking-hero h2 {
        font-size: 2.25rem !important;
    }
}

/* Mobiel ongemoeid laten */
@media (max-width: 700px) {
    .npb-player-statistics-page {
        padding-top: initial;
    }
}


/* =========================================================
   5.0.4.44 - Competitiestand in dezelfde Pro-stijl als ranking
   ========================================================= */

@media (min-width: 701px) {

    /* Competitiepagina compacter onder de websiteheader */
    .npb-competition-page,
    .npb-competitions-page {
        padding-top: 14px !important;
    }

    /* Seizoen + league navigatie als één NPB Pro toolbar */
    .npb-competition-toolbar,
    .npb-competitions-toolbar {
        display: grid !important;
        grid-template-columns: 275px minmax(0,1fr) !important;
        gap: 0 !important;
        border: 0 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        background: linear-gradient(105deg,#062a59 0%,#0c4c96 55%,#3a247e 100%) !important;
        box-shadow: 0 12px 28px rgba(5,38,81,.14) !important;
        margin-bottom: 10px !important;
    }

    .npb-competition-toolbar .npb-season-filter,
    .npb-competitions-toolbar .npb-season-filter {
        padding: 10px 10px 10px 14px !important;
        background: transparent !important;
        border: 0 !important;
        border-right: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .npb-competition-toolbar .npb-season-filter label,
    .npb-competitions-toolbar .npb-season-filter label {
        color: rgba(255,255,255,.92) !important;
        font-size: .76rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
    }

    .npb-competition-toolbar .npb-season-filter select,
    .npb-competitions-toolbar .npb-season-filter select {
        min-height: 40px !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        border-radius: 9px !important;
        background-color: rgba(0,18,47,.46) !important;
        color: #fff !important;
        font-weight: 900 !important;
        box-shadow: none !important;
    }

    /* Bestaande competitienavigatie visueel laten matchen */
    .npb-competition-navigation,
    .npb-competitions-navigation {
        margin: 0 !important;
        padding: 10px 14px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-competition-navigation a,
    .npb-competitions-navigation a {
        border: 1px solid rgba(255,255,255,.25) !important;
        background: rgba(0,37,82,.56) !important;
        color: #fff !important;
        border-radius: 8px !important;
        font-weight: 800 !important;
    }

    .npb-competition-navigation a.is-active,
    .npb-competition-navigation a.active,
    .npb-competitions-navigation a.is-active,
    .npb-competitions-navigation a.active {
        background: linear-gradient(135deg,#ff9418,#f47700) !important;
        border-color: #ff9418 !important;
        color: #fff !important;
        box-shadow: 0 7px 18px rgba(244,119,0,.22) !important;
    }

    /* Stand header/hero */
    .npb-standings-hero,
    .npb-competition-hero {
        position: relative !important;
        overflow: hidden !important;
        min-height: 0 !important;
        padding: 17px 26px !important;
        margin-bottom: 10px !important;
        border-radius: 15px !important;
        background:
            radial-gradient(circle at 76% 47%,rgba(255,190,150,.24) 0 4.3%,transparent 4.6%),
            radial-gradient(circle at 85% 47%,rgba(214,68,91,.25) 0 4.1%,transparent 4.4%),
            radial-gradient(circle at 94% 47%,rgba(255,220,190,.24) 0 4.4%,transparent 4.7%),
            linear-gradient(105deg,#032b59 0%,#0b4d96 55%,#3a247e 100%) !important;
        color: #fff !important;
        box-shadow: 0 12px 28px rgba(5,38,81,.13) !important;
    }

    .npb-standings-hero h1,
    .npb-standings-hero h2,
    .npb-competition-hero h1,
    .npb-competition-hero h2 {
        color: #fff !important;
        margin: 3px 0 !important;
        line-height: 1 !important;
    }

    /* Tabs Stand / Wedstrijden / Uitslagen in hero-stijl */
    .npb-competition-view-tabs {
        background: linear-gradient(105deg,#06376c,#243d91 65%,#3a247e) !important;
        border-color: rgba(255,255,255,.16) !important;
    }

    .npb-competition-view-tabs a {
        color: #fff !important;
        background: rgba(0,28,66,.30) !important;
        border-color: rgba(255,255,255,.32) !important;
    }

    .npb-competition-view-tabs a.active,
    .npb-competition-view-tabs a.is-active {
        background: linear-gradient(135deg,#ff9418,#f47700) !important;
        border-color: #ff9418 !important;
        color: #fff !important;
    }

    /* Stand + rechterkolom */
    .npb-standings-content-grid {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) 320px !important;
        gap: 14px !important;
        align-items: start !important;
    }

    .npb-standings-sidebar {
        display: grid !important;
        gap: 12px !important;
    }

    .npb-standings-sidecard {
        border-radius: 15px !important;
        overflow: hidden !important;
        background: linear-gradient(145deg,#07336b,#104c91 68%,#26377f) !important;
        color: #fff !important;
        box-shadow: 0 10px 25px rgba(5,38,81,.13) !important;
    }

    .npb-standings-sidecard h3 {
        color: #fff !important;
        margin: 0 !important;
        padding: 15px 16px 8px !important;
    }

    .npb-standings-sidecard dl,
    .npb-standings-sidecard .npb-sidecard-body {
        padding: 0 16px 13px !important;
    }

    .npb-standings-sidecard dl > div {
        display: flex !important;
        justify-content: space-between !important;
        gap: 15px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.13) !important;
    }

    /* Tabel licht houden zoals ranking */
    .npb-standings-table-wrap {
        border-radius: 15px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 0 10px 24px rgba(5,38,81,.08) !important;
    }

    .npb-standings-table thead th {
        background: linear-gradient(180deg,#edf4fb,#e5eef8) !important;
        color: #07346b !important;
        font-size: .72rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
    }

    .npb-standings-table tbody tr {
        background: #fff !important;
    }

    .npb-standings-table tbody tr:nth-child(even) {
        background: #f8fafc !important;
    }

    .npb-standings-table td {
        border-color: #dfe8f2 !important;
    }
}

/* Mobiel dezelfde ontwerp-familie, zonder geforceerde 2-koloms layout */
@media (max-width: 700px) {
    .npb-competition-toolbar,
    .npb-competitions-toolbar {
        background: linear-gradient(105deg,#062a59 0%,#0c4c96 55%,#3a247e 100%) !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    .npb-competition-toolbar .npb-season-filter,
    .npb-competitions-toolbar .npb-season-filter {
        background: transparent !important;
        border: 0 !important;
    }

    .npb-competition-toolbar .npb-season-filter label,
    .npb-competitions-toolbar .npb-season-filter label {
        color: #fff !important;
    }

    .npb-competition-toolbar .npb-season-filter select,
    .npb-competitions-toolbar .npb-season-filter select {
        background-color: rgba(0,18,47,.44) !important;
        color: #fff !important;
        border-color: rgba(255,255,255,.25) !important;
    }

    .npb-standings-content-grid {
        display: block !important;
    }

    .npb-standings-sidebar {
        margin-top: 12px !important;
    }
}


/* =========================================================
   5.0.4.45 - Corrected Competition PRO styling
   Uses the ACTUAL competities template classes
   ========================================================= */

@media (min-width: 701px) {
    .npb-competitions-public {
        padding-top: 14px !important;
    }

    .npb-competition-toolbar-pro {
        display: grid !important;
        grid-template-columns: 275px minmax(0,1fr) !important;
        gap: 0 !important;
        margin-bottom: 10px !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        background: linear-gradient(105deg,#062a59 0%,#0c4c96 55%,#3a247e 100%) !important;
        box-shadow: 0 12px 28px rgba(5,38,81,.14) !important;
    }

    .npb-competition-toolbar-pro .npb-competition-filter {
        margin: 0 !important;
        padding: 10px 10px 10px 14px !important;
        border: 0 !important;
        border-right: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-competition-toolbar-pro .npb-competition-filter form {
        display: grid !important;
        grid-template-columns: auto minmax(0,1fr) !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .npb-competition-toolbar-pro .npb-competition-filter label {
        margin: 0 !important;
        color: #fff !important;
        font-size: .74rem !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
    }

    .npb-competition-toolbar-pro .npb-season-control {
        width: 100% !important;
    }

    .npb-competition-toolbar-pro #npb-season {
        width: 100% !important;
        min-height: 40px !important;
        padding: 0 30px 0 11px !important;
        border: 1px solid rgba(255,255,255,.28) !important;
        border-radius: 9px !important;
        background-color: rgba(0,18,47,.46) !important;
        color: #fff !important;
        font-weight: 900 !important;
        box-shadow: none !important;
    }

    .npb-competition-toolbar-pro #npb-season option {
        background: #082b59 !important;
        color: #fff !important;
    }

    .npb-competition-toolbar-pro .npb-competition-quicknav {
        margin: 0 !important;
        padding: 10px 14px !important;
        min-height: 62px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-competition-toolbar-pro .npb-league-selector {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 42px !important;
    }

    .npb-competition-toolbar-pro .npb-league-chip {
        min-height: 40px !important;
        padding: 0 14px !important;
        border: 1px solid rgba(255,255,255,.25) !important;
        border-radius: 8px !important;
        background: rgba(0,37,82,.56) !important;
        color: #fff !important;
        font-weight: 800 !important;
    }

    .npb-competition-toolbar-pro .npb-league-chip.is-active {
        background: linear-gradient(135deg,#ff9418,#f47700) !important;
        border-color: #ff9418 !important;
        color: #fff !important;
        box-shadow: 0 7px 18px rgba(244,119,0,.22) !important;
    }

    .npb-competition-toolbar-pro .npb-pool-selector {
        margin-top: 6px !important;
    }

    .npb-competition-toolbar-pro .npb-pool-chip {
        color: #fff !important;
        border-color: rgba(255,255,255,.24) !important;
        background: rgba(0,28,66,.42) !important;
    }

    .npb-competition-toolbar-pro .npb-pool-chip.is-active {
        background: linear-gradient(135deg,#ff9418,#f47700) !important;
        color:#fff !important;
    }

    .npb-standings-card {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-standings-hero-pro {
        position: relative !important;
        overflow: hidden !important;
        min-height: 0 !important;
        padding: 16px 24px !important;
        border-radius: 15px 15px 0 0 !important;
        background:
          radial-gradient(circle at 76% 45%,rgba(255,190,150,.22) 0 4.2%,transparent 4.5%),
          radial-gradient(circle at 85% 45%,rgba(214,68,91,.24) 0 4.0%,transparent 4.3%),
          radial-gradient(circle at 94% 45%,rgba(255,220,190,.22) 0 4.3%,transparent 4.6%),
          linear-gradient(105deg,#032b59 0%,#0b4d96 55%,#3a247e 100%) !important;
        color:#fff !important;
    }

    .npb-standings-hero-pro .npb-eyebrow,
    .npb-standings-hero-pro h2 {
        color:#fff !important;
    }

    .npb-standings-hero-pro h2 {
        margin: 3px 0 0 !important;
        font-size: 2rem !important;
        line-height: 1 !important;
    }

    .npb-standings-hero-pro .npb-count-badge {
        background: rgba(255,255,255,.14) !important;
        color:#fff !important;
        border:1px solid rgba(255,255,255,.18) !important;
    }

    .npb-competition-tabs {
        padding: 6px !important;
        gap: 6px !important;
        border: 0 !important;
        background: linear-gradient(105deg,#06376c,#243d91 65%,#3a247e) !important;
    }

    .npb-competition-tab {
        min-height: 38px !important;
        color:#fff !important;
        border:1px solid rgba(255,255,255,.28) !important;
        background: rgba(0,28,66,.30) !important;
        border-radius:8px !important;
    }

    .npb-competition-tab.is-active {
        background: linear-gradient(135deg,#ff9418,#f47700) !important;
        border-color:#ff9418 !important;
        color:#fff !important;
    }

    .npb-standings-pro-grid {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 320px !important;
        gap:14px !important;
        align-items:start !important;
        margin-top:10px !important;
    }

    .npb-standings-table-wrap {
        margin:0 !important;
        border:1px solid #dbe4ef !important;
        border-radius:15px !important;
        overflow:hidden !important;
        background:#fff !important;
        box-shadow:0 10px 24px rgba(5,38,81,.08) !important;
    }

    .npb-standings-table thead th {
        background: linear-gradient(180deg,#edf4fb,#e5eef8) !important;
        color:#07346b !important;
        font-size:.72rem !important;
        font-weight:900 !important;
        text-transform:uppercase !important;
    }

    .npb-standings-table tbody tr:nth-child(even) {
        background:#f8fafc !important;
    }

    .npb-standings-pro-sidebar {
        display:grid !important;
        gap:12px !important;
    }

    .npb-standings-pro-sidecard {
        overflow:hidden !important;
        border-radius:15px !important;
        background: linear-gradient(145deg,#07336b,#104c91 68%,#26377f) !important;
        color:#fff !important;
        box-shadow:0 10px 25px rgba(5,38,81,.13) !important;
    }

    .npb-standings-pro-sidecard h3 {
        margin:0 !important;
        padding:14px 16px 8px !important;
        color:#fff !important;
        font-size:.96rem !important;
        text-transform:uppercase !important;
    }

    .npb-standings-pro-sidecard dl {
        margin:0 !important;
        padding:0 16px 12px !important;
    }

    .npb-standings-pro-sidecard dl>div {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        gap:12px !important;
        padding:9px 0 !important;
        border-bottom:1px solid rgba(255,255,255,.13) !important;
    }

    .npb-standings-pro-sidecard dl>div:last-child {
        border-bottom:0 !important;
    }

    .npb-standings-pro-sidecard dt {
        color:rgba(255,255,255,.78) !important;
        font-weight:700 !important;
    }

    .npb-standings-pro-sidecard dd {
        margin:0 !important;
        color:#fff !important;
        font-weight:900 !important;
        text-align:right !important;
    }

    .npb-standings-pro-legend dl>div {
        grid-template-columns:54px minmax(0,1fr) !important;
    }

    .npb-standings-pro-legend dd {
        text-align:left !important;
        font-weight:600 !important;
    }

    .npb-standings-pro-sidecard .is-blue{color:#53a4ff!important}
    .npb-standings-pro-sidecard .is-green{color:#45d36f!important}
    .npb-standings-pro-sidecard .is-orange{color:#ffb02e!important}
    .npb-standings-pro-sidecard .is-red{color:#ff665d!important}
}

@media (max-width: 980px) {
    .npb-standings-pro-grid {
        grid-template-columns:1fr !important;
    }
}

@media (max-width: 700px) {
    .npb-competition-toolbar-pro {
        display:block !important;
        overflow:hidden !important;
        border-radius:14px !important;
        background:linear-gradient(105deg,#062a59 0%,#0c4c96 55%,#3a247e 100%) !important;
    }

    .npb-competition-toolbar-pro .npb-competition-filter,
    .npb-competition-toolbar-pro .npb-competition-quicknav {
        margin:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .npb-competition-toolbar-pro .npb-competition-filter label {
        color:#fff !important;
    }

    .npb-competition-toolbar-pro #npb-season {
        background-color:rgba(0,18,47,.44)!important;
        color:#fff!important;
        border-color:rgba(255,255,255,.25)!important;
    }

    .npb-standings-pro-grid {
        display:block !important;
    }

    .npb-standings-pro-sidebar {
        margin-top:12px !important;
    }
}


/* =========================================================
   5.0.4.46 - Minder bovenruimte + teamlogo's
   ========================================================= */
@media (min-width: 701px) {
    /* Grote YOOtheme witruimte boven Competitie PRO verwijderen */
    .uk-section:has(.npb-competitions-public),
    .uk-section-default:has(.npb-competitions-public),
    .uk-section-muted:has(.npb-competitions-public),
    .tm-main > .uk-section:has(.npb-competitions-public) {
        padding-top: 16px !important;
        padding-bottom: 22px !important;
    }

    .npb-competitions-public {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    .npb-competition-toolbar-pro {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    .npb-standings-hero-pro {
        padding-top: 11px !important;
        padding-bottom: 11px !important;
    }

    .npb-standings-hero-pro h2 {
        font-size: 1.75rem !important;
    }

    .npb-competition-tabs {
        padding: 5px !important;
    }

    .npb-competition-tab {
        min-height: 35px !important;
    }

    .npb-standings-pro-grid {
        margin-top: 8px !important;
    }

    .npb-standings-table tbody td,
    .npb-standings-table tbody th {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
        vertical-align: middle !important;
    }

    .npb-team-cell-inner {
        display: inline-flex !important;
        align-items: center !important;
        gap: 9px !important;
        min-width: 0 !important;
    }

    .npb-team-stand-logo {
        display: inline-flex !important;
        width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
        object-fit: contain !important;
        border-radius: 7px !important;
        background: #fff !important;
        box-shadow: 0 2px 7px rgba(5,38,81,.14) !important;
    }

    .npb-team-stand-logo-fallback {
        align-items: center !important;
        justify-content: center !important;
        color: #fff !important;
        background: linear-gradient(145deg,#0a4b91,#082d61) !important;
        border: 1px solid rgba(255,255,255,.20) !important;
        font-size: .68rem !important;
        font-weight: 900 !important;
    }
}

@media (max-width: 700px) {
    .uk-section:has(.npb-competitions-public),
    .tm-main > .uk-section:has(.npb-competitions-public) {
        padding-top: 12px !important;
    }

    .npb-team-cell-inner {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;
    }

    .npb-team-stand-logo {
        display: inline-flex !important;
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        object-fit: contain !important;
        border-radius: 6px !important;
    }

    .npb-team-stand-logo-fallback {
        align-items: center !important;
        justify-content: center !important;
        color: #fff !important;
        background: linear-gradient(145deg,#0a4b91,#082d61) !important;
        font-size: .62rem !important;
        font-weight: 900 !important;
    }
}


/* =========================================================
   5.0.4.47 - Spelersstatistieken: dezelfde compacte sectie
              als Competitie PRO
   ========================================================= */
@media (min-width: 701px) {
    /* YOOtheme witruimte boven de statistiekenpagina terugbrengen */
    .uk-section:has(.npb-player-statistics-page),
    .uk-section-default:has(.npb-player-statistics-page),
    .uk-section-muted:has(.npb-player-statistics-page),
    .tm-main > .uk-section:has(.npb-player-statistics-page) {
        padding-top: 16px !important;
        padding-bottom: 22px !important;
    }

    .uk-section:has(.npb-player-statistics-page) > .uk-container,
    .tm-main > .uk-section:has(.npb-player-statistics-page) > .uk-container {
        margin-top: 0 !important;
    }

    .npb-player-statistics-page {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Bovenste rankingbalk direct hoger op de pagina */
    .npb-ranking-toolbar {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    /* Rankingpaneel compact houden, gelijk aan competitie */
    .npb-ranking-hero {
        margin-top: 0 !important;
    }
}

@media (max-width: 700px) {
    .uk-section:has(.npb-player-statistics-page),
    .tm-main > .uk-section:has(.npb-player-statistics-page) {
        padding-top: 12px !important;
    }

    .npb-player-statistics-page {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}


/* =========================================================
   5.0.4.48 - Ranking Pool Hero
   ========================================================= */
.npb-ranking-hero {
    isolation: isolate;
    background:
        linear-gradient(90deg,
            rgba(3, 29, 62, 1) 0%,
            rgba(5, 48, 98, .98) 37%,
            rgba(11, 62, 120, .86) 54%,
            rgba(19, 55, 105, .42) 70%,
            rgba(32, 31, 91, .26) 100%),
        url("../images/ranking-pool-balls.png") right 43% center / 58% auto no-repeat !important;
}

.npb-ranking-hero::before {
    display: none !important;
}

.npb-ranking-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(1,18,39,.08), rgba(1,18,39,.16)),
        linear-gradient(90deg, rgba(2,27,58,.18) 0%, transparent 58%);
}

.npb-ranking-hero-content,
.npb-ranking-hero .npb-player-statistics-badge {
    position: relative;
    z-index: 1;
}

@media (min-width: 701px) {
    .npb-ranking-hero-content {
        max-width: 63% !important;
    }
}

@media (max-width: 700px) {
    .npb-ranking-hero {
        background:
            linear-gradient(110deg,
                rgba(3,29,62,.99) 0%,
                rgba(6,52,104,.96) 56%,
                rgba(43,31,112,.90) 100%),
            url("../images/ranking-pool-balls.png") right center / cover no-repeat !important;
    }

    .npb-ranking-hero-content {
        max-width: 100% !important;
    }
}


/* =========================================================
   5.0.4.49 - Ranking Pool Hero full-width fix
   Foto loopt volledig door tot rechterrand; geen grijs/lila vlak.
   ========================================================= */
.npb-ranking-hero {
    overflow: hidden !important;
    background:
        linear-gradient(90deg,
            rgba(2, 27, 58, 1.00) 0%,
            rgba(3, 39, 80, 0.99) 34%,
            rgba(4, 50, 100, 0.92) 49%,
            rgba(5, 55, 105, 0.60) 61%,
            rgba(5, 48, 91, 0.22) 76%,
            rgba(3, 30, 61, 0.08) 100%),
        url("../images/ranking-pool-balls.png") right 42% center / cover no-repeat !important;
}

.npb-ranking-hero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg,
            rgba(2, 27, 58, .34) 0%,
            rgba(2, 27, 58, .15) 50%,
            rgba(2, 27, 58, .03) 78%,
            rgba(2, 27, 58, .10) 100%) !important;
}

.npb-ranking-hero::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg,
        rgba(0, 15, 34, .08) 0%,
        rgba(0, 15, 34, .03) 55%,
        rgba(0, 15, 34, .15) 100%) !important;
}

.npb-ranking-hero-content,
.npb-ranking-hero .npb-player-statistics-badge {
    position: relative !important;
    z-index: 2 !important;
}

@media (min-width: 701px) {
    .npb-ranking-hero {
        background-position: right center !important;
        background-size: cover !important;
    }

    .npb-ranking-hero-content {
        max-width: 62% !important;
    }
}

@media (max-width: 700px) {
    .npb-ranking-hero {
        background:
            linear-gradient(105deg,
                rgba(2,27,58,.98) 0%,
                rgba(4,47,95,.94) 58%,
                rgba(13,40,87,.72) 100%),
            url("../images/ranking-pool-balls.png") 68% center / cover no-repeat !important;
    }
}

/* =========================================================
   5.0.4.50 - Player Center PRO Dark Pool Edition
   Compacte donkere NPB-look met poolhero, minder wit
   ========================================================= */
#npb-player-pro {
    background: #061a31;
    color: #f7fbff;
}
.npb-player-pro-shell {
    background: linear-gradient(180deg,#061a31 0%,#071d36 100%);
}
.npb-player-pro-topbar {
    border-color: rgba(113,171,224,.25);
    background: linear-gradient(90deg,#061b34,#08284c);
    color:#fff;
}
.npb-player-pro-breadcrumbs { color:#d7e7f8; }
.npb-player-pro-breadcrumbs strong { color:#fff; }
.npb-player-pro-hero {
    position:relative;
    overflow:hidden;
    grid-template-columns:150px minmax(0,1fr) minmax(250px,30%);
    border-color:rgba(113,171,224,.24);
    background:
      linear-gradient(90deg,rgba(4,24,47,.99) 0%,rgba(5,35,68,.96) 42%,rgba(5,44,85,.58) 67%,rgba(4,31,61,.86) 100%),
      url('../images/ranking-pool-balls.png') right center / 56% auto no-repeat,
      #06264a !important;
    color:#fff;
}
.npb-player-pro-identity { position:relative; z-index:2; }
.npb-player-pro-identity h1,
.npb-player-pro-facts strong { color:#fff; }
.npb-player-pro-facts span,
.npb-player-pro-season-control label { color:#a9c0d9; }
.npb-player-pro-badges span {
    border-color:rgba(184,214,242,.35);
    background:rgba(5,28,54,.72);
    color:#fff;
    box-shadow:none;
}
.npb-player-pro-badges > span:nth-child(2) {
    border-color:rgba(65,190,119,.5);
    background:rgba(5,48,46,.72);
    color:#55d78c;
}
.npb-player-pro-season-control select {
    border-color:rgba(184,214,242,.35) !important;
    background:#071f3d !important;
    color:#fff !important;
}
.npb-player-pro-ranking-card {
    position:relative; z-index:2;
    min-height:160px;
    border:1px solid rgba(161,202,238,.28) !important;
    background:linear-gradient(145deg,rgba(7,42,80,.94),rgba(5,27,52,.94)) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.25);
}
.npb-player-pro-actions {
    border-color:rgba(113,171,224,.22);
    background:#061a31;
}
.npb-player-pro-actions button {
    border-color:rgba(255,255,255,.16) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
}
.npb-player-pro-action-matches { background:linear-gradient(135deg,#073c75,#0b63b7) !important; }
.npb-player-pro-action-stats { background:linear-gradient(135deg,#34228c,#6547d4) !important; }
.npb-player-pro-action-teams { background:linear-gradient(135deg,#075448,#0a7969) !important; }
.npb-player-pro-action-ranking { background:linear-gradient(135deg,#713200,#b95605) !important; }
.npb-player-pro-actions small { color:rgba(255,255,255,.75) !important; }
.npb-player-pro-action-icon { background:rgba(255,255,255,.10); color:#fff; border:1px solid rgba(255,255,255,.2); }
.npb-player-pro-grid { background:#061a31; }
.npb-player-pro-card {
    border-color:rgba(113,171,224,.22);
    background:linear-gradient(145deg,#071f3a,#082846);
    color:#eef7ff;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.npb-player-pro-card dt { color:#fff; }
.npb-player-pro-card dd,
.npb-player-pro-card p { color:#d5e3f0; }
.npb-player-pro-card dl div { border-bottom:1px solid rgba(174,207,237,.15); }
.npb-player-pro-card dl div:last-child { border-bottom:0; }
.npb-player-pro-card-head h2 { color:#ff7a00 !important; }
.npb-player-pro-status { border-color:#f47a08 !important; color:#ff8a1b !important; background:transparent !important; }
.npb-player-pro-match-row { border-color:rgba(174,207,237,.14) !important; background:rgba(255,255,255,.015) !important; }
.npb-player-pro-match-row:hover { background:rgba(255,255,255,.04) !important; }
.npb-player-pro-match-date strong,
.npb-player-pro-match-opponent strong { color:#fff !important; }
.npb-player-pro-match-date small,
.npb-player-pro-match-opponent small,
.npb-player-pro-match-homeaway { color:#9fb5ca !important; }
.npb-player-pro-all-results { border-color:rgba(244,122,8,.55) !important; color:#ff8a1b !important; background:rgba(244,122,8,.06) !important; }

@media (max-width: 760px) {
    #npb-player-pro { background:#061a31; }
    .npb-player-pro-shell { width:100%; padding:0 0 24px; }
    .npb-player-pro-topbar { border-radius:0; padding:10px 12px; }
    .npb-player-pro-hero {
        grid-template-columns:82px minmax(0,1fr);
        gap:14px;
        padding:20px 16px;
        background:
          linear-gradient(180deg,rgba(4,24,47,.94),rgba(5,35,68,.92)),
          url('../images/ranking-pool-balls.png') right top / auto 58% no-repeat,
          #06264a !important;
    }
    .npb-player-pro-photo { width:78px; height:78px; border-width:3px; }
    .npb-player-pro-ranking-card { grid-column:1 / -1; min-height:110px; padding:14px; }
    .npb-player-pro-actions { grid-template-columns:1fr 1fr; padding:12px; gap:10px; }
    .npb-player-pro-grid { grid-template-columns:1fr; padding:12px; }
}

/* =========================================================
   5.0.4.51 - Player Center Theme + Dark history polish
   ========================================================= */
#npb-player-pro {
    --pc-bg:#061a31; --pc-panel:#071f3a; --pc-panel2:#082846;
    --pc-line:rgba(174,207,237,.17); --pc-text:#f5f9fd; --pc-muted:#9fb5ca;
}
.npb-player-pro-top-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.npb-player-theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;transition:.18s ease}
.npb-player-theme-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.38)}
.npb-theme-sun{color:#ff9a20}.npb-theme-moon{color:#b9d7ff}.npb-theme-label{min-width:42px;text-align:center}

/* Poolballen prominent, zonder de rustige linkerkant te verstoren */
#npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
#npb-player-pro:not([data-theme]) .npb-player-pro-hero{
 background:
  linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 39%,rgba(5,42,80,.82) 57%,rgba(4,35,69,.38) 76%,rgba(4,28,55,.64) 100%),
  url('../images/ranking-pool-balls.png') 86% 55% / 57% auto no-repeat,
  #06264a !important;
}

/* Wedstrijdhistorie volledig donker en leesbaar */
#npb-player-pro[data-theme="dark"] .npb-player-pro-main,
#npb-player-pro:not([data-theme]) .npb-player-pro-main{background:linear-gradient(145deg,#071f3a,#082846)!important;color:#eef7ff!important;border-color:var(--pc-line)!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-list,
#npb-player-pro:not([data-theme]) .npb-player-pro-match-list{border-color:var(--pc-line)!important;background:rgba(0,0,0,.10)!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-row,
#npb-player-pro:not([data-theme]) .npb-player-pro-match-row{background:rgba(255,255,255,.025)!important;border-color:var(--pc-line)!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-row:nth-child(even),
#npb-player-pro:not([data-theme]) .npb-player-pro-match-row:nth-child(even){background:rgba(255,255,255,.045)!important}
#npb-player-pro .npb-player-pro-match-date span,#npb-player-pro .npb-player-pro-match-opponent span{color:#8fa9c2!important}
#npb-player-pro .npb-player-pro-match-homeaway{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:999px;background:rgba(66,139,202,.12);color:#b9d7f2!important}
#npb-player-pro .npb-player-pro-match-result{justify-self:center;min-width:68px;padding:6px 10px;border-radius:8px}
#npb-player-pro .npb-player-pro-match-result.is-win{background:rgba(24,132,81,.14);border:1px solid rgba(55,190,111,.30);color:#46d17f!important}
#npb-player-pro .npb-player-pro-match-result.is-loss{background:rgba(199,61,50,.12);border:1px solid rgba(230,79,65,.28);color:#ff6254!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-stats strong,
#npb-player-pro:not([data-theme]) .npb-player-pro-stats strong{color:#fff!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-stats>div,
#npb-player-pro:not([data-theme]) .npb-player-pro-stats>div{background:rgba(255,255,255,.035)!important;border-color:rgba(184,214,242,.24)!important}

/* LIGHT THEME - zelfde NPB karakter, maar echt licht */
#npb-player-pro[data-theme="light"]{background:#eef3f8;color:#17375f;--pc-text:#17375f;--pc-muted:#73859a}
#npb-player-pro[data-theme="light"] .npb-player-pro-shell{background:linear-gradient(180deg,#f7faff,#eef3f8)}
#npb-player-pro[data-theme="light"] .npb-player-pro-topbar{background:linear-gradient(90deg,#f8fbff,#eef5fc);border-color:#d8e4ef;color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-pro-breadcrumbs{color:#315b88}
#npb-player-pro[data-theme="light"] .npb-player-pro-breadcrumbs strong{color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-theme-toggle{background:#fff;border-color:#ccdbea;color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-pro-hero{background:linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.96) 43%,rgba(223,239,253,.70) 61%,rgba(215,235,250,.24) 80%,rgba(234,244,252,.60) 100%),url('../images/ranking-pool-balls.png') 86% 55% / 57% auto no-repeat,#eaf4fc!important;color:#17375f;border-color:#d8e4ef}
#npb-player-pro[data-theme="light"] .npb-player-pro-identity h1,#npb-player-pro[data-theme="light"] .npb-player-pro-facts strong{color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-pro-facts span,#npb-player-pro[data-theme="light"] .npb-player-pro-season-control label{color:#6e8196}
#npb-player-pro[data-theme="light"] .npb-player-pro-badges span{background:rgba(255,255,255,.9);border-color:#d4e1ed;color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-pro-badges>span:nth-child(2){background:#f1fbf5;color:#177344;border-color:#b9dfc9}
#npb-player-pro[data-theme="light"] .npb-player-pro-season-control select{background:#fff!important;color:#17375f!important;border-color:#cad9e7!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-ranking-card{background:linear-gradient(145deg,rgba(9,66,126,.96),rgba(16,91,158,.92))!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-actions{background:#edf3f8;border-color:#d8e4ef}
#npb-player-pro[data-theme="light"] .npb-player-pro-grid{background:#eef3f8}
#npb-player-pro[data-theme="light"] .npb-player-pro-card,#npb-player-pro[data-theme="light"] .npb-player-pro-main{background:#fff!important;color:#17375f!important;border-color:#d8e4ef!important;box-shadow:0 8px 22px rgba(27,64,106,.07)}
#npb-player-pro[data-theme="light"] .npb-player-pro-card dt{color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-pro-card dd,#npb-player-pro[data-theme="light"] .npb-player-pro-card p{color:#526a82}
#npb-player-pro[data-theme="light"] .npb-player-pro-card dl div{border-color:#e7edf3}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-list{background:#f8fafc!important;border-color:#dfe6ef!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-row{background:#fff!important;border-color:#e4eaf1!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-row:nth-child(even){background:#f7f9fc!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-date strong,#npb-player-pro[data-theme="light"] .npb-player-pro-match-opponent strong{color:#17375f!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-date span,#npb-player-pro[data-theme="light"] .npb-player-pro-match-opponent span{color:#73859a!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-stats strong{color:#17375f!important}
#npb-player-pro[data-theme="light"] .npb-player-pro-stats>div{background:#f7f9fc!important;border-color:#dce5ef!important}

@media(max-width:760px){
 .npb-player-pro-topbar{gap:8px;flex-wrap:wrap}.npb-player-pro-top-actions{width:100%;justify-content:space-between}.npb-player-theme-toggle{min-height:36px;padding:6px 9px}
 #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,#npb-player-pro:not([data-theme]) .npb-player-pro-hero{background:linear-gradient(180deg,rgba(4,24,47,.96),rgba(5,35,68,.88)),url('../images/ranking-pool-balls.png') 72% top / auto 62% no-repeat,#06264a!important}
 #npb-player-pro[data-theme="light"] .npb-player-pro-hero{background:linear-gradient(180deg,rgba(247,251,255,.94),rgba(231,242,252,.88)),url('../images/ranking-pool-balls.png') 72% top / auto 62% no-repeat,#eaf4fc!important}
 .npb-player-pro-match-row{grid-template-columns:1fr auto!important;gap:8px 12px!important;padding:12px!important}
}

/* =========================================================
   5.0.4.52 - Player Center Hero + Theme Toggle polish
   ========================================================= */
.npb-player-theme-toggle{
    gap:0!important;padding:3px!important;min-height:38px!important;border-radius:999px!important;
    background:rgba(3,24,48,.72)!important;border:1px solid rgba(159,202,239,.32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.npb-player-theme-toggle .npb-theme-sun,
.npb-player-theme-toggle .npb-theme-moon{
    display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:14px;
}
.npb-player-theme-toggle .npb-theme-label{min-width:52px;padding:0 5px;color:#fff;font-weight:800}
#npb-player-pro[data-theme="dark"] .npb-player-theme-toggle .npb-theme-moon{background:#154d82;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.22)}
#npb-player-pro[data-theme="light"] .npb-player-theme-toggle{background:#fff!important;border-color:#c9d9e8!important}
#npb-player-pro[data-theme="light"] .npb-player-theme-toggle .npb-theme-label{color:#17375f}
#npb-player-pro[data-theme="light"] .npb-player-theme-toggle .npb-theme-sun{background:#ff7a00;color:#fff;box-shadow:0 2px 8px rgba(255,122,0,.25)}

/* Foto blijft het rechtervlak vullen; alleen de uitsnede brengt de rood/gele ballen naar voren. */
#npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
#npb-player-pro:not([data-theme]) .npb-player-pro-hero{
    background:
      linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 38%,rgba(5,38,73,.86) 53%,rgba(4,31,61,.30) 72%,rgba(4,28,55,.46) 100%),
      url('../images/ranking-pool-balls.png') 91% 68% / 72% auto no-repeat,
      #06264a!important;
}
#npb-player-pro[data-theme="light"] .npb-player-pro-hero{
    background:
      linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.97) 38%,rgba(226,241,253,.82) 53%,rgba(220,238,251,.25) 72%,rgba(234,244,252,.38) 100%),
      url('../images/ranking-pool-balls.png') 91% 68% / 72% auto no-repeat,
      #eaf4fc!important;
}
@media(max-width:760px){
  #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,#npb-player-pro:not([data-theme]) .npb-player-pro-hero{
    background:linear-gradient(180deg,rgba(4,24,47,.97) 0%,rgba(5,35,68,.89) 58%,rgba(5,35,68,.72) 100%),url('../images/ranking-pool-balls.png') 82% 20% / auto 72% no-repeat,#06264a!important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-hero{
    background:linear-gradient(180deg,rgba(247,251,255,.96) 0%,rgba(231,242,252,.89) 58%,rgba(231,242,252,.72) 100%),url('../images/ranking-pool-balls.png') 82% 20% / auto 72% no-repeat,#eaf4fc!important;
  }
  .npb-player-theme-toggle .npb-theme-label{min-width:46px;font-size:.72rem}
}

/* =========================================================
   NPB Beheer 5.0.4.53 - Player Center compact hero
   Meer ruimte voor content, poolbiljartfoto duidelijker zichtbaar.
   ========================================================= */
@media (min-width: 761px) {
  .npb-player-pro-hero {
    grid-template-columns: 124px minmax(0,1fr) minmax(245px,29%) !important;
    gap: 20px !important;
    padding: 18px 24px !important;
    min-height: 0 !important;
  }
  .npb-player-pro-photo {
    width: 112px !important;
    height: 112px !important;
    border-width: 5px !important;
  }
  .npb-player-pro-identity h1 { margin: 4px 0 10px !important; }
  .npb-player-pro-badges { margin-bottom: 10px !important; }
  .npb-player-pro-facts { margin-top: 10px !important; }
  .npb-player-pro-season-control { margin-top: 10px !important; }
  .npb-player-pro-ranking-card {
    min-height: 128px !important;
    padding: 16px 18px !important;
  }
  #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
  #npb-player-pro:not([data-theme]) .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 34%,rgba(5,38,73,.88) 48%,rgba(4,31,61,.18) 66%,rgba(4,28,55,.20) 100%),
      url('../images/ranking-pool-balls.png') 94% 62% / 66% auto no-repeat,
      #06264a !important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.97) 34%,rgba(226,241,253,.84) 48%,rgba(220,238,251,.12) 66%,rgba(234,244,252,.16) 100%),
      url('../images/ranking-pool-balls.png') 94% 62% / 66% auto no-repeat,
      #eaf4fc !important;
  }
}

/* =========================================================
   NPB Beheer 5.0.4.54 - Player Center poolballen polish
   Compacte hero behouden; ballen zichtbaar links van ranking.
   ========================================================= */
@media (min-width: 761px) {
  #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
  #npb-player-pro:not([data-theme]) .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 34%,rgba(5,38,73,.84) 47%,rgba(4,31,61,.12) 62%,rgba(4,28,55,.16) 100%),
      url('../images/ranking-pool-balls.png') 76% 64% / 70% auto no-repeat,
      #06264a !important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.97) 34%,rgba(226,241,253,.80) 47%,rgba(220,238,251,.08) 62%,rgba(234,244,252,.12) 100%),
      url('../images/ranking-pool-balls.png') 76% 64% / 70% auto no-repeat,
      #eaf4fc !important;
  }
}

/* =========================================================
   NPB Beheer 5.0.4.55 - Player Center hero photo composition
   Grotere close-up van de poolballen zoals goedgekeurd;
   compacte hero en overige Player Center layout ongewijzigd.
   ========================================================= */
@media (min-width: 761px) {
  #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
  #npb-player-pro:not([data-theme]) .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 31%,rgba(5,38,73,.82) 43%,rgba(4,31,61,.08) 58%,rgba(4,28,55,.10) 100%),
      url('../images/ranking-pool-balls.png') 79% 66% / 112% auto no-repeat,
      #06264a !important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.97) 31%,rgba(226,241,253,.76) 43%,rgba(220,238,251,.05) 58%,rgba(234,244,252,.08) 100%),
      url('../images/ranking-pool-balls.png') 79% 66% / 112% auto no-repeat,
      #eaf4fc !important;
  }
}

/* =========================================================
   NPB Beheer 5.0.4.56 - Player Center Compact Hero
   Minder verticale ruimte zonder de Pro-look te verliezen.
   Desktop: lagere topbar, hero en actiekaarten; brede poolfoto behouden.
   ========================================================= */
@media (min-width: 761px) {
  .npb-player-pro-shell { padding-top: 10px !important; }
  .npb-player-pro-topbar { padding: 9px 14px !important; min-height: 54px !important; }
  .npb-player-pro-close { min-height: 38px !important; padding: 8px 14px !important; }
  .npb-player-theme-toggle { min-height: 34px !important; }

  .npb-player-pro-hero {
    grid-template-columns: 108px minmax(0,1fr) minmax(230px,27%) !important;
    gap: 16px !important;
    padding: 12px 20px !important;
    min-height: 210px !important;
    max-height: 230px !important;
    overflow: hidden !important;
  }
  .npb-player-pro-photo { width: 96px !important; height: 96px !important; border-width: 4px !important; }
  .npb-player-pro-kicker { font-size: .70rem !important; }
  .npb-player-pro-identity h1 { margin: 2px 0 8px !important; font-size: clamp(1.85rem,2.7vw,2.65rem) !important; }
  .npb-player-pro-badges { gap: 8px !important; }
  .npb-player-pro-badges span { min-height: 34px !important; padding: 6px 10px !important; }
  .npb-player-pro-facts { gap: 24px !important; margin-top: 8px !important; }
  .npb-player-pro-facts strong { margin-top: 2px !important; }
  .npb-player-pro-season-control { margin-top: 7px !important; }
  .npb-player-pro-season-control select { min-height: 36px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
  .npb-player-pro-season-control small { line-height: 1.35 !important; }
  .npb-player-pro-ranking-card { min-height: 112px !important; padding: 12px 16px !important; border-radius: 12px !important; }
  .npb-player-pro-ranking-card strong { margin: 4px 0 !important; font-size: 2.65rem !important; }

  /* Cinematische uitsnede: hele ballengroep zichtbaar, met blauw laken eromheen. */
  #npb-player-pro[data-theme="dark"] .npb-player-pro-hero,
  #npb-player-pro:not([data-theme]) .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(4,24,47,1) 0%,rgba(4,27,52,.99) 31%,rgba(5,38,73,.76) 45%,rgba(4,31,61,.06) 61%,rgba(4,28,55,.08) 100%),
      url('../images/ranking-pool-balls.png') 80% 58% / 82% auto no-repeat,
      #06264a !important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-hero {
    background:
      linear-gradient(90deg,rgba(247,251,255,.99) 0%,rgba(239,247,255,.97) 31%,rgba(226,241,253,.70) 45%,rgba(220,238,251,.04) 61%,rgba(234,244,252,.07) 100%),
      url('../images/ranking-pool-balls.png') 80% 58% / 82% auto no-repeat,
      #eaf4fc !important;
  }

  .npb-player-pro-actions { gap: 12px !important; padding: 10px 20px !important; }
  .npb-player-pro-actions .npb-player-pro-action,
  .npb-player-pro-actions > button { min-height: 62px !important; padding: 8px 12px !important; grid-template-columns: 38px minmax(0,1fr) 14px !important; gap: 9px !important; }
  .npb-player-pro-action-icon { width: 36px !important; height: 36px !important; font-size: 1.05rem !important; }
  .npb-player-pro-actions small { margin-top: 1px !important; font-size: .72rem !important; }

  .npb-player-pro-grid { padding-top: 10px !important; }
}

/* =========================================================
   NPB Beheer 5.0.4.57 - Player Center Compact Hero Final
   Seizoenskeuze volledig zichtbaar, hulplijn op desktop verwijderd.
   Hero blijft compact en poolballen behouden hun brede uitsnede.
   ========================================================= */
@media (min-width: 901px) {
  .npb-player-pro-hero {
    min-height: 218px !important;
    height: 218px !important;
    max-height: 218px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    align-items: center !important;
  }
  .npb-player-pro-identity h1 {
    margin-bottom: 6px !important;
  }
  .npb-player-pro-facts {
    margin-top: 6px !important;
  }
  .npb-player-pro-season-control {
    margin-top: 5px !important;
    gap: 8px !important;
    align-items: end !important;
  }
  .npb-player-pro-season-control label {
    gap: 3px !important;
    min-width: 230px !important;
  }
  .npb-player-pro-season-control label > span {
    font-size: .70rem !important;
    line-height: 1.15 !important;
  }
  .npb-player-pro-season-control select {
    min-height: 34px !important;
    height: 34px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .npb-player-pro-season-control small {
    display: none !important;
  }
  .npb-player-pro-actions {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .npb-player-pro-actions .npb-player-pro-action,
  .npb-player-pro-actions > button {
    min-height: 58px !important;
  }
}

/* =========================================================
   NPB Beheer 5.0.4.58 - Player Center season control fix
   Seizoenskeuze omhoog binnen dezelfde compacte herohoogte.
   ========================================================= */
@media (min-width: 901px) {
  .npb-player-pro-season-control {
    margin-top: 0 !important;
    transform: translateY(-10px);
  }
  .npb-player-pro-season-control small {
    display: none !important;
  }
  .npb-player-pro-facts {
    margin-bottom: 0 !important;
  }
}

/* =========================================================
   NPB Beheer 5.0.4.60 - Player Center season spacing fix
   Na verwijderen van de kicker: seizoenblok weer in normale flow,
   zodat label niet over team/competitie valt. Herohoogte blijft gelijk.
   ========================================================= */
@media (min-width: 901px) {
  .npb-player-pro-facts {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
  }
  .npb-player-pro-season-control {
    margin-top: 5px !important;
    transform: none !important;
    gap: 6px !important;
  }
  .npb-player-pro-season-control label {
    gap: 2px !important;
  }
  .npb-player-pro-season-control label > span {
    line-height: 1.05 !important;
  }
  .npb-player-pro-season-control select {
    min-height: 33px !important;
    height: 33px !important;
  }
}


/* =========================================================
   5.0.4.61 - Compacte lege-seizoenweergave Competitie PRO
   ========================================================= */

.npb-competition-empty-season {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 10px;
    padding: 18px 22px;
    border: 1px solid #d8e4f1;
    border-radius: 14px;
    background:
        linear-gradient(105deg, rgba(247,250,253,.98), rgba(238,245,252,.98));
    box-shadow: 0 8px 22px rgba(5,38,81,.06);
    color: #53657d;
}

.npb-competition-empty-season .npb-competition-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    background: linear-gradient(145deg,#07336b,#104c91);
    box-shadow: 0 6px 16px rgba(5,38,81,.16);
    font-size: 1.25rem;
}

.npb-competition-empty-season h2 {
    margin: 0 0 3px;
    color: #07346b;
    font-size: 1.02rem;
    line-height: 1.2;
}

.npb-competition-empty-season p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.4;
}

.npb-competition-empty-season strong {
    color: #07346b;
}

/* Bij een leeg seizoen bestaat de toolbar alleen uit de seizoenkeuze:
   geen uitgerekte blauwe/paarse tweede kolom meer. */
.npb-competitions-public[data-npb-has-competitions="0"] .npb-competition-toolbar-pro {
    display: block !important;
    width: min(390px, 100%) !important;
    margin-bottom: 0 !important;
    border-radius: 14px !important;
}

.npb-competitions-public[data-npb-has-competitions="0"] .npb-competition-toolbar-pro .npb-competition-filter {
    border-right: 0 !important;
    border-radius: 14px !important;
}

@media (max-width: 700px) {
    .npb-competition-empty-season {
        align-items: flex-start;
        gap: 11px;
        padding: 14px 15px;
        border-radius: 12px;
    }

    .npb-competition-empty-season .npb-competition-empty-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        font-size: 1rem;
    }

    .npb-competition-empty-season h2 {
        font-size: .96rem;
    }

    .npb-competition-empty-season p {
        font-size: .82rem;
    }

    .npb-competitions-public[data-npb-has-competitions="0"] .npb-competition-toolbar-pro {
        width: 100% !important;
    }
}


/* =========================================================
   5.0.4.62 - Competitie PRO dark/light in Player Center stijl
   ========================================================= */

.npb-competitions-public {
    --cp-bg: #f7f9fc;
    --cp-panel: #ffffff;
    --cp-panel-2: #eef4fa;
    --cp-border: #d7e2ee;
    --cp-text: #08294f;
    --cp-muted: #63758b;
    --cp-row: #ffffff;
    --cp-row-alt: #f8fbfe;
    --cp-navy: #073567;
    --cp-navy-2: #124f96;
    --cp-accent: #ff7900;
    --cp-accent-2: #e85e00;
    --cp-shadow: 0 10px 28px rgba(5,38,81,.08);
}

.npb-competitions-public[data-competition-theme="dark"] {
    --cp-bg: #03172b;
    --cp-panel: #061f38;
    --cp-panel-2: #092945;
    --cp-border: #244763;
    --cp-text: #f4f8fc;
    --cp-muted: #9eb1c4;
    --cp-row: #071d32;
    --cp-row-alt: #0a243d;
    --cp-navy: #061c32;
    --cp-navy-2: #0b3156;
    --cp-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.npb-competitions-public[data-competition-theme="dark"] {
    background: var(--cp-bg) !important;
    color: var(--cp-text) !important;
    border-radius: 16px;
    padding: 10px;
}

/* Toolbar compacter en gelijk aan Player Center */
.npb-competition-toolbar-pro {
    position: relative;
}

.npb-competition-theme-toggle {
    position: absolute;
    z-index: 20;
    top: -52px;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-height: 38px;
    padding: 3px;
    border: 1px solid #31516d;
    border-radius: 999px;
    background: rgba(4,24,43,.92);
    box-shadow: 0 7px 20px rgba(0,0,0,.15);
    color: #fff;
    cursor: pointer;
}

.npb-competition-theme-choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    opacity: .7;
}

.npb-competition-theme-choice.is-active {
    opacity: 1;
    background: linear-gradient(135deg,#0d4f91,#1266b4);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.npb-competition-theme-light span:first-child {
    color: #ff8a00;
}

.npb-competitions-public[data-competition-theme="light"] .npb-competition-theme-toggle {
    background: #fff;
    border-color: #cbd9e7;
    color: #08294f;
}

.npb-competitions-public[data-competition-theme="light"] .npb-competition-theme-choice.is-active {
    background: #fff4e8;
    color: #9b4a00;
    box-shadow: inset 0 0 0 1px #ff9a3c;
}

/* Dark competition toolbar */
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-toolbar-pro {
    background:
        linear-gradient(115deg,rgba(4,26,48,.98),rgba(6,31,56,.98)) !important;
    border: 1px solid var(--cp-border) !important;
    box-shadow: var(--cp-shadow) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-filter {
    background: transparent !important;
    border-color: var(--cp-border) !important;
    color: var(--cp-text) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-filter label,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-filter strong {
    color: var(--cp-text) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-season-control select {
    background: #061a30 !important;
    border-color: #3b5b76 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-quicknav {
    background: transparent !important;
    border-color: var(--cp-border) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-league-chip,
.npb-competitions-public[data-competition-theme="dark"] .npb-pool-chip {
    background: #071d34 !important;
    border: 1px solid #35536d !important;
    color: #fff !important;
    box-shadow: none !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-league-chip.is-active,
.npb-competitions-public[data-competition-theme="dark"] .npb-pool-chip.is-active {
    background: linear-gradient(135deg,#ff8200,#e85c00) !important;
    border-color: #ff8b18 !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(255,121,0,.20) !important;
}

/* Stand-card: zelfde donkere marine panelen als Player Center */
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-card {
    background: var(--cp-bg) !important;
    border: 1px solid var(--cp-border) !important;
    box-shadow: var(--cp-shadow) !important;
    color: var(--cp-text) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-header,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-hero-pro {
    background:
        radial-gradient(circle at 76% 42%,rgba(26,92,143,.22),transparent 32%),
        linear-gradient(115deg,#061d34 0%,#082a49 100%) !important;
    color: #fff !important;
    border-bottom: 1px solid var(--cp-border) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-header .npb-eyebrow {
    color: var(--cp-accent) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-header h2 {
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-count-badge {
    background: rgba(4,21,38,.68) !important;
    border: 1px solid #34536e !important;
    color: #fff !important;
}

/* Tabs */
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs {
    background: #061a2e !important;
    border-color: var(--cp-border) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tab {
    background: #071d33 !important;
    border-color: #34516b !important;
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tab.is-active {
    background: linear-gradient(135deg,#ff8200,#e75d00) !important;
    border-color: #ff8b18 !important;
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tab span {
    background: #f0a23b !important;
    color: #201100 !important;
}

/* Tabellen */
.npb-competitions-public[data-competition-theme="dark"] .npb-table-wrap,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table {
    background: var(--cp-panel) !important;
    border-color: var(--cp-border) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table thead th {
    background: linear-gradient(180deg,#0b2b48,#08233d) !important;
    color: #dce8f2 !important;
    border-color: #1e405c !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody td {
    background: var(--cp-row) !important;
    color: var(--cp-text) !important;
    border-color: #173650 !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:nth-child(even) td {
    background: var(--cp-row-alt) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:hover td {
    background: #0d3151 !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table a,
.npb-competitions-public[data-competition-theme="dark"] .npb-team-name {
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table td:last-child,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table .npb-points {
    color: #ff7900 !important;
    font-weight: 900 !important;
}

/* Rechter informatiepanelen */
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-side-card,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside > *,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-info-card,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-legend {
    background: linear-gradient(145deg,#071e35,#092944) !important;
    border: 1px solid var(--cp-border) !important;
    color: var(--cp-text) !important;
    box-shadow: none !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside h3,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside strong {
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside h3::first-letter {
    color: var(--cp-accent);
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside p,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside span,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside dt,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside dd {
    border-color: #24435d !important;
}

/* Wedstrijden / uitslagen panelen */
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-panel,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-list,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-row {
    background: var(--cp-panel) !important;
    color: var(--cp-text) !important;
    border-color: var(--cp-border) !important;
}

/* Lege seizoenweergave volgt hetzelfde thema */
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-empty-season {
    background: linear-gradient(115deg,#061d34,#092a48) !important;
    border-color: var(--cp-border) !important;
    color: var(--cp-muted) !important;
    box-shadow: var(--cp-shadow) !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-competition-empty-season h2,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-empty-season strong {
    color: #fff !important;
}

/* Licht thema blijft de bestaande heldere NPB-look, met iets strakkere cards */
.npb-competitions-public[data-competition-theme="light"] .npb-standings-card,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro {
    box-shadow: var(--cp-shadow) !important;
}

/* Compact: meer stand zichtbaar op één scherm */
.npb-competitions-public .npb-standings-header {
    min-height: 76px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.npb-competitions-public .npb-competition-tabs {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

@media (max-width: 900px) {
    .npb-competition-theme-toggle {
        position: static;
        margin: 0 0 8px auto;
        display: flex;
        width: max-content;
    }

    .npb-competitions-public[data-competition-theme="dark"] {
        padding: 5px;
    }
}

@media (max-width: 600px) {
    .npb-competition-theme-choice {
        padding-left: 8px;
        padding-right: 8px;
        font-size: .72rem;
    }
}


/* =========================================================
   5.0.4.63 - Competitie PRO dark-mode tabel + zichtbare switch
   ========================================================= */

/* Theme switch hoort IN de toolbar zichtbaar te zijn, niet erboven. */
.npb-competitions-public .npb-competition-toolbar-pro {
    padding-top: 10px !important;
}

.npb-competitions-public .npb-competition-theme-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    float: right;
    margin: 0 10px 8px 12px !important;
    z-index: 30;
}

.npb-competitions-public .npb-competition-filter {
    clear: both;
}

/* Dark mode: tabel volledig donker, zoals Player Center. */
.npb-competitions-public[data-competition-theme="dark"] .npb-table-wrap,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody {
    background: #071d32 !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table thead th {
    background: #082844 !important;
    color: #dce8f4 !important;
    border-bottom: 1px solid #31516b !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody td,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody th {
    background: #071d32 !important;
    color: #f5f8fb !important;
    border-color: #1e3b53 !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:nth-child(even) td,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:nth-child(even) th {
    background: #09243d !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:hover td,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody tr:hover th {
    background: #0d3151 !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table .npb-team-name,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table .npb-team-name a,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table td:nth-child(2),
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table td:nth-child(2) a {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table td:last-child,
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-table .npb-points {
    color: #ff7900 !important;
    font-weight: 900 !important;
}

/* Teamlogo/letter badge duidelijker op donker. */
.npb-competitions-public[data-competition-theme="dark"] .npb-team-logo,
.npb-competitions-public[data-competition-theme="dark"] .npb-team-mark,
.npb-competitions-public[data-competition-theme="dark"] .npb-team-badge {
    background: linear-gradient(145deg,#0c5aa4,#073b70) !important;
    color: #fff !important;
    border: 1px solid #2b6da8 !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.22) !important;
}

/* Rank-cirkels houden contrast. */
.npb-competitions-public[data-competition-theme="dark"] .npb-rank,
.npb-competitions-public[data-competition-theme="dark"] .npb-position {
    color: #09233c !important;
}

/* Rechter panelen dichter bij Player Center: minder fel blauw. */
.npb-competitions-public[data-competition-theme="dark"] .npb-standings-aside > *,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-side-card,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-info-card,
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-legend {
    background: linear-gradient(145deg,#08233d,#0b3153) !important;
    border-color: #244763 !important;
}

/* Op desktop switch rechtsboven zonder extra hoogte te veroorzaken. */
@media (min-width: 901px) {
    .npb-competitions-public .npb-competition-toolbar-pro {
        display: grid !important;
        grid-template-columns: minmax(250px, 290px) 1fr auto !important;
        align-items: start !important;
    }

    .npb-competitions-public .npb-competition-theme-toggle {
        grid-column: 3;
        grid-row: 1;
        float: none;
        margin: 7px 10px 0 10px !important;
    }

    .npb-competitions-public .npb-competition-filter {
        grid-column: 1 / 3;
        grid-row: 1;
        clear: none;
    }
}

/* Op mobiel gewoon boven de filters. */
@media (max-width: 900px) {
    .npb-competitions-public .npb-competition-theme-toggle {
        float: none;
        margin: 0 8px 8px auto !important;
    }
}


/* =========================================================
   5.0.4.64 - Competitie PRO Compact Toolbar
   Seizoenkeuze in compacte bovenregel; stand begint hoger.
   ========================================================= */

@media (min-width: 901px) {

    /* Toolbar verandert van een hoog blok naar twee compacte horizontale regels. */
    .npb-competitions-public .npb-competition-toolbar-compact {
        display: grid !important;
        grid-template-columns: minmax(245px, 285px) minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: 14px !important;
        row-gap: 6px !important;
        align-items: center !important;
        padding: 9px 12px 10px !important;
        min-height: 0 !important;
        border-radius: 14px !important;
    }

    /* Seizoen linksboven, klein en horizontaal. */
    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-filter {
        grid-column: 1 !important;
        grid-row: 1 !important;
        clear: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        min-width: 0 !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-filter form {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-filter label {
        margin: 0 !important;
        white-space: nowrap !important;
        font-size: .72rem !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-season-control,
    .npb-competitions-public .npb-competition-toolbar-compact #npb-season {
        width: 100% !important;
        min-width: 0 !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact #npb-season {
        min-height: 38px !important;
        height: 38px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Licht/donker helemaal rechts in dezelfde bovenregel. */
    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-theme-toggle {
        grid-column: 3 !important;
        grid-row: 1 !important;
        position: static !important;
        float: none !important;
        margin: 0 !important;
        align-self: center !important;
        justify-self: end !important;
    }

    /* League + poule vullen de volledige tweede regel. */
    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-quicknav {
        grid-column: 1 / 4 !important;
        grid-row: 2 !important;
        margin: 0 !important;
        padding: 5px 0 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(255,255,255,.15) !important;
        background: transparent !important;
        box-shadow: none !important;
        min-height: 0 !important;
    }

    .npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-competition-quicknav {
        border-top-color: #d8e3ee !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-league-selector,
    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 7px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector {
        margin-top: 6px !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-league-chip {
        min-height: 36px !important;
        padding: 0 13px !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-chip {
        min-width: 36px !important;
        min-height: 32px !important;
        padding: 0 9px !important;
    }

    /* Minder ruimte tussen navigatie en stand. */
    .npb-competitions-public .npb-competition-toolbar-compact {
        margin-bottom: 7px !important;
    }

    .npb-competitions-public .npb-standings-card {
        margin-top: 0 !important;
    }

    /* Stand-header nog iets compacter zonder leesbaarheid te verliezen. */
    .npb-competitions-public .npb-standings-header,
    .npb-competitions-public .npb-standings-hero-pro {
        min-height: 64px !important;
        padding: 9px 18px !important;
    }

    .npb-competitions-public .npb-standings-header h2,
    .npb-competitions-public .npb-standings-hero-pro h2 {
        font-size: 1.65rem !important;
        margin-top: 2px !important;
        margin-bottom: 0 !important;
    }

    .npb-competitions-public .npb-competition-tabs {
        padding: 4px 5px !important;
    }

    .npb-competitions-public .npb-competition-tab {
        min-height: 34px !important;
    }
}

/* Iets kleinere laptops: seizoen + toggle blijven op één regel. */
@media (min-width: 901px) and (max-width: 1150px) {
    .npb-competitions-public .npb-competition-toolbar-compact {
        grid-template-columns: minmax(230px, 260px) minmax(0,1fr) auto !important;
        column-gap: 10px !important;
    }

    .npb-competitions-public .npb-competition-theme-choice {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* Mobiel behoudt de bestaande logische verticale opbouw. */
@media (max-width: 900px) {
    .npb-competitions-public .npb-competition-toolbar-compact {
        display: block !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-theme-toggle {
        margin: 0 8px 8px auto !important;
    }
}


/* =========================================================
   5.0.4.65 - Active League Pools Fix
   Alleen de poules van de actieve league mogen ruimte innemen.
   ========================================================= */

.npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector[hidden],
.npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector[aria-hidden="true"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Actieve pouleregel compact direct onder de leagues. */
@media (min-width: 901px) {
    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector:not([hidden]) {
        display: flex !important;
        margin-top: 5px !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-competition-quicknav {
        padding-bottom: 0 !important;
    }
}

/* Ook mobiel moet hidden altijd winnen van oudere display:block regels. */
@media (max-width: 900px) {
    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector[hidden] {
        display: none !important;
    }
}

/* =========================================================
   5.0.4.66 - Echt licht thema + mobiele sidebar fix
   ========================================================= */

/* Licht betekent ook werkelijk licht: toolbar, hero, tabs en zijkaarten. */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact {
    background: #f4f8fc !important;
    border: 1px solid #d7e2ee !important;
    box-shadow: 0 8px 22px rgba(5,38,81,.08) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro .npb-competition-filter label,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-competition-filter label {
    color: #0b315c !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro #npb-season,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact #npb-season {
    background: #fff !important;
    color: #123252 !important;
    border-color: #b9cce0 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro .npb-league-chip,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-league-chip,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro .npb-pool-chip,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-pool-chip {
    background: #fff !important;
    color: #123b68 !important;
    border-color: #c6d6e6 !important;
    box-shadow: none !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro .npb-league-chip.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-league-chip.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro .npb-pool-chip.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact .npb-pool-chip.is-active {
    background: linear-gradient(135deg,#ff9418,#f47700) !important;
    color: #fff !important;
    border-color: #ff9418 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-header {
    background: #f7faff !important;
    border: 1px solid #d8e4f0 !important;
    border-bottom: 0 !important;
    color: #0a3767 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro .npb-eyebrow,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro h2,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-header h2 {
    color: #0a3767 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro .npb-count-badge {
    background: #e8f0f8 !important;
    color: #24496f !important;
    border-color: #cad9e8 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tabs {
    background: #edf3f9 !important;
    border-left: 1px solid #d8e4f0 !important;
    border-right: 1px solid #d8e4f0 !important;
    border-bottom: 1px solid #d8e4f0 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tab {
    background: #fff !important;
    color: #174570 !important;
    border-color: #c8d7e6 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tab.is-active {
    background: linear-gradient(135deg,#ff9418,#f47700) !important;
    color: #fff !important;
    border-color: #ff9418 !important;
}

/* Zijkaarten buiten de oude desktop-only media query definiëren: dit repareert mobiel. */
.npb-competitions-public .npb-standings-pro-sidebar {
    display: grid !important;
    gap: 12px !important;
}
.npb-competitions-public .npb-standings-pro-sidecard {
    overflow: hidden !important;
    border-radius: 15px !important;
    padding: 0 !important;
}
.npb-competitions-public .npb-standings-pro-sidecard h3 {
    margin: 0 !important;
    padding: 14px 16px 8px !important;
    font-size: .96rem !important;
    text-transform: uppercase !important;
}
.npb-competitions-public .npb-standings-pro-sidecard dl {
    margin: 0 !important;
    padding: 0 16px 12px !important;
}
.npb-competitions-public .npb-standings-pro-sidecard dl > div {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 12px !important;
    padding: 9px 0 !important;
}
.npb-competitions-public .npb-standings-pro-sidecard dd {
    margin: 0 !important;
    text-align: right !important;
    font-weight: 900 !important;
}
.npb-competitions-public .npb-standings-pro-legend dl > div {
    grid-template-columns: 54px minmax(0,1fr) !important;
}
.npb-competitions-public .npb-standings-pro-legend dd { text-align:left !important; font-weight:600 !important; }

.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard {
    background: #fff !important;
    color: #17324f !important;
    border: 1px solid #d8e3ee !important;
    box-shadow: 0 8px 22px rgba(5,38,81,.07) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard h3 { color:#f47700 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dl > div { border-bottom:1px solid #e5edf5 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dl > div:last-child { border-bottom:0 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dt { color:#56708b !important; font-weight:700 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dd { color:#153a61 !important; }

/* Mobiel: informatie compact, legenda niet meer metershoog. */
@media (max-width: 700px) {
    .npb-competitions-public { padding-left: 4px !important; padding-right: 4px !important; }
    .npb-competitions-public .npb-standings-pro-sidebar { margin-top: 10px !important; gap:10px !important; }
    .npb-competitions-public .npb-standings-pro-sidecard h3 { padding:12px 12px 7px !important; font-size:.9rem !important; }
    .npb-competitions-public .npb-standings-pro-sidecard dl { padding:0 12px 10px !important; }
    .npb-competitions-public .npb-standings-pro-sidecard dl > div { padding:7px 0 !important; }
    .npb-competitions-public .npb-standings-pro-legend dl {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:0 14px !important;
    }
    .npb-competitions-public .npb-standings-pro-legend dl > div {
        grid-template-columns:34px minmax(0,1fr) !important;
        gap:5px !important;
    }
    .npb-competitions-public .npb-standings-pro-legend dt,
    .npb-competitions-public .npb-standings-pro-legend dd { font-size:.82rem !important; }
}

/* 5.0.4.67 - Competitie Pro: thema-achtergrond loopt desktop volledig door tot viewport-randen. */
@media (min-width: 701px) {
    .npb-competitions-public[data-competition-theme="dark"] {
        background: #061d32 !important;
        box-shadow: 0 0 0 100vmax #061d32 !important;
        clip-path: inset(0 -100vmax) !important;
    }
    .npb-competitions-public[data-competition-theme="light"] {
        background: #f4f7fb !important;
        box-shadow: 0 0 0 100vmax #f4f7fb !important;
        clip-path: inset(0 -100vmax) !important;
    }
}


/* =========================================================
   5.0.4.68 - Competitie Pro: compacte professionele wedstrijdlijst
   ========================================================= */
.npb-competitions-public .npb-match-round-heading {
    position: relative !important;
    margin: 0 !important;
    padding: 10px 16px 9px !important;
    background: transparent !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}
.npb-competitions-public .npb-match-round-heading::after {
    content: "" !important;
    display: block !important;
    height: 1px !important;
    margin-top: 9px !important;
    background: currentColor !important;
    opacity: .18 !important;
}
.npb-competitions-public .npb-match-item { border: 0 !important; }
.npb-competitions-public .npb-match-row {
    grid-template-columns: 128px minmax(0,1fr) 58px !important;
    min-height: 43px !important;
    padding: 0 12px !important;
    border: 0 !important;
    background: transparent !important;
    transition: background .15s ease !important;
}
.npb-competitions-public .npb-match-item:nth-of-type(even) .npb-match-row {
    background: rgba(127,149,174,.045) !important;
}
.npb-competitions-public .npb-match-row:hover { background: rgba(244,124,8,.075) !important; }
.npb-competitions-public .npb-match-date {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 8px 6px 4px !important;
    white-space: nowrap !important;
}
.npb-competitions-public .npb-match-date strong { font-size: .78rem !important; }
.npb-competitions-public .npb-match-teams {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 8px !important;
    font-size: .86rem !important;
    font-weight: 750 !important;
}
.npb-competitions-public .npb-match-team { min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.npb-competitions-public .npb-match-team.is-home { text-align:right !important; }
.npb-competitions-public .npb-match-team.is-away { text-align:left !important; }
.npb-competitions-public .npb-match-versus { text-align:center !important; opacity:.5 !important; font-weight:500 !important; }
.npb-competitions-public .npb-match-score { padding: 5px 5px 5px 8px !important; }

.npb-competitions-public[data-competition-theme="dark"] .npb-match-round-heading { color:#f47c08 !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-row,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-date,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-teams,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-team { color:#f3f7fb !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-date span { color:#a9bfd3 !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-date strong { color:#dce9f5 !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-score,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-score span { color:#9fb5c9 !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-score strong { color:#fff !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-match-round-heading { color:#174570 !important; }

@media (max-width:700px) {
    .npb-competitions-public .npb-match-round-heading { padding:8px 8px 6px !important; font-size:.65rem !important; }
    .npb-competitions-public .npb-match-round-heading::after { margin-top:6px !important; }
    .npb-competitions-public .npb-match-row { grid-template-columns:72px minmax(0,1fr) 30px !important; min-height:38px !important; padding:0 4px !important; }
    .npb-competitions-public .npb-match-date { display:grid !important; gap:0 !important; padding:4px !important; font-size:.62rem !important; line-height:1.05 !important; }
    .npb-competitions-public .npb-match-date strong { font-size:.68rem !important; }
    .npb-competitions-public .npb-match-teams { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) !important; gap:2px !important; padding:4px 2px !important; font-size:.69rem !important; }
    .npb-competitions-public .npb-match-score { padding:3px 2px !important; font-size:.72rem !important; }
}
/* =========================================================
   5.0.4.69 - Competitie Pro: uitslag horizontaal op één regel
   ========================================================= */
.npb-competitions-public .npb-match-row {
    grid-template-columns:128px minmax(0,1fr) 104px !important;
}
.npb-competitions-public .npb-match-score {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:9px !important;
    white-space:nowrap !important;
    font-variant-numeric:tabular-nums !important;
}
.npb-competitions-public .npb-match-score-inline {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    min-width:62px !important;
    font-size:.9rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}
.npb-competitions-public .npb-match-score-inline span { opacity:.62 !important; color:inherit !important; }
.npb-competitions-public .npb-match-detail-chevron { flex:0 0 auto !important; }
@media (max-width:700px) {
    .npb-competitions-public .npb-match-row { grid-template-columns:72px minmax(0,1fr) 68px !important; }
    .npb-competitions-public .npb-match-score { gap:4px !important; }
    .npb-competitions-public .npb-match-score-inline { min-width:46px !important; gap:4px !important; font-size:.72rem !important; }
}


/* =========================================================
   5.0.4.70 - Competitie Pro: score nowrap + thematische details
   ========================================================= */
.npb-competitions-public .npb-match-row {
    grid-template-columns:128px minmax(0,1fr) 118px !important;
    min-height:40px !important;
}
.npb-competitions-public .npb-match-score {
    display:grid !important;
    grid-template-columns:minmax(72px,auto) 18px !important;
    align-items:center !important;
    justify-content:end !important;
    column-gap:8px !important;
    min-width:0 !important;
    white-space:nowrap !important;
}
.npb-competitions-public .npb-match-score-inline {
    display:block !important;
    min-width:72px !important;
    text-align:right !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-variant-numeric:tabular-nums !important;
}
.npb-competitions-public .npb-match-score-inline span {
    display:inline !important;
    white-space:nowrap !important;
}
.npb-competitions-public .npb-match-detail-chevron {
    width:18px !important;
    text-align:center !important;
}

/* Wedstrijddetail volgt altijd het gekozen Competitie Pro-thema. */
.npb-competitions-public[data-competition-theme="dark"] .npb-match-row[aria-expanded="true"] {
    background:rgba(244,124,8,.08) !important;
    box-shadow:inset 3px 0 0 #f47c08 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-detail {
    background:#08243d !important;
    color:#f3f7fb !important;
    border-top:1px solid rgba(244,124,8,.42) !important;
    box-shadow:inset 3px 0 0 #f47c08 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-meta {
    color:#b9ccdc !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-games {
    border-color:rgba(151,183,210,.24) !important;
    background:#061d32 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-game {
    border-bottom-color:rgba(151,183,210,.16) !important;
    background:transparent !important;
    color:#f3f7fb !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-game-player,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-player-name {
    color:#f3f7fb !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-game-number {
    color:#8eabc3 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-game-score,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-game strong {
    color:#ff9a32 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-player-photo {
    background:#0c3152 !important;
    box-shadow:0 0 0 1px rgba(151,183,210,.25) !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-player-photo-placeholder {
    background:#124f96 !important;
    color:#fff !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-no-games {
    color:#a9bfd3 !important;
}

/* Licht thema: detailkaart bewust licht en in dezelfde stijl. */
.npb-competitions-public[data-competition-theme="light"] .npb-match-detail {
    background:#f8fafc !important;
    color:#10243e !important;
    border-top:1px solid #e1e8f0 !important;
    box-shadow:inset 3px 0 0 #f47c08 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-games {
    background:#fff !important;
    border-color:#dde6ef !important;
}

@media (max-width:700px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:72px minmax(0,1fr) 78px !important;
        min-height:36px !important;
    }
    .npb-competitions-public .npb-match-score {
        grid-template-columns:minmax(52px,auto) 14px !important;
        column-gap:3px !important;
    }
    .npb-competitions-public .npb-match-score-inline {
        min-width:52px !important;
        font-size:.7rem !important;
    }
    .npb-competitions-public .npb-match-detail-chevron { width:14px !important; }
}

/* =========================================================
   5.0.4.71 - Competitie Pro: kleurrijker licht NPB-thema
   ========================================================= */
.npb-competitions-public[data-competition-theme="light"] {
    background:linear-gradient(180deg,#f3f7fb 0%,#edf4fa 100%) !important;
    color:#123b68 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-pro,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-toolbar-compact {
    background:linear-gradient(135deg,#ffffff 0%,#edf5fc 100%) !important;
    border-color:#bfd3e6 !important;
    box-shadow:0 10px 26px rgba(10,55,103,.10) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-league-chip:not(.is-active),
.npb-competitions-public[data-competition-theme="light"] .npb-pool-chip:not(.is-active),
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tab:not(.is-active) {
    background:linear-gradient(180deg,#ffffff,#eaf2f9) !important;
    color:#124a7d !important;
    border-color:#b9cee2 !important;
    box-shadow:0 2px 6px rgba(13,66,113,.06) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-league-chip:not(.is-active):hover,
.npb-competitions-public[data-competition-theme="light"] .npb-pool-chip:not(.is-active):hover,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tab:not(.is-active):hover {
    background:#dcebf7 !important;
    border-color:#7fa9ca !important;
    color:#082f58 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-league-chip.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-pool-chip.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tab.is-active {
    background:linear-gradient(135deg,#ff9418,#f47700) !important;
    border-color:#f47700 !important;
    color:#fff !important;
    box-shadow:0 5px 13px rgba(244,119,0,.22) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-header {
    background:linear-gradient(100deg,#ffffff 0%,#edf6fd 68%,#e3f0fa 100%) !important;
    border-color:#bfd3e6 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro .npb-eyebrow {
    color:#f47700 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro h2,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-header h2 {
    color:#073b6c !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-hero-pro .npb-count-badge {
    background:#dbeaf6 !important;
    color:#0a477a !important;
    border-color:#b4cde1 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-tabs {
    background:#e4eef7 !important;
    border-color:#bfd3e6 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-round-heading {
    color:#f47700 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-round-heading::after {
    background:linear-gradient(90deg,#f47700,#f6b36f 32%,#c9dbea 72%) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-row:nth-of-type(even) {
    background:rgba(219,234,246,.42) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-row:hover {
    background:#e4f0f9 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-date,
.npb-competitions-public[data-competition-theme="light"] .npb-match-team,
.npb-competitions-public[data-competition-theme="light"] .npb-match-teams {
    color:#143e67 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-match-date span { color:#68829a !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-match-score strong { color:#073b6c !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard {
    background:linear-gradient(145deg,#0b477b,#12639f) !important;
    color:#fff !important;
    border-color:#0d568f !important;
    box-shadow:0 10px 24px rgba(8,61,105,.16) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard h3 { color:#ff9a32 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dl > div { border-bottom-color:rgba(255,255,255,.14) !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dt { color:#d7e8f6 !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dd { color:#fff !important; }
.npb-competitions-public[data-competition-theme="light"] .npb-match-detail {
    background:linear-gradient(180deg,#f7fbff,#edf5fb) !important;
    border-top-color:#c8dbea !important;
}

/* 5.0.4.72 - gecombineerd wedstrijd/uitslag/LIVE overzicht */
.npb-match-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin:0 0 10px;border-radius:10px;background:rgba(16,54,86,.06);font-size:12px;color:#486278}
.npb-match-summary span{display:inline-flex;gap:4px;align-items:center}.npb-match-summary strong{color:#0b3151}.npb-match-summary .is-live,.npb-match-summary .is-live strong{color:#d83a34}
.npb-live-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:.08em;color:#fff;background:#d83a34;border-radius:999px;padding:4px 7px;margin-right:8px;line-height:1}
.npb-live-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.18);animation:npbLivePulse 1.4s ease-in-out infinite}
.npb-match-item.is-live{background:linear-gradient(90deg,rgba(216,58,52,.08),transparent 36%)}
.npb-match-item.is-live .npb-match-score-inline{color:#d83a34}
@keyframes npbLivePulse{50%{opacity:.35;transform:scale(.78)}}
[data-npb-theme="dark"] .npb-match-summary{background:rgba(255,255,255,.045);color:#9fb5c8}[data-npb-theme="dark"] .npb-match-summary strong{color:#f3f8fc}[data-npb-theme="dark"] .npb-match-summary .is-live,[data-npb-theme="dark"] .npb-match-summary .is-live strong{color:#ff6b63}
[data-npb-theme="dark"] .npb-match-item.is-live{background:linear-gradient(90deg,rgba(255,79,70,.10),transparent 40%)}[data-npb-theme="dark"] .npb-match-item.is-live .npb-match-score-inline{color:#ff7770}
@media(max-width:700px){.npb-match-summary{padding:8px 10px;gap:8px}.npb-live-badge{font-size:9px;padding:3px 6px;margin-right:5px}}

/* =========================================================
   5.0.4.73 - LIVE totaalstand + automatische verversing
   ========================================================= */
.npb-competitions-public .npb-match-row {
    grid-template-columns:128px minmax(0,1fr) 158px !important;
}
.npb-competitions-public .npb-match-score {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    min-width:0 !important;
    white-space:nowrap !important;
}
.npb-competitions-public .npb-live-badge {
    flex:0 0 auto !important;
    margin-right:0 !important;
}
.npb-competitions-public .npb-match-score-inline {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    min-width:58px !important;
    white-space:nowrap !important;
}
.npb-competitions-public .npb-match-detail-chevron {
    flex:0 0 16px !important;
    width:16px !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-item.is-live,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-item.is-live .npb-match-row {
    background:linear-gradient(90deg,rgba(255,79,70,.10),rgba(255,79,70,.025) 42%,transparent 72%) !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-item.is-live .npb-match-score-inline {
    color:#ff8a83 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-summary {
    background:rgba(255,255,255,.045) !important;
    color:#9fb5c8 !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-match-summary strong { color:#f3f8fc !important; }
.npb-competitions-public[data-competition-theme="dark"] .npb-match-summary .is-live,
.npb-competitions-public[data-competition-theme="dark"] .npb-match-summary .is-live strong { color:#ff6b63 !important; }
@media (max-width:700px) {
    .npb-competitions-public .npb-match-row { grid-template-columns:72px minmax(0,1fr) 100px !important; }
    .npb-competitions-public .npb-match-score { gap:3px !important; }
    .npb-competitions-public .npb-live-badge { padding:3px 5px !important; font-size:8px !important; letter-spacing:.04em !important; }
    .npb-competitions-public .npb-live-badge i { width:5px !important; height:5px !important; }
    .npb-competitions-public .npb-match-score-inline { min-width:42px !important; gap:3px !important; font-size:.68rem !important; }
    .npb-competitions-public .npb-match-detail-chevron { flex-basis:12px !important; width:12px !important; }
}

/* 5.0.4.75 - LIVE zichtbaar op de stand */
.npb-stand-live-carousel{position:relative;height:56px;margin:8px 8px 10px;overflow:hidden;border-radius:10px}
.npb-stand-live-banner{position:absolute;inset:0;width:100%;display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1fr) auto auto;align-items:center;gap:14px;border:1px solid rgba(239,68,68,.35);border-left:3px solid #ef4444;border-radius:10px;background:linear-gradient(90deg,rgba(239,68,68,.11),rgba(255,122,0,.035));padding:9px 13px;color:inherit;font:inherit;cursor:pointer;text-align:left;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .35s ease,transform .35s ease,visibility .35s ease}
.npb-stand-live-banner.is-active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.npb-stand-live-banner:hover{background:linear-gradient(90deg,rgba(239,68,68,.17),rgba(255,122,0,.06))}
.npb-stand-live-home{text-align:right;font-weight:800}.npb-stand-live-away{font-weight:800}
.npb-stand-live-score{display:inline-flex;gap:7px;align-items:center;white-space:nowrap;font-size:16px;color:#ef4444}
.npb-stand-live-counter{justify-self:end;min-width:34px;text-align:center;font-size:11px;font-weight:900;opacity:.65;white-space:nowrap}
.npb-stand-live-arrow{font-size:24px;opacity:.75}
.npb-standings-table tr.npb-team-is-live>td,.npb-standings-table tr.npb-team-is-live>th{background:rgba(239,68,68,.065)}
.npb-standings-table tr.npb-team-is-live>th:first-of-type{box-shadow:inset 3px 0 0 #ef4444}
.npb-stand-team-live{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 6px;border-radius:999px;background:#d83a34;color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1;white-space:nowrap}
.npb-stand-team-live i{width:5px;height:5px;border-radius:50%;background:#fff;animation:npbLivePulse 1.4s ease-in-out infinite}
.npb-competitions-public:not(.is-dark) .npb-stand-live-banner{background:linear-gradient(90deg,#fff1f1,#fff8f1);color:#082844}
.npb-competitions-public:not(.is-dark) .npb-standings-table tr.npb-team-is-live>td,.npb-competitions-public:not(.is-dark) .npb-standings-table tr.npb-team-is-live>th{background:#fff3f1}
@media(max-width:700px){.npb-stand-live-carousel{height:50px;margin:7px 6px 9px}.npb-stand-live-banner{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;gap:7px;padding:8px}.npb-stand-live-home,.npb-stand-live-away{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npb-stand-live-score{font-size:13px}.npb-stand-live-banner .npb-live-badge{font-size:8px}.npb-stand-live-counter{position:absolute;right:28px;bottom:3px;font-size:8px;min-width:0}.npb-stand-team-live{font-size:8px;margin-left:5px}}


/* 5.0.4.76 - LIVE carousel behoudt vaste hoogte, ook bij meerdere livewedstrijden */
@media (prefers-reduced-motion: reduce){.npb-stand-live-banner{transition:none}}

/* =========================================================
   5.0.4.77 - Competitie Pro: mobile compact wedstrijden
   Desktop blijft ongewijzigd; alleen <= 700px.
   ========================================================= */
@media (max-width:700px) {
  .npb-competitions-public .npb-match-round-heading {
    padding:7px 10px 5px !important;
    margin:0 !important;
  }
  .npb-competitions-public .npb-match-round-heading::after {
    margin-top:5px !important;
  }
  .npb-competitions-public .npb-match-row {
    grid-template-columns:104px minmax(0,1fr) 92px !important;
    min-height:44px !important;
    padding:0 7px !important;
    column-gap:5px !important;
  }
  .npb-competitions-public .npb-match-date {
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    padding:5px 0 !important;
    min-width:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date span {
    display:block !important;
    max-width:62px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    font-size:.66rem !important;
  }
  .npb-competitions-public .npb-match-date strong {
    display:block !important;
    font-size:.72rem !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-teams {
    grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) !important;
    gap:3px !important;
    padding:5px 0 !important;
    min-width:0 !important;
    font-size:.72rem !important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team span {
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-score {
    grid-template-columns:auto minmax(38px,auto) 12px !important;
    gap:3px !important;
    padding:4px 0 !important;
    min-width:0 !important;
  }
  .npb-competitions-public .npb-match-score:not(:has(.npb-live-badge)) {
    grid-template-columns:minmax(38px,auto) 12px !important;
  }
  .npb-competitions-public .npb-live-badge {
    margin:0 !important;
    padding:3px 5px !important;
    font-size:7px !important;
    letter-spacing:.02em !important;
  }
  .npb-competitions-public .npb-match-score-inline {
    min-width:38px !important;
    font-size:.72rem !important;
    gap:2px !important;
  }
  .npb-competitions-public .npb-match-detail-chevron {
    width:12px !important;
    font-size:.72rem !important;
  }
  .npb-competitions-public .npb-match-detail {
    padding-left:7px !important;
    padding-right:7px !important;
  }
  .npb-competitions-public .npb-match-meta {
    padding:7px 5px !important;
    font-size:.68rem !important;
  }
  .npb-competitions-public .npb-match-games {
    width:100% !important;
    max-width:none !important;
  }
  .npb-competitions-public .npb-match-game {
    grid-template-columns:15px minmax(0,1fr) 38px minmax(0,1fr) !important;
    gap:4px !important;
    min-height:39px !important;
    padding:3px 4px !important;
    font-size:.72rem !important;
  }
  .npb-competitions-public .npb-match-game-player {
    gap:4px !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  .npb-competitions-public .npb-match-player-name {
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-player-photo,
  .npb-competitions-public .npb-match-player-photo-placeholder {
    flex:0 0 30px !important;
    width:30px !important;
    height:30px !important;
  }
  .npb-competitions-public .npb-match-game-score {
    min-width:34px !important;
    font-size:.76rem !important;
  }
  /* Minder lege verticale ruimte in de competitiekaart op mobiel. */
  .npb-competitions-public .npb-competition-card-header {
    min-height:0 !important;
  }
}

/* =========================================================
   5.0.4.78 - Tablet layout (iPad / 768-1366px)
   Stand krijgt volle breedte; zijkaarten eronder.
   Team PRO: wedstrijden volle breedte, info/statistiek eronder.
   ========================================================= */
@media (min-width: 701px) and (max-width: 1366px) {
    /* Competitie: voorkom dat sidebar de ranglijst op tablets afknijpt. */
    .npb-competitions-public .npb-standings-pro-grid,
    .npb-competitions-public .npb-standings-content-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .npb-competitions-public .npb-standings-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .npb-competitions-public .npb-standings-table {
        width: 100% !important;
        min-width: 760px !important;
        table-layout: auto !important;
    }

    /* Info + legenda onder de stand, naast elkaar als er ruimte is. */
    .npb-competitions-public .npb-standings-pro-sidebar,
    .npb-competitions-public .npb-standings-sidebar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-top: 0 !important;
    }

    .npb-competitions-public .npb-standings-pro-sidecard,
    .npb-competitions-public .npb-standings-sidecard {
        min-width: 0 !important;
    }

    /* Toolbar op tablet iets compacter en veilig binnen viewport. */
    .npb-competitions-public .npb-competition-toolbar-compact {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .npb-competitions-public .npb-competition-toolbar-compact .npb-league-selector,
    .npb-competitions-public .npb-competition-toolbar-compact .npb-pool-selector {
        flex-wrap: wrap !important;
    }

    /* Team PRO: hoofdinhoud (wedstrijden) eerst en volle breedte. */
    #npb-team-pro .npb-team-pro-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    #npb-team-pro .npb-team-pro-main {
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-sidebar {
        order: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-card {
        min-width: 0 !important;
    }

    /* Tabellen op Team PRO mogen de pagina niet breder maken. */
    #npb-team-pro .npb-team-pro-main,
    #npb-team-pro .npb-team-pro-card,
    #npb-team-pro .npb-team-pro-card-body {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    #npb-team-pro table {
        width: 100% !important;
    }
}

/* Smalle tablet / portrait: sidecards onder elkaar voor voldoende leesruimte. */
@media (min-width: 701px) and (max-width: 900px) {
    .npb-competitions-public .npb-standings-pro-sidebar,
    .npb-competitions-public .npb-standings-sidebar,
    #npb-team-pro .npb-team-pro-sidebar {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* 5.0.4.79 - opt-in LIVE auto-refresh */
.npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle{
  margin-left:auto;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;
  border:1px solid #cbd9e7;border-radius:9px;background:#fff;color:#36516d;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;
}
.npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle strong{padding:2px 7px;border-radius:999px;background:#e8eef4;color:#61758a;font-size:.66rem;letter-spacing:.03em}
.npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle.is-active{border-color:#f47c08;color:#b84f00;background:#fff8f1}
.npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle.is-active strong{background:#f47c08;color:#fff}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs .npb-live-refresh-toggle{background:#082844;border-color:#315878;color:#c9ddf0}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs .npb-live-refresh-toggle strong{background:#163f62;color:#bcd1e4}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs .npb-live-refresh-toggle.is-active{border-color:#f47c08;color:#ffb268;background:#0b2f4e}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs .npb-live-refresh-toggle.is-active strong{background:#f47c08;color:#fff}
@media (max-width:700px){
  .npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle{width:100%;margin:6px 0 0;justify-content:center;order:10}
}

/* ==========================================================================
   NPB Beheer 5.0.4.80 — Live Center
   ========================================================================== */
.npb-livecenter{--lc-bg:#04172b;--lc-panel:#06223d;--lc-panel2:#082b4a;--lc-line:#214b6d;--lc-text:#eef7ff;--lc-muted:#9db6ca;--lc-orange:#ff7900;--lc-blue:#1d5b9d;--lc-live:#ef4545;max-width:1220px;margin:0 auto;padding:12px 12px 48px;color:var(--lc-text);font-family:inherit}
.npb-livecenter[data-npb-theme="dark"]{background:var(--lc-bg)}
.npb-livecenter[data-npb-theme="light"]{--lc-bg:#f4f8fc;--lc-panel:#fff;--lc-panel2:#eef5fb;--lc-line:#c9dbea;--lc-text:#0a2944;--lc-muted:#59758e;--lc-blue:#14559a;background:var(--lc-bg)}
.npb-livecenter-toolbar,.npb-livecenter-hero,.npb-livecenter-section{border:1px solid var(--lc-line);border-radius:16px;background:var(--lc-panel);box-shadow:0 12px 30px rgba(4,25,44,.08)}
.npb-livecenter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;margin-bottom:10px}
.npb-livecenter-season{display:flex;align-items:center;gap:10px}.npb-livecenter-season label{font-size:.72rem;font-weight:900;text-transform:uppercase}.npb-livecenter-season select{min-width:230px;height:42px;border:1px solid var(--lc-line);border-radius:10px;background:var(--lc-panel2);color:var(--lc-text);padding:0 40px 0 14px;font-weight:800}
.npb-livecenter-tools{display:flex;align-items:center;gap:10px}.npb-livecenter-refresh{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:1px solid var(--lc-line);border-radius:999px;background:var(--lc-panel2);color:var(--lc-muted);padding:7px 12px;font-weight:800;cursor:pointer}.npb-livecenter-refresh-dot{width:8px;height:8px;border-radius:50%;background:#7c91a4}.npb-livecenter-refresh.is-active{border-color:#43c776;color:var(--lc-text)}.npb-livecenter-refresh.is-active .npb-livecenter-refresh-dot{background:#36d875;box-shadow:0 0 0 5px rgba(54,216,117,.12)}
.npb-livecenter-theme-toggle{flex:0 0 auto}.npb-livecenter[data-npb-theme="light"] .npb-livecenter-theme-toggle{background:#fff!important;border-color:#c8d9e8!important}
.npb-livecenter-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;margin-bottom:10px;background:linear-gradient(120deg,var(--lc-panel),#0b477e)}.npb-livecenter[data-npb-theme="light"] .npb-livecenter-hero{background:linear-gradient(120deg,#fff,#e8f3fc)}
.npb-livecenter-kicker,.npb-livecenter-eyebrow{display:block;color:var(--lc-orange);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.npb-livecenter-hero h1,.npb-livecenter-section-head h2{margin:2px 0 0;color:var(--lc-text);font-style:italic;font-weight:950;text-transform:uppercase}.npb-livecenter-hero h1{font-size:clamp(1.8rem,4vw,3rem)}.npb-livecenter-hero p{max-width:680px;margin:8px 0 0;color:var(--lc-muted)}.npb-livecenter-stat{min-width:112px;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(0,0,0,.12);padding:12px 15px}.npb-livecenter[data-npb-theme="light"] .npb-livecenter-stat{background:#fff;border-color:#c9dbea}.npb-livecenter-stat strong{display:block;color:var(--lc-orange);font-size:2rem;line-height:1}.npb-livecenter-stat span{font-size:.72rem;font-weight:800;color:var(--lc-muted)}
.npb-livecenter-section{padding:18px;margin-bottom:10px}.npb-livecenter-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.npb-livecenter-section-head h2{font-size:1.35rem}.npb-livecenter-count,.npb-livecenter-upcoming-count{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--lc-line);border-radius:999px;padding:6px 10px;color:var(--lc-muted);font-size:.72rem;font-weight:900}.npb-livecenter-count i{display:block;width:8px;height:8px;border-radius:50%;background:var(--lc-live);box-shadow:0 0 0 5px rgba(239,69,69,.12)}
.npb-livecenter-empty{display:flex;align-items:center;gap:12px;border:1px dashed var(--lc-line);border-radius:13px;background:var(--lc-panel2);padding:18px}.npb-livecenter-empty-icon{color:#8aa0b5}.npb-livecenter-empty strong,.npb-livecenter-empty span{display:block}.npb-livecenter-empty span{margin-top:2px;color:var(--lc-muted);font-size:.82rem}
.npb-livecenter-live-list{display:grid;gap:9px}.npb-livecenter-match{overflow:hidden;border:1px solid var(--lc-line);border-radius:13px;background:var(--lc-panel2)}.npb-livecenter-match.is-live{border-left:3px solid var(--lc-live)}.npb-livecenter-match-main{display:grid;grid-template-columns:auto minmax(125px,.72fr) minmax(150px,1fr) auto minmax(150px,1fr) auto auto;align-items:center;gap:14px;width:100%;border:0;background:transparent;color:var(--lc-text);padding:13px 14px;text-align:left;cursor:pointer}.npb-livecenter-match-main:hover{background:rgba(255,255,255,.035)}.npb-livecenter[data-npb-theme="light"] .npb-livecenter-match-main:hover{background:#e6f0f8}.npb-livecenter-live-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--lc-live);color:#fff;padding:4px 8px;font-size:.64rem;font-weight:950}.npb-livecenter-live-badge i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22)}.npb-livecenter-match-meta strong,.npb-livecenter-match-meta small{display:block}.npb-livecenter-match-meta strong{font-size:.77rem;color:#72b8ff}.npb-livecenter-match-meta small{margin-top:2px;color:var(--lc-muted);font-size:.68rem}.npb-livecenter-home{text-align:right;font-weight:900}.npb-livecenter-away{font-weight:900}.npb-livecenter-score{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#fff;font-size:1.15rem;background:linear-gradient(135deg,#ff7a00,#e95b00);border-radius:10px;padding:7px 12px}.npb-livecenter-score em{font-style:normal;opacity:.75}.npb-livecenter-progress{white-space:nowrap;color:var(--lc-muted);font-size:.68rem;font-weight:800}.npb-livecenter-chevron{font-size:1.2rem;color:var(--lc-muted);transition:transform .18s ease}.npb-livecenter-match-main[aria-expanded="true"] .npb-livecenter-chevron{transform:rotate(180deg)}
.npb-livecenter-details{border-top:1px solid var(--lc-line);padding:10px 14px 14px;background:rgba(0,0,0,.08)}.npb-livecenter[data-npb-theme="light"] .npb-livecenter-details{background:#f8fbfe}.npb-livecenter-games{overflow:hidden;border:1px solid var(--lc-line);border-radius:10px}.npb-livecenter-game{display:grid;grid-template-columns:34px 1fr 72px 1fr;align-items:center;gap:10px;min-height:44px;padding:6px 10px}.npb-livecenter-game+.npb-livecenter-game{border-top:1px solid var(--lc-line)}.npb-livecenter-game-no{color:var(--lc-muted);text-align:center}.npb-livecenter-game-player{font-weight:750}.npb-livecenter-game-player.is-home{text-align:right}.npb-livecenter-game strong{text-align:center;color:var(--lc-orange)}.npb-livecenter-details-empty{margin:0;color:var(--lc-muted)}
.npb-livecenter-days{display:grid;gap:14px}.npb-livecenter-day h3{margin:0 0 4px;padding:0 4px;color:var(--lc-orange);font-size:.78rem;font-weight:950;text-transform:uppercase}.npb-livecenter-day-list{overflow:hidden;border:1px solid var(--lc-line);border-radius:12px;background:var(--lc-panel2)}.npb-livecenter-upcoming-match{display:grid;grid-template-columns:72px minmax(130px,.75fr) 1fr 30px 1fr;align-items:center;gap:10px;min-height:48px;padding:7px 12px}.npb-livecenter-upcoming-match+.npb-livecenter-upcoming-match{border-top:1px solid rgba(128,160,185,.16)}.npb-livecenter-upcoming-match time{font-weight:900;color:var(--lc-text)}.npb-livecenter-upcoming-competition{color:#72b8ff;font-size:.72rem;font-weight:800}.npb-livecenter-upcoming-home{text-align:right;font-weight:800}.npb-livecenter-upcoming-away{font-weight:800}.npb-livecenter-upcoming-vs{text-align:center;color:var(--lc-muted)}
@media (max-width:1000px){.npb-livecenter-match-main{grid-template-columns:auto 1fr auto;gap:8px 10px}.npb-livecenter-live-badge{grid-column:1}.npb-livecenter-match-meta{grid-column:2}.npb-livecenter-progress{grid-column:3;text-align:right}.npb-livecenter-home{grid-column:1/2;text-align:left;padding-left:2px}.npb-livecenter-score{grid-column:2;justify-self:center}.npb-livecenter-away{grid-column:3;text-align:right}.npb-livecenter-chevron{display:none}.npb-livecenter-upcoming-match{grid-template-columns:64px 1fr 24px 1fr}.npb-livecenter-upcoming-competition{grid-column:2/5;grid-row:1;font-size:.67rem}.npb-livecenter-upcoming-match time{grid-column:1;grid-row:1/3}.npb-livecenter-upcoming-home{grid-column:2;grid-row:2}.npb-livecenter-upcoming-vs{grid-column:3;grid-row:2}.npb-livecenter-upcoming-away{grid-column:4;grid-row:2}}
@media (max-width:680px){.npb-livecenter{padding:7px 6px 30px}.npb-livecenter-toolbar{align-items:stretch;flex-direction:column}.npb-livecenter-season{display:grid;grid-template-columns:auto 1fr}.npb-livecenter-season select{min-width:0;width:100%}.npb-livecenter-tools{justify-content:space-between}.npb-livecenter-refresh{font-size:.68rem}.npb-livecenter-hero{padding:18px;align-items:flex-start}.npb-livecenter-hero p{font-size:.78rem}.npb-livecenter-stat{min-width:72px;padding:9px}.npb-livecenter-section{padding:11px 9px}.npb-livecenter-section-head h2{font-size:1.05rem}.npb-livecenter-match-main{grid-template-columns:auto minmax(0,1fr) auto;padding:10px 9px}.npb-livecenter-match-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-livecenter-progress{display:none}.npb-livecenter-home,.npb-livecenter-away{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.79rem}.npb-livecenter-score{font-size:.9rem;padding:5px 8px;gap:5px}.npb-livecenter-game{grid-template-columns:24px minmax(0,1fr) 48px minmax(0,1fr);gap:5px;padding:5px}.npb-livecenter-game-player{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}.npb-livecenter-upcoming-match{grid-template-columns:54px minmax(0,1fr) 18px minmax(0,1fr);gap:5px;padding:6px 8px}.npb-livecenter-upcoming-home,.npb-livecenter-upcoming-away{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-livecenter-upcoming-competition{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-livecenter-upcoming-match time{font-size:.76rem}}

/* =========================================================
   Live Center 5.0.4.81 — full-width theme + visible toggle
   ========================================================= */
.npb-livecenter{
    position:relative;
    isolation:isolate;
    max-width:1220px;
    margin:0 auto;
    padding:12px 12px 48px;
}

/* Laat de themakleur visueel doorlopen buiten de gecentreerde content. */
.npb-livecenter::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:var(--lc-bg);
    pointer-events:none;
}

/* De generieke Competition PRO toggle is absoluut gepositioneerd.
   In Live Center moet hij gewoon in de toolbar staan. */
.npb-livecenter .npb-livecenter-theme-toggle{
    position:static !important;
    top:auto !important;
    right:auto !important;
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:38px;
    margin:0;
    background:rgba(4,24,43,.92);
    border:1px solid #31516d;
    color:#fff;
}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-theme-toggle{
    background:#fff !important;
    border-color:#cbd9e7 !important;
    color:#08294f !important;
}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-theme-toggle .npb-competition-theme-choice.is-active{
    background:#fff4e8;
    color:#9b4a00;
    box-shadow:inset 0 0 0 1px #ff9a3c;
}
.npb-livecenter[data-npb-theme="dark"] .npb-livecenter-theme-toggle .npb-competition-theme-choice.is-active{
    background:linear-gradient(135deg,#0d4f91,#1266b4);
    color:#fff;
}

/* YOOtheme/Joomla hoofdcontent volgt het Live Center thema, zodat de witte
   stroken boven/naast het component verdwijnen. Alleen de main-content wordt
   geraakt; de website-header blijft buiten deze selectors. */
body[data-npb-livecenter-page-theme="dark"] #tm-main,
body[data-npb-livecenter-page-theme="dark"] .tm-main,
body[data-npb-livecenter-page-theme="dark"] main#tm-main,
body[data-npb-livecenter-page-theme="dark"] .uk-section-default:has(.npb-livecenter),
body[data-npb-livecenter-page-theme="dark"] .uk-section-muted:has(.npb-livecenter){
    background:#04172b !important;
}
body[data-npb-livecenter-page-theme="light"] #tm-main,
body[data-npb-livecenter-page-theme="light"] .tm-main,
body[data-npb-livecenter-page-theme="light"] main#tm-main,
body[data-npb-livecenter-page-theme="light"] .uk-section-default:has(.npb-livecenter),
body[data-npb-livecenter-page-theme="light"] .uk-section-muted:has(.npb-livecenter){
    background:#f4f8fc !important;
}

@media (max-width:680px){
    .npb-livecenter-tools{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        gap:8px;
    }
    .npb-livecenter .npb-livecenter-theme-toggle{
        margin-left:auto;
    }
}

/* =========================================================
   Live Center 5.0.4.82 — compact hero + progress polish
   ========================================================= */
.npb-livecenter-hero{
    padding:16px 20px;
    gap:16px;
}
.npb-livecenter-hero h1{
    font-size:clamp(1.65rem,3.2vw,2.45rem);
    line-height:1;
}
.npb-livecenter-hero p{
    margin-top:6px;
    font-size:.88rem;
}
.npb-livecenter-stat{
    min-width:auto;
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    gap:7px;
    padding:9px 13px;
    border-radius:12px;
    white-space:nowrap;
}
.npb-livecenter-stat strong{
    display:inline;
    font-size:1.55rem;
}
.npb-livecenter-stat span{
    font-size:.7rem;
    letter-spacing:.05em;
    text-transform:uppercase;
}

/* Voortgang van de partijen blijft compact maar is visueel direct leesbaar. */
.npb-livecenter-progress{
    display:grid;
    grid-template-columns:auto;
    gap:5px;
    min-width:90px;
}
.npb-livecenter-progress-text{
    display:block;
    text-align:right;
    line-height:1;
}
.npb-livecenter-progress-track{
    display:block;
    width:100%;
    height:3px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(145,177,203,.18);
}
.npb-livecenter-progress-track > span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#ff7900,#ff9b3d);
}
.npb-livecenter-match-main:focus-visible{
    outline:2px solid #ff7900;
    outline-offset:-2px;
}

@media (max-width:1000px){
    .npb-livecenter-progress{
        min-width:86px;
        justify-self:end;
    }
}

@media (max-width:680px){
    .npb-livecenter-hero{
        padding:13px 14px;
    }
    .npb-livecenter-hero p{
        margin-top:5px;
        font-size:.75rem;
    }
    .npb-livecenter-stat{
        padding:7px 10px;
    }
    .npb-livecenter-stat strong{
        font-size:1.2rem;
    }
    .npb-livecenter-progress{
        display:none;
    }
}


/* =========================================================
   Live Center 5.0.4.83 — rustigere counters + upcoming polish
   ========================================================= */
/* De hoofd-header bevat de enige LIVE-teller; geen dubbele teller meer. */
.npb-livecenter-live-section .npb-livecenter-section-head{
    margin-bottom:12px;
}

/* Licht thema: iets duidelijkere hover zonder de rustige basis te verliezen. */
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-match-main:hover,
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-match-main:focus-visible{
    background:#dfeefa;
    box-shadow:inset 0 0 0 1px rgba(20,85,154,.08);
}
.npb-livecenter[data-npb-theme="dark"] .npb-livecenter-match-main:hover,
.npb-livecenter[data-npb-theme="dark"] .npb-livecenter-match-main:focus-visible{
    background:rgba(69,139,201,.08);
}

/* Komende wedstrijden blijven compact en worden duidelijk per datum gegroepeerd. */
.npb-livecenter-day h3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 5px;
}
.npb-livecenter-day h3 small{
    color:var(--lc-muted);
    font-size:.66rem;
    font-style:normal;
    font-weight:800;
    letter-spacing:0;
    text-transform:none;
}
.npb-livecenter-upcoming-match{
    transition:background .16s ease;
}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-upcoming-match:hover{
    background:#e7f1f9;
}
.npb-livecenter[data-npb-theme="dark"] .npb-livecenter-upcoming-match:hover{
    background:rgba(69,139,201,.07);
}

@media (max-width:680px){
    .npb-livecenter-day h3 small{font-size:.61rem}
}

/* =========================================================
   Live Center 5.0.4.84 — Social Share
   ========================================================= */
.npb-livecenter-match{position:relative}
.npb-livecenter-match-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}
.npb-livecenter-share-toggle{
    display:flex;align-items:center;justify-content:center;
    width:42px;min-height:100%;border:0;border-left:1px solid var(--lc-line);
    background:transparent;color:var(--lc-muted);font-size:1.15rem;font-weight:900;
    cursor:pointer;transition:background .15s ease,color .15s ease
}
.npb-livecenter-share-toggle:hover,.npb-livecenter-share-toggle:focus-visible,
.npb-livecenter-share-toggle[aria-expanded="true"]{background:rgba(255,121,0,.09);color:var(--lc-orange);outline:0}
.npb-livecenter-share-menu{
    position:absolute;z-index:30;right:8px;top:50px;width:190px;
    overflow:hidden;border:1px solid var(--lc-line);border-radius:12px;
    background:var(--lc-panel);box-shadow:0 14px 36px rgba(0,0,0,.28);padding:5px
}
.npb-livecenter-share-menu[hidden]{display:none!important}
.npb-livecenter-share-menu button,.npb-livecenter-share-menu a{
    display:flex;align-items:center;gap:9px;width:100%;min-height:38px;
    box-sizing:border-box;border:0;border-radius:8px;background:transparent;color:var(--lc-text);
    padding:8px 10px;text-decoration:none;text-align:left;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer
}
.npb-livecenter-share-menu button:hover,.npb-livecenter-share-menu a:hover{background:var(--lc-panel2);color:var(--lc-orange);text-decoration:none}
.npb-livecenter-share-menu span[aria-hidden="true"]{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;font-weight:950}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-share-menu{box-shadow:0 14px 34px rgba(12,45,74,.16)}

@media (max-width:680px){
    .npb-livecenter-match-row{grid-template-columns:minmax(0,1fr) 36px}
    .npb-livecenter-share-toggle{width:36px;font-size:1rem}
    .npb-livecenter-share-menu{right:5px;top:46px;width:min(190px,calc(100% - 10px))}
}


/* =========================================================
   Live Center 5.0.4.85 — Share UX polish
   ========================================================= */
.npb-livecenter-share-toggle{position:relative;overflow:visible}
.npb-livecenter-share-toggle .npb-share-icon{
    width:19px;height:19px;display:block;fill:none;stroke:currentColor;
    stroke-width:2;stroke-linecap:round;stroke-linejoin:round
}
.npb-livecenter-share-tooltip{
    position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%) translateX(4px);
    pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;
    padding:5px 8px;border:1px solid var(--lc-line);border-radius:7px;
    background:var(--lc-panel);color:var(--lc-text);box-shadow:0 8px 22px rgba(0,0,0,.22);
    font-size:.68rem;font-weight:850;line-height:1;transition:opacity .14s ease,transform .14s ease,visibility .14s ease
}
.npb-livecenter-share-toggle:hover .npb-livecenter-share-tooltip,
.npb-livecenter-share-toggle:focus-visible .npb-livecenter-share-tooltip{
    opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)
}
.npb-share-menu-icon{
    display:inline-block!important;width:20px!important;height:20px!important;
    fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px
}
@media (pointer:coarse),(max-width:820px){
    .npb-livecenter-share-tooltip{display:none}
}

/* =========================================================
   Live Center 5.0.4.86 — Share popover visibility fix
   ========================================================= */
/* De wedstrijdkaart mag het deelmenu niet meer afknippen. */
.npb-livecenter-match{
    overflow:visible;
}

/* Het menu opent op desktop boven de wedstrijdregel. Daardoor blijft het
   ook bij de onderste livewedstrijd volledig binnen beeld. */
.npb-livecenter-share-menu{
    z-index:250;
    top:auto;
    bottom:calc(100% - 8px);
    right:8px;
}

/* Houd de afgeronde vorm van de wedstrijdregel intact nu de article zelf
   overflow toestaat. */
.npb-livecenter-match-row{
    overflow:hidden;
    border-radius:12px;
}

/* Als details open staan, blijven die netjes aan de kaart gekoppeld. */
.npb-livecenter-details{
    border-radius:0 0 12px 12px;
}

@media (max-width:680px){
    .npb-livecenter-share-menu{
        right:5px;
        top:auto;
        bottom:calc(100% - 6px);
        width:min(190px,calc(100% - 10px));
    }
}


/* =========================================================
   NPB Beheer 5.0.4.93 - Competitie PRO dark continuity fix
   ========================================================= */

/* Dark mode: remove light YOOtheme/Joomla bands around Competitie PRO. */
html.npb-theme-dark body,
body.npb-theme-dark,
.npb-theme-dark #tm-main,
.npb-theme-dark .tm-main,
.npb-theme-dark .uk-section-default,
.npb-theme-dark .uk-section-muted,
.npb-theme-dark .uk-section-primary,
.npb-theme-dark .uk-container-expand {
    background-color: #061c2e !important;
}

/* Keep the competition surface continuous directly below the site header. */
.npb-theme-dark .npb-competities-page,
.npb-theme-dark .npb-competition-page,
.npb-theme-dark .npb-competitie-pro,
.npb-theme-dark .npb-competitie-shell,
.npb-theme-dark .npb-competition-shell {
    background-color: #061c2e !important;
}

/* Dark-mode LIVE summary strip: dark card with red LIVE accent instead of light strip. */
.npb-theme-dark .npb-live-strip,
.npb-theme-dark .npb-live-banner,
.npb-theme-dark .npb-live-summary,
.npb-theme-dark .npb-competition-live,
.npb-theme-dark .npb-live-match-banner {
    background: #0b3453 !important;
    color: #ffffff !important;
    border-color: #285875 !important;
    border-left: 4px solid #ff414d !important;
    box-shadow: none !important;
}

.npb-theme-dark .npb-live-strip *,
.npb-theme-dark .npb-live-banner *,
.npb-theme-dark .npb-live-summary *,
.npb-theme-dark .npb-competition-live *,
.npb-theme-dark .npb-live-match-banner * {
    color: inherit;
}

/* Preserve score/LIVE accent colors where classes are present. */
.npb-theme-dark .npb-live-strip .npb-live-badge,
.npb-theme-dark .npb-live-banner .npb-live-badge,
.npb-theme-dark .npb-live-summary .npb-live-badge,
.npb-theme-dark .npb-live-score,
.npb-theme-dark .npb-live-score * {
    color: #ff4b55 !important;
}

/* =========================================================
   5.0.4.93 - Competitie PRO: gerichte dark continuity fixes
   ========================================================= */

/* De 5.0.4.75 lichtregel gebruikte een oude .is-dark class die niet meer
   op de root staat. Licht/donker wordt nu uitsluitend via data-competition-theme bepaald. */
.npb-competitions-public[data-competition-theme="light"] .npb-stand-live-banner {
    background: linear-gradient(90deg,#fff1f1,#fff8f1) !important;
    color: #082844 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tr.npb-team-is-live > td,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tr.npb-team-is-live > th {
    background: #fff3f1 !important;
}

/* Donker thema: LIVE-carousel in dezelfde stijl als Live Center. */
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-banner {
    background: linear-gradient(90deg,#0b3453 0%,#082844 100%) !important;
    color: #f4f8fc !important;
    border: 1px solid rgba(102,155,195,.30) !important;
    border-left: 4px solid #ef4444 !important;
    box-shadow: none !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-banner:hover {
    background: linear-gradient(90deg,#10405f 0%,#0b3150 100%) !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-home,
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-away {
    color: #f4f8fc !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-score,
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-score span {
    color: #ff655f !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-counter,
.npb-competitions-public[data-competition-theme="dark"] .npb-stand-live-arrow {
    color: #b8cee0 !important;
}

/* De full-width achtergrond uit 5.0.4.67 was aan de bovenzijde exact op de
   componentrand geclipt. Laat de achtergrond circa 24px omhoog doorlopen,
   zodat een YOOtheme/Joomla tussenstrook onder de header niet wit blijft. */
@media (min-width:701px) {
    .npb-competitions-public[data-competition-theme="dark"] {
        background:#061d32 !important;
        box-shadow:0 0 0 100vmax #061d32 !important;
        clip-path:inset(-24px -100vmax 0 -100vmax) !important;
    }
    .npb-competitions-public[data-competition-theme="light"] {
        background:#f4f7fb !important;
        box-shadow:0 0 0 100vmax #f4f7fb !important;
        clip-path:inset(-24px -100vmax 0 -100vmax) !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.4.93 - rustige stand + teamfilter uitlijning
   ========================================================================== */
/* Geen teamlogo's/letterbadges in de competitiestand. */
.npb-competitions-public .npb-team-stand-logo,
.npb-competitions-public .npb-team-stand-logo-fallback { display:none !important; }
.npb-competitions-public .npb-team-cell-inner { gap:8px; }

/* Teamfilter: naam links, resetknop exact onder Auto-refresh rechts. */
.npb-competitions-public .npb-team-results-filter-notice {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 132px;
    align-items:center;
    gap:12px;
    margin:0 !important;
    padding:7px 10px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
}
.npb-competitions-public .npb-team-results-filter-notice > span { min-width:0; }
.npb-competitions-public .npb-team-results-filter-notice button {
    width:132px;
    min-height:34px;
    margin:0;
    padding:6px 10px;
    border:1px solid #cbd9e7;
    border-radius:9px;
    background:#fff;
    color:#36516d;
    font-size:.72rem;
    font-weight:800;
    white-space:nowrap;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-team-results-filter-notice button {
    background:#082844;
    border-color:#315878;
    color:#c9ddf0;
}
/* Zelfde vaste breedte voor Auto-refresh, zodat beide knoppen exact onder elkaar staan. */
.npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle {
    width:132px;
    justify-content:center;
}
@media (max-width:700px) {
    .npb-competitions-public .npb-team-results-filter-notice {
        grid-template-columns:1fr;
        align-items:stretch;
    }
    .npb-competitions-public .npb-team-results-filter-notice button { width:100%; }
    .npb-competitions-public .npb-competition-tabs .npb-live-refresh-toggle { width:100%; }
}


/* ==========================================================================
   NPB Beheer 5.0.4.94 - teamfilter reset alleen rechts
   ========================================================================== */
.npb-competitions-public .npb-team-results-filter-notice {
    display:block !important;
    padding:7px 0 !important;
}
.npb-competitions-public .npb-team-results-filter-notice button { display:none !important; }
.npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button {
    width:132px;
    min-height:34px;
    margin:0 0 0 auto;
    padding:6px 10px;
    border:1px solid #cbd9e7;
    border-radius:9px;
    background:#fff;
    color:#36516d;
    font:inherit;
    font-size:.72rem;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-tabs .npb-team-results-clear-button {
    background:#082844;
    border-color:#315878;
    color:#c9ddf0;
}
.npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button[hidden] { display:none !important; }
@media (max-width:700px) {
    .npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button { width:100%; }
}

/* ==========================================================================
   NPB Beheer 5.0.6.8 - resetknop onder Auto-refresh rechts
   ========================================================================== */
.npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button[hidden] {
    display: none !important;
}
@media (max-width:700px) {
    .npb-competitions-public .npb-competition-tabs .npb-team-results-clear-button {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.6.8 - Teamfilter echte markupfix
   Auto-refresh + 'Alle wedstrijden' vormen één rechter actiekolom.
   ========================================================================== */
.npb-competitions-public .npb-competition-tabs {
    display:flex !important;
    align-items:flex-start !important;
    gap:6px !important;
}
.npb-competitions-public .npb-competition-tabs > .npb-competition-tab {
    flex:1 1 0 !important;
}
.npb-competitions-public .npb-competition-actions-stack {
    flex:0 0 150px;
    width:150px;
    margin-left:auto;
    display:flex;
    flex-direction:column;
    gap:6px;
    align-items:stretch;
}
.npb-competitions-public .npb-competition-actions-stack .npb-live-refresh-toggle,
.npb-competitions-public .npb-competition-actions-stack .npb-team-results-clear-button {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:34px;
    margin:0 !important;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}
.npb-competitions-public .npb-competition-actions-stack .npb-live-refresh-toggle {
    margin-left:0 !important;
}
.npb-competitions-public .npb-competition-actions-stack .npb-team-results-clear-button {
    border:1px solid #cbd9e7;
    border-radius:9px;
    background:#fff;
    color:#36516d;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-actions-stack .npb-team-results-clear-button {
    background:#082844 !important;
    border-color:#315878 !important;
    color:#c9ddf0 !important;
}
.npb-competitions-public .npb-competition-actions-stack .npb-team-results-clear-button[hidden] {
    display:none !important;
}
@media (max-width:700px) {
    .npb-competitions-public .npb-competition-tabs {
        flex-wrap:wrap !important;
    }
    .npb-competitions-public .npb-competition-actions-stack {
        flex:1 0 100%;
        width:100%;
        margin:6px 0 0;
    }
    .npb-competitions-public .npb-competition-actions-stack .npb-live-refresh-toggle,
    .npb-competitions-public .npb-competition-actions-stack .npb-team-results-clear-button {
        width:100% !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.6.8 - Responsive stand: punten altijd zichtbaar
   ========================================================================== */

/* Op smallere desktop/tablet eerst het doelsaldo verbergen zodat P zichtbaar blijft. */
@media (max-width: 1100px) and (min-width: 701px) {
    .npb-competitions-public .npb-standings-table .npb-col-goaldiff,
    .npb-competitions-public .npb-standings-table th.npb-col-goaldiff,
    .npb-competitions-public .npb-standings-table td.npb-col-goaldiff {
        display: none !important;
    }

    .npb-competitions-public .npb-standings-table {
        width: 100% !important;
        table-layout: fixed;
    }

    .npb-competitions-public .npb-standings-table .npb-col-position {
        width: 46px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell {
        width: auto !important;
        min-width: 0 !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell strong,
    .npb-competitions-public .npb-standings-table .npb-team-cell a {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played,
    .npb-competitions-public .npb-standings-table .npb-col-won,
    .npb-competitions-public .npb-standings-table .npb-col-drawn,
    .npb-competitions-public .npb-standings-table .npb-col-lost {
        width: 48px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        display: table-cell !important;
        width: 58px !important;
        min-width: 58px !important;
        text-align: center !important;
        position: sticky;
        right: 0;
        z-index: 3;
        background: inherit;
    }

    .npb-competitions-public .npb-standings-table th.npb-col-points {
        z-index: 4;
    }

    .npb-competitions-public .npb-standings-table-wrap {
        overflow-x: hidden !important;
    }
}

/* Op nog smallere tablets: alleen essentiële kolommen houden. */
@media (max-width: 860px) and (min-width: 701px) {
    .npb-competitions-public .npb-standings-table .npb-col-drawn,
    .npb-competitions-public .npb-standings-table .npb-col-lost {
        display: none !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played,
    .npb-competitions-public .npb-standings-table .npb-col-won {
        width: 44px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        width: 56px !important;
        min-width: 56px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.6.8
   Responsive stand: Team + G + P blijven zichtbaar.
   Auto-refresh blijft compact op smalle schermen.
   ========================================================================== */

/* G (gespeeld) en P (punten) nooit verbergen in de compacte stand. */
@media (max-width: 1100px) {
    .npb-competitions-public .npb-standings-table .npb-col-played,
    .npb-competitions-public .npb-standings-table th.npb-col-played,
    .npb-competitions-public .npb-standings-table td.npb-col-played,
    .npb-competitions-public .npb-standings-table .npb-col-points,
    .npb-competitions-public .npb-standings-table th.npb-col-points,
    .npb-competitions-public .npb-standings-table td.npb-col-points {
        display: table-cell !important;
    }
}

/* Smal: alleen Team, G en P als vaste kern. */
@media (max-width: 700px) {
    .npb-competitions-public .npb-standings-table .npb-col-won,
    .npb-competitions-public .npb-standings-table .npb-col-drawn,
    .npb-competitions-public .npb-standings-table .npb-col-lost,
    .npb-competitions-public .npb-standings-table .npb-col-goaldiff,
    .npb-competitions-public .npb-standings-table th.npb-col-won,
    .npb-competitions-public .npb-standings-table th.npb-col-drawn,
    .npb-competitions-public .npb-standings-table th.npb-col-lost,
    .npb-competitions-public .npb-standings-table th.npb-col-goaldiff,
    .npb-competitions-public .npb-standings-table td.npb-col-won,
    .npb-competitions-public .npb-standings-table td.npb-col-drawn,
    .npb-competitions-public .npb-standings-table td.npb-col-lost,
    .npb-competitions-public .npb-standings-table td.npb-col-goaldiff {
        display: none !important;
    }

    .npb-competitions-public .npb-standings-table {
        width:100% !important;
        table-layout:fixed !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-position {
        width:38px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell {
        width:auto !important;
        min-width:0 !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played {
        width:48px !important;
        min-width:48px !important;
        text-align:center !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        width:48px !important;
        min-width:48px !important;
        text-align:right !important;
    }

    /* Geen volledige extra rij voor auto-refresh. */
    .npb-competitions-public .npb-competition-tabs {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto !important;
        gap:6px !important;
        align-items:start !important;
    }

    .npb-competitions-public .npb-competition-actions-stack {
        grid-column:3 !important;
        grid-row:1 !important;
        flex:0 0 auto !important;
        width:auto !important;
        margin:0 !important;
        display:flex !important;
        flex-direction:column !important;
        gap:5px !important;
    }

    .npb-competitions-public .npb-competition-actions-stack .npb-live-refresh-toggle {
        width:auto !important;
        min-width:116px !important;
        min-height:34px !important;
        padding-left:10px !important;
        padding-right:10px !important;
        white-space:nowrap !important;
    }

    .npb-competitions-public .npb-competition-actions-stack .npb-team-results-clear-button {
        width:100% !important;
        min-width:116px !important;
    }
}

/* Zeer smal: tabs houden ruimte; auto-refresh blijft compact rechts. */
@media (max-width: 520px) {
    .npb-competitions-public .npb-competition-tabs {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    }

    .npb-competitions-public .npb-competition-actions-stack {
        grid-column:2 !important;
        grid-row:2 !important;
        justify-self:end !important;
        width:auto !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played {
        width:42px !important;
        min-width:42px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        width:42px !important;
        min-width:42px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.6.8
   Mobiele stand definitief: Positie | Team | G | P
   ========================================================================== */
@media (max-width:700px) {
    .npb-competitions-public .npb-standings-table,
    .npb-competitions-public .npb-standings-table tbody {
        display:table !important;
        width:100% !important;
        table-layout:fixed !important;
    }

    .npb-competitions-public .npb-standings-table tr {
        display:table-row !important;
    }

    /* Eerst alles verbergen... */
    .npb-competitions-public .npb-standings-table th,
    .npb-competitions-public .npb-standings-table td {
        display:none !important;
    }

    /* ...en alleen Positie, Team, G en P tonen. */
    .npb-competitions-public .npb-standings-table .npb-col-position,
    .npb-competitions-public .npb-standings-table .npb-team-cell,
    .npb-competitions-public .npb-standings-table .npb-col-played,
    .npb-competitions-public .npb-standings-table .npb-col-points {
        display:table-cell !important;
        vertical-align:middle !important;
        box-sizing:border-box !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-position {
        width:42px !important;
        min-width:42px !important;
        padding:7px 4px 7px 8px !important;
        text-align:center !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell {
        width:auto !important;
        min-width:0 !important;
        padding:7px 6px !important;
        overflow:hidden !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell > * {
        min-width:0 !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell strong,
    .npb-competitions-public .npb-standings-table .npb-team-cell a {
        display:inline-block !important;
        max-width:calc(100% - 48px) !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        vertical-align:middle !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played {
        width:44px !important;
        min-width:44px !important;
        padding:7px 4px !important;
        text-align:center !important;
        white-space:nowrap !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        position:static !important;
        width:44px !important;
        min-width:44px !important;
        padding:7px 8px 7px 4px !important;
        text-align:right !important;
        white-space:nowrap !important;
        background:transparent !important;
    }

    /* Oude mobiele restanten expliciet uitschakelen. */
    .npb-competitions-public .npb-standings-table .npb-col-won,
    .npb-competitions-public .npb-standings-table .npb-col-drawn,
    .npb-competitions-public .npb-standings-table .npb-col-lost,
    .npb-competitions-public .npb-standings-table .npb-col-goaldiff,
    .npb-competitions-public .npb-standings-table .npb-col-form,
    .npb-competitions-public .npb-standings-table .npb-col-last {
        display:none !important;
    }

    /* Eventuele oude pseudo-labels/waarden voor V e.d. verwijderen. */
    .npb-competitions-public .npb-standings-table td::before,
    .npb-competitions-public .npb-standings-table td::after {
        content:none !important;
    }

    .npb-competitions-public .npb-standings-table-wrap {
        overflow-x:hidden !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.0.6.8
   Mobiele wedstrijdregels: volledige datum/tijd boven, teams + score eronder
   ========================================================================== */
@media (max-width:700px) {
    .npb-competitions-public .npb-match-row {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-rows:auto auto !important;
        column-gap:8px !important;
        row-gap:2px !important;
        min-height:58px !important;
        padding:7px 10px !important;
        align-items:center !important;
    }

    /* Eerste regel: volledige datum + tijd. */
    .npb-competitions-public .npb-match-date {
        grid-column:1 / -1 !important;
        grid-row:1 !important;
        display:flex !important;
        align-items:center !important;
        gap:7px !important;
        min-width:0 !important;
        padding:0 !important;
        white-space:nowrap !important;
        line-height:1.15 !important;
    }

    .npb-competitions-public .npb-match-date span {
        display:inline-block !important;
        max-width:none !important;
        overflow:visible !important;
        text-overflow:clip !important;
        white-space:nowrap !important;
        font-size:.70rem !important;
    }

    .npb-competitions-public .npb-match-date strong {
        display:inline-block !important;
        flex:0 0 auto !important;
        font-size:.76rem !important;
        white-space:nowrap !important;
    }

    /* Tweede regel: beide teams links, LIVE/score/pijl rechts. */
    .npb-competitions-public .npb-match-teams {
        grid-column:1 !important;
        grid-row:2 !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) !important;
        gap:4px !important;
        min-width:0 !important;
        padding:2px 0 0 !important;
        font-size:.76rem !important;
        align-items:center !important;
    }

    .npb-competitions-public .npb-match-team,
    .npb-competitions-public .npb-match-team span {
        min-width:0 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }

    .npb-competitions-public .npb-match-team.is-home {
        text-align:right !important;
    }

    .npb-competitions-public .npb-match-team.is-away {
        text-align:left !important;
    }

    .npb-competitions-public .npb-match-score {
        grid-column:2 !important;
        grid-row:2 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:5px !important;
        min-width:72px !important;
        padding:2px 0 0 !important;
        white-space:nowrap !important;
    }

    .npb-competitions-public .npb-match-score-inline {
        min-width:40px !important;
        font-size:.76rem !important;
        gap:3px !important;
    }

    .npb-competitions-public .npb-live-badge {
        flex:0 0 auto !important;
        margin:0 !important;
        padding:3px 5px !important;
        font-size:7px !important;
    }

    .npb-competitions-public .npb-match-detail-chevron {
        flex:0 0 12px !important;
        width:12px !important;
    }
}

/* Zeer smalle iPhones: datum blijft volledig, teams krijgen de resterende ruimte. */
@media (max-width:390px) {
    .npb-competitions-public .npb-match-row {
        padding-left:8px !important;
        padding-right:8px !important;
    }

    .npb-competitions-public .npb-match-date span {
        font-size:.66rem !important;
    }

    .npb-competitions-public .npb-match-date strong {
        font-size:.72rem !important;
    }

    .npb-competitions-public .npb-match-teams {
        font-size:.70rem !important;
    }

    .npb-competitions-public .npb-match-score {
        min-width:66px !important;
    }
}


/* NPB Beheer 5.0.6.8 - Team Center lege uitslagen */
.npb-team-pro-results-empty[data-pro-results-empty] strong,
.npb-team-pro-results-empty[data-pro-results-empty] span {
    display: block;
}
.npb-team-pro-results-empty[data-pro-results-empty] strong {
    margin-bottom: 6px;
}
.npb-team-pro-results-empty[data-pro-results-empty] span {
    opacity: .82;
}


/* ==========================================================================
   NPB Beheer 5.0.6.8 - Team Center sectiekoppen
   Duidelijk contrast voor Komende wedstrijden / Laatste uitslagen.
   ========================================================================== */
.npb-team-pro-section-heading td {
    opacity: 1 !important;
}

.npb-team-pro-section-heading strong {
    color: #ff7900 !important;
    opacity: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
}

.npb-team-pro-section-heading span {
    color: #8fc8f2 !important;
    opacity: 1 !important;
    font-weight: 600 !important;
}

/* Lege uitslagenmelding eveneens goed leesbaar in donker thema. */
.npb-team-pro-results-empty[data-pro-results-empty] strong {
    color: #ff7900 !important;
    opacity: 1 !important;
}

.npb-team-pro-results-empty[data-pro-results-empty] span {
    color: #b9d9ef !important;
    opacity: 1 !important;
}

/* Licht thema: donkerblauwe tekst voor het aantal/toelichting. */
.npb-competitions-public:not(.is-dark) .npb-team-pro-section-heading span,
.npb-competitions-public:not(.is-dark) .npb-team-pro-results-empty[data-pro-results-empty] span {
    color: #315a78 !important;
}


/* ==========================================================================
   NPB Beheer 5.0.6.8 - Team Center polish
   ========================================================================== */
#npb-team-pro[data-theme="dark"] .npb-team-pro-shell,
#npb-team-pro[data-theme="dark"] .npb-team-pro-grid {
    background:#04172b !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-grid {
    padding-top:18px !important;
    padding-bottom:18px !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-actions {
    margin:0 !important;
}

#npb-team-pro .npb-team-pro-breadcrumbs a,
#npb-team-pro .npb-team-pro-card dd a {
    color:#f47c08 !important;
    text-decoration:none !important;
    cursor:pointer;
}

#npb-team-pro .npb-team-pro-breadcrumbs a:hover,
#npb-team-pro .npb-team-pro-card dd a:hover {
    text-decoration:underline !important;
}

#npb-team-pro .npb-team-pro-card dd a[aria-disabled="true"] {
    color:inherit !important;
    text-decoration:none !important;
    cursor:default !important;
}

#npb-team-pro .npb-team-pro-captain-avatar {
    overflow:hidden !important;
}

#npb-team-pro .npb-team-pro-captain-avatar img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}

#npb-team-pro .npb-team-pro-captain-avatar img[hidden],
#npb-team-pro .npb-team-pro-captain-avatar span[hidden] {
    display:none !important;
}

/* Geplande wedstrijden hebben geen opvallende statusbadge meer. */
#npb-team-pro .npb-team-pro-result-score.is-planned {
    border:0 !important;
    background:transparent !important;
    color:#7f9ab2 !important;
    padding:0 !important;
    min-width:0 !important;
    font-weight:600 !important;
}

.npb-team-pro-position-panel{margin:18px 20px 0;padding:18px;border:1px solid rgba(93,151,194,.35);border-radius:14px;background:#082743}.npb-team-pro-position-head{display:flex;justify-content:space-between;align-items:center}.npb-team-pro-position-head span{color:#ff7900;font-weight:800}.npb-team-pro-position-head h3{margin:3px 0;color:#fff}.npb-team-pro-position-head button{border:1px solid #ff7900;background:transparent;color:#ff7900;border-radius:50%;width:36px;height:36px;font-size:22px}.npb-team-pro-position-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.npb-team-pro-position-stats>div{padding:12px;text-align:center;border:1px solid rgba(143,200,242,.2);border-radius:9px}.npb-team-pro-position-stats small{display:block;color:#9ec5df;text-transform:uppercase;font-size:10px}.npb-team-pro-position-stats strong{display:block;color:#ff7900;font-size:24px;margin-top:4px}.npb-team-pro-position-chart-wrap{min-height:300px;overflow-x:auto}.npb-team-pro-position-chart-wrap canvas{display:block;min-width:620px;height:300px}.npb-team-pro-position-empty{min-height:220px;align-items:center;justify-content:center;text-align:center}.npb-team-pro-position-empty:not([hidden]){display:flex}.npb-team-pro-position-note{text-align:center;color:#b9d9ef;padding:10px;border:1px solid rgba(143,200,242,.15);border-radius:8px}
#npb-team-pro[data-theme="light"]{background:#eaf2f8!important}#npb-team-pro[data-theme="light"] .npb-team-pro-shell,#npb-team-pro[data-theme="light"] .npb-team-pro-grid{background:#eaf2f8!important}#npb-team-pro[data-theme="light"] .npb-team-pro-hero,#npb-team-pro[data-theme="light"] .npb-team-pro-actions{background:#f2f7fb!important}#npb-team-pro[data-theme="light"] .npb-team-pro-card,#npb-team-pro[data-theme="light"] .npb-team-pro-schedule-card,#npb-team-pro[data-theme="light"] .npb-team-pro-position-panel{background:#f7fafc!important}#npb-team-pro[data-theme="light"] .npb-team-pro-position-head h3{color:#082743!important}#npb-team-pro[data-theme="light"] .npb-team-pro-position-note{color:#315a78!important}
@media(max-width:760px){.npb-team-pro-position-panel{margin:12px 8px 0;padding:12px}.npb-team-pro-position-stats{grid-template-columns:repeat(2,1fr)}.npb-team-pro-position-stats>div:last-child{grid-column:1/-1}}


/* ==========================================================================
   NPB Beheer 5.0.6.8 - Team Center inline details: echt donker thema
   ========================================================================== */
#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner {
    background: #071f36 !important;
    border-top: 1px solid rgba(103, 164, 207, .20) !important;
    border-bottom: 1px solid rgba(103, 164, 207, .20) !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-detail,
#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-games {
    background: #071f36 !important;
    color: #e8f3fb !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-meta {
    background: #0a2b49 !important;
    color: #b9d9ef !important;
    border-color: rgba(103, 164, 207, .22) !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-game {
    background: #092640 !important;
    border-color: rgba(103, 164, 207, .18) !important;
    color: #f4f8fb !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-game:nth-child(even) {
    background: #082239 !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-game-player,
#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-player-name {
    color: #f4f8fb !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-player-link {
    color: #f4f8fb !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-player-link:hover {
    color: #ff7900 !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-game-number {
    color: #8fc8f2 !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-game-score {
    color: #ff7900 !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail-inner .npb-match-player-photo-placeholder {
    background: #144d78 !important;
    color: #fff !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-inline-detail td {
    background: #071f36 !important;
    border-bottom-color: rgba(103, 164, 207, .20) !important;
}

/* Licht thema behoudt bewust de lichte wedstrijddetails. */
#npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner {
    background: #f7fafc !important;
}


/* ==========================================================================
   5.0.6.8 - Spelerstatistieken gelijkgetrokken met Competitie PRO
   ========================================================================== */
.npb-player-statistics-page {
    --rank-orange:#ff7900;
    --rank-dark:#041b31;
    --rank-dark-2:#072943;
    --rank-border:#244d6d;
    --rank-text:#f4f8fb;
    --rank-muted:#9fc0d8;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:16px !important;
    border-radius:16px !important;
    transition:background .18s ease,color .18s ease !important;
}

.npb-ranking-toolbar {
    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:stretch !important;
    margin-bottom:10px !important;
    padding:10px !important;
    border:1px solid var(--rank-border) !important;
    border-radius:14px !important;
}

.npb-ranking-toolbar .npb-player-statistics-filter,
.npb-ranking-toolbar .npb-player-ranking-navigation {
    min-height:54px !important;
    margin:0 !important;
    border-radius:10px !important;
    box-shadow:none !important;
}

.npb-ranking-theme-control {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
}

.npb-ranking-theme-toggle {
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    min-height:40px !important;
    padding:4px !important;
    border:1px solid var(--rank-border) !important;
    border-radius:999px !important;
    background:transparent !important;
    cursor:pointer !important;
    font:inherit !important;
    font-weight:800 !important;
}

.npb-ranking-theme-toggle span {
    display:inline-flex !important;
    align-items:center !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
}

.npb-ranking-theme-toggle span.is-active {
    background:#1168ad !important;
    color:#fff !important;
}

.npb-player-ranking-cards {
    margin-top:0 !important;
}

.npb-ranking-hero {
    min-height:150px !important;
    padding:22px 24px !important;
    border-radius:14px 14px 0 0 !important;
    box-shadow:none !important;
}

.npb-ranking-hero h2 {
    font-size:clamp(1.8rem,3vw,2.45rem) !important;
}

.npb-ranking-content-grid {
    gap:12px !important;
}

.npb-ranking-sidecard {
    border-radius:14px !important;
    box-shadow:none !important;
}

/* DONKER - gelijk aan Competitie PRO */
.npb-player-statistics-page[data-ranking-theme="dark"] {
    background:#041b31 !important;
    color:var(--rank-text) !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-toolbar,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-card {
    background:#061f37 !important;
    border-color:var(--rank-border) !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-filter {
    background:#061f37 !important;
    border:0 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-filter label {
    color:#fff !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-filter select {
    background:#061f37 !important;
    color:#fff !important;
    border-color:#3b6382 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-navigation {
    background:#061f37 !important;
    border:0 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-league-tab,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-pool-tab {
    background:#061f37 !important;
    color:#fff !important;
    border-color:#365d7c !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-league-tab.is-active,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-pool-tab.is-active {
    background:linear-gradient(135deg,#ff8b12,#f26700) !important;
    border-color:#ff7900 !important;
    color:#fff !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-pool-tabs {
    background:#061f37 !important;
    border-bottom-color:#ff7900 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-ranking-theme-toggle {
    color:#adc8db !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-card {
    border:1px solid var(--rank-border) !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table-wrap {
    background:#061f37 !important;
    padding:10px !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table {
    background:#082844 !important;
    border-color:#315775 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table thead th {
    background:#0b3252 !important;
    color:#b8d6e9 !important;
    border-color:#315775 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table tbody tr,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table tbody tr:nth-child(even) {
    background:#082844 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table tbody tr:hover {
    background:#0c3658 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table td,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-statistics-table tbody th {
    color:#f4f8fb !important;
    border-bottom-color:#244d6d !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-stat-name small {
    color:#8fb1c9 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-stat-position-badge {
    background:#ffd45a !important;
    color:#122235 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-card {
    background:#082844 !important;
    border-color:#244d6d !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-card-player strong,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-card-stats strong {
    color:#fff !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-card-stats > div {
    background:#0a3151 !important;
    border-color:#315775 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-player-ranking-card-stats span {
    color:#94b5cc !important;
}

/* LICHT - minder spierwit, zelfde rustige blauw/grijze stijl als Team/Competitie PRO */
.npb-player-statistics-page[data-ranking-theme="light"] {
    background:#eaf2f8 !important;
    color:#0b2943 !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-ranking-toolbar {
    background:#f3f7fb !important;
    border-color:#c8d9e7 !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-player-statistics-filter,
.npb-player-statistics-page[data-ranking-theme="light"] .npb-player-ranking-navigation {
    background:#f3f7fb !important;
    border-color:#c8d9e7 !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-ranking-theme-toggle {
    color:#36566e !important;
    border-color:#bfd1df !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-player-statistics-card {
    background:#f7fafc !important;
    border-color:#cbdce8 !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-player-statistics-table-wrap {
    background:#edf4f9 !important;
    padding:10px !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-ranking-sidecard {
    box-shadow:none !important;
}

/* De oude paarse/oranje hero vervangen door de NPB Competitie PRO-look. */
.npb-player-statistics-page .npb-ranking-hero {
    background:
        linear-gradient(90deg,rgba(4,27,49,.98) 0%,rgba(7,56,94,.96) 58%,rgba(19,85,142,.88) 100%) !important;
}
.npb-player-statistics-page .npb-ranking-hero:before {
    display:none !important;
}

@media(max-width:900px){
    .npb-ranking-toolbar {
        grid-template-columns:1fr !important;
    }
    .npb-ranking-theme-control {
        justify-content:flex-start !important;
    }
}

@media(max-width:700px){
    .npb-player-statistics-page {
        padding:8px !important;
        border-radius:0 !important;
    }
    .npb-ranking-toolbar {
        display:grid !important;
        gap:8px !important;
        padding:8px !important;
    }
    .npb-ranking-theme-control {
        justify-content:flex-end !important;
    }
    .npb-ranking-hero {
        min-height:130px !important;
        padding:18px !important;
    }
}


/* ==========================================================================
   5.0.6.8 - Spelerstatistieken navigatie exact in Competitie PRO-stijl
   ========================================================================== */
.npb-player-statistics-page .npb-player-ranking-navigation {
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    min-height:0 !important;
}

.npb-player-statistics-page .npb-league-selector {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    align-items:center !important;
    min-height:0 !important;
    padding:0 !important;
}

.npb-player-statistics-page .npb-league-chip {
    min-height:38px !important;
    padding:0 13px !important;
    border:1px solid #365d7c !important;
    border-radius:8px !important;
    background:transparent !important;
    color:inherit !important;
    font:inherit !important;
    font-size:.8rem !important;
    font-weight:850 !important;
    cursor:pointer !important;
}

.npb-player-statistics-page .npb-league-chip.is-active {
    background:linear-gradient(135deg,#ff8b12,#f26700) !important;
    border-color:#ff7900 !important;
    color:#fff !important;
}

.npb-player-statistics-page .npb-pool-selector {
    margin-top:8px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}

.npb-player-statistics-page .npb-pool-selector[hidden] {
    display:none !important;
}

.npb-player-statistics-page .npb-pool-chips {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
}

.npb-player-statistics-page .npb-pool-chip {
    min-width:34px !important;
    min-height:34px !important;
    padding:0 11px !important;
    border:1px solid #365d7c !important;
    border-radius:8px !important;
    background:transparent !important;
    color:inherit !important;
    font:inherit !important;
    font-size:.78rem !important;
    font-weight:850 !important;
    cursor:pointer !important;
}

.npb-player-statistics-page .npb-pool-chip.is-active {
    background:#ff7900 !important;
    border-color:#ff7900 !important;
    color:#fff !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-league-chip,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-pool-chip {
    color:#fff !important;
    background:#061f37 !important;
}

.npb-player-statistics-page[data-ranking-theme="dark"] .npb-league-chip.is-active,
.npb-player-statistics-page[data-ranking-theme="dark"] .npb-pool-chip.is-active {
    background:#ff7900 !important;
    color:#fff !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-league-chip,
.npb-player-statistics-page[data-ranking-theme="light"] .npb-pool-chip {
    color:#17375f !important;
    background:#f7fafc !important;
    border-color:#c4d6e4 !important;
}

.npb-player-statistics-page[data-ranking-theme="light"] .npb-league-chip.is-active,
.npb-player-statistics-page[data-ranking-theme="light"] .npb-pool-chip.is-active {
    background:#ff7900 !important;
    border-color:#ff7900 !important;
    color:#fff !important;
}

@media(max-width:700px){
    .npb-player-statistics-page .npb-league-selector,
    .npb-player-statistics-page .npb-pool-chips {
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
    }
    .npb-player-statistics-page .npb-league-selector::-webkit-scrollbar,
    .npb-player-statistics-page .npb-pool-chips::-webkit-scrollbar {
        display:none !important;
    }
    .npb-player-statistics-page .npb-league-chip,
    .npb-player-statistics-page .npb-pool-chip {
        flex:0 0 auto !important;
        white-space:nowrap !important;
    }
}


/* ==========================================================================
   5.0.6.8 - Team Center mobiele wedstrijdkaarten + full-width details
   ========================================================================== */
@media (max-width: 700px) {

    #npb-team-pro .npb-team-pro-results-table {
        display: block !important;
        width: 100% !important;
        border: 0 !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-results-table thead {
        display: none !important;
    }

    #npb-team-pro .npb-team-pro-results-table tbody {
        display: block !important;
        width: 100% !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-section-row,
    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-inline-detail {
        display: block !important;
        width: 100% !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row {
        position: relative !important;
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        grid-template-areas:
            "meta meta detail"
            "side opponent detail"
            "score score detail" !important;
        gap: 8px 10px !important;
        width: calc(100% - 16px) !important;
        margin: 10px 8px !important;
        padding: 12px 14px !important;
        border: 1px solid #244d6d !important;
        border-radius: 14px !important;
        background: #082844 !important;
        box-shadow: none !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        white-space: normal !important;
        background: transparent !important;
        color: #f4f8fb !important;
        text-align: left !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(1) {
        grid-area: meta !important;
        display: inline !important;
        font-size: .72rem !important;
        font-weight: 800 !important;
        color: #8fb1c9 !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(2) {
        grid-area: meta !important;
        display: inline !important;
        margin-left: 54px !important;
        font-size: .76rem !important;
        color: #b9d9ef !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(3) {
        grid-area: meta !important;
        display: inline !important;
        justify-self: end !important;
        margin-right: 48px !important;
        font-size: .76rem !important;
        color: #b9d9ef !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(4) {
        grid-area: side !important;
        align-self: center !important;
        color: #ff7900 !important;
        font-size: .92rem !important;
        font-weight: 850 !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(5) {
        grid-area: opponent !important;
        align-self: center !important;
        overflow: hidden !important;
        font-size: 1rem !important;
        font-weight: 850 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(6) {
        grid-area: score !important;
        margin-top: 4px !important;
        font-size: 1rem !important;
        font-weight: 900 !important;
    }

    #npb-team-pro .npb-team-pro-results-table tr.npb-team-pro-match-row td:nth-child(7) {
        grid-area: detail !important;
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        transform: none !important;
    }

    #npb-team-pro .npb-team-pro-detail-button {
        width: 42px !important;
        height: 42px !important;
        border-radius: 10px !important;
    }

    #npb-team-pro .npb-team-pro-results-table .npb-team-pro-section-row td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: calc(100% - 16px) !important;
        margin: 0 8px 4px !important;
        padding: 12px 14px !important;
        border: 1px solid #244d6d !important;
        border-radius: 12px !important;
        background: #0a3151 !important;
        color: #f4f8fb !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail {
        display: block !important;
        width: calc(100% - 16px) !important;
        margin: -2px 8px 12px !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: 0 !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner {
        width: 100% !important;
        padding: 10px !important;
        border: 1px solid #244d6d !important;
        border-radius: 12px !important;
        background: #071f36 !important;
        overflow: hidden !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-detail,
    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-games {
        width: 100% !important;
        max-width: none !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-meta {
        width: 100% !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        background: #0a3151 !important;
        color: #d5e7f3 !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-game {
        display: grid !important;
        grid-template-columns: 24px minmax(0,1fr) 48px minmax(0,1fr) !important;
        gap: 8px !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 8px 6px !important;
        background: #082844 !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-game-player {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        gap: 7px !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo,
    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo-placeholder {
        flex: 0 0 auto !important;
        width: 34px !important;
        height: 34px !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-name,
    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-link {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        color: #f4f8fb !important;
        font-size: .86rem !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-game-score {
        color: #ff7900 !important;
        font-size: .92rem !important;
        text-align: center !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-results-table tr.npb-team-pro-match-row {
        border-color: #c7d8e5 !important;
        background: #f7fafc !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-results-table tr.npb-team-pro-match-row td {
        color: #17375f !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-results-table .npb-team-pro-section-row td {
        border-color: #c7d8e5 !important;
        background: #edf4f9 !important;
        color: #17375f !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner {
        border-color: #c7d8e5 !important;
        background: #f7fafc !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner .npb-match-meta {
        background: #edf4f9 !important;
        color: #36566e !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner .npb-match-game {
        background: #fff !important;
    }

    #npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner .npb-match-player-name,
    #npb-team-pro[data-theme="light"] .npb-team-pro-inline-detail-inner .npb-match-player-link {
        color: #17375f !important;
    }
}


/* ==========================================================================
   5.0.6.8 - Teamagenda abonnement
   ========================================================================== */
.npb-team-calendar-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 14px;
    border: 1px solid #ff7900;
    border-radius: 9px;
    background: #ff7900;
    color: #fff !important;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.npb-team-calendar-button:hover,
.npb-team-calendar-button:focus {
    background: #ff8b20;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(255,121,0,.22);
}
.npb-team-calendar-button[hidden] {
    display: none !important;
}

@media (max-width: 700px) {
    .npb-team-calendar-button {
        min-height: 34px;
        padding: 7px 10px;
        font-size: .78rem;
    }
    .npb-team-calendar-button span:last-child {
        font-size: 0;
    }
    .npb-team-calendar-button span:last-child::after {
        content: "Agenda";
        font-size: .78rem;
    }
}


/* ==========================================================================
   5.0.6.9 - Team Center responsive + zichtbaar teamagenda-abonnement
   ========================================================================== */
#npb-team-pro .npb-team-pro-card-head-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    min-width:0;
}
#npb-team-pro .npb-team-pro-card-head-actions > span[data-pro-result-count] {
    padding:6px 10px;
    border:1px solid #ffb66f;
    border-radius:8px;
    color:#ff7900;
    font-size:.78rem;
    white-space:nowrap;
}
#npb-team-pro .npb-team-pro-calendar-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:7px 12px;
    border:1px solid #ff7900;
    border-radius:9px;
    background:#ff7900;
    color:#fff !important;
    font-size:.78rem;
    font-weight:800;
    line-height:1.15;
    text-decoration:none !important;
    white-space:nowrap;
}
#npb-team-pro .npb-team-pro-calendar-button .npb-team-pro-icon {width:17px;height:17px;fill:currentColor}
#npb-team-pro .npb-team-pro-calendar-button:hover {background:#ff8b20;color:#fff !important}
#npb-team-pro[data-theme="dark"] .npb-team-pro-calendar-button {color:#fff !important}

/* Tablet: wedstrijden eerst over volle breedte; info/statistieken eronder. */
@media (min-width:701px) and (max-width:1366px) {
    #npb-team-pro .npb-team-pro-actions {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    #npb-team-pro .npb-team-pro-grid {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        gap:16px !important;
    }
    #npb-team-pro .npb-team-pro-main {
        order:1 !important;
        width:100% !important;
        min-width:0 !important;
    }
    #npb-team-pro .npb-team-pro-sidebar {
        order:2 !important;
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:16px !important;
        width:100% !important;
        min-width:0 !important;
    }
    #npb-team-pro .npb-team-pro-results-wrap {
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }
    #npb-team-pro .npb-team-pro-results-table {
        min-width:760px;
    }
}
@media (min-width:701px) and (max-width:900px) {
    #npb-team-pro .npb-team-pro-sidebar {grid-template-columns:minmax(0,1fr) !important}
}
@media (max-width:700px) {
    #npb-team-pro .npb-team-pro-card-head {
        align-items:flex-start;
        flex-direction:column;
    }
    #npb-team-pro .npb-team-pro-card-head-actions {
        width:100%;
        justify-content:space-between;
        flex-wrap:wrap;
    }
    #npb-team-pro .npb-team-pro-calendar-button {
        flex:1 1 auto;
        min-height:40px;
    }
}


/* ==========================================================================
   5.1.0 - Teamagenda knop: helder contrast + subtiel kalender-plus icoon
   ========================================================================== */
#npb-team-pro .npb-team-pro-calendar-button,
#npb-team-pro .npb-team-pro-calendar-button:link,
#npb-team-pro .npb-team-pro-calendar-button:visited {
    background:#ff7900 !important;
    border-color:#ff7900 !important;
    color:#ffffff !important;
    box-shadow:0 4px 12px rgba(255,121,0,.16);
}
#npb-team-pro .npb-team-pro-calendar-button span,
#npb-team-pro .npb-team-pro-calendar-button svg {
    color:#ffffff !important;
    fill:#ffffff !important;
}
#npb-team-pro .npb-team-pro-calendar-button:hover,
#npb-team-pro .npb-team-pro-calendar-button:focus {
    background:#e96f00 !important;
    border-color:#e96f00 !important;
    color:#ffffff !important;
    box-shadow:0 5px 15px rgba(255,121,0,.24);
}
#npb-team-pro .npb-team-pro-calendar-button .npb-team-pro-icon {
    width:16px !important;
    height:16px !important;
    flex:0 0 16px;
}


/* 5.1.0 - locatieactie nooit tonen zonder geldige Locaties PRO-koppeling */
#npb-team-pro [data-pro-location-link][hidden],
#npb-team-pro [data-pro-location-website-button][hidden],
#npb-team-pro [data-pro-location-fallback][hidden] {
    display: none !important;
}


/* ==========================================================================
   5.1.0 - Locaties PRO in dezelfde licht/donker stijl als Competitie PRO
   ========================================================================== */
.npb-locations-public {
    --loc-orange:#ff7900;
    --loc-dark:#041b31;
    --loc-dark-2:#072943;
    --loc-card:#082844;
    --loc-border:#244d6d;
    --loc-text:#f4f8fb;
    --loc-muted:#9fc0d8;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 18px !important;
    border-radius: 16px !important;
    transition: background .18s ease, color .18s ease !important;
}

.npb-locations-public .npb-hero {
    position: relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    min-height:170px !important;
    padding:24px 28px !important;
    border-radius:16px !important;
    box-shadow:none !important;
    background:
        radial-gradient(circle at 80% 40%, rgba(255,121,0,.18), transparent 32%),
        linear-gradient(110deg,#06233d 0%,#0a3b65 65%,#123f6f 100%) !important;
    border:1px solid rgba(93,151,194,.32) !important;
}

.npb-locations-public .npb-hero .npb-eyebrow {
    color:var(--loc-orange) !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
}

.npb-locations-public .npb-hero h1 {
    margin:.2rem 0 .35rem !important;
    color:#fff !important;
    font-size:clamp(2rem,4vw,3.1rem) !important;
}

.npb-locations-public .npb-hero p {
    margin:0 !important;
    color:#c6ddef !important;
    font-size:1rem !important;
}

.npb-location-hero-actions {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.npb-location-theme-toggle {
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    padding:4px !important;
    border:1px solid #3b6382 !important;
    border-radius:999px !important;
    background:#061f37 !important;
    color:#adc8db !important;
    cursor:pointer !important;
    font:inherit !important;
    font-weight:850 !important;
}

.npb-location-theme-toggle span {
    display:inline-flex !important;
    align-items:center !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
}

.npb-location-theme-toggle span.is-active {
    background:#1168ad !important;
    color:#fff !important;
}

.npb-locations-public .npb-location-back-button {
    min-height:40px !important;
    border-radius:9px !important;
    font-weight:850 !important;
}

.npb-locations-public .npb-location-detail {
    margin-top:12px !important;
    padding:22px !important;
    border-radius:16px !important;
    box-shadow:none !important;
}

.npb-locations-public .npb-location-detail-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr) !important;
    gap:28px !important;
    align-items:stretch !important;
}

.npb-locations-public .npb-location-hero-image {
    width:100% !important;
    height:100% !important;
    min-height:330px !important;
    max-height:430px !important;
    object-fit:cover !important;
    border-radius:14px !important;
    border:1px solid var(--loc-border) !important;
}

.npb-locations-public .npb-location-detail-grid > div:last-child {
    padding:6px 4px !important;
}

.npb-locations-public .npb-location-detail-grid h2,
.npb-locations-public .npb-location-description h2,
.npb-locations-public .npb-location-info-card h2 {
    color:var(--loc-orange) !important;
}

.npb-locations-public .npb-location-detail-grid p {
    margin:.65rem 0 !important;
    line-height:1.55 !important;
}

.npb-locations-public .npb-location-contact-actions {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:18px !important;
}

.npb-locations-public .npb-location-contact-actions .npb-button {
    min-height:44px !important;
    border-radius:10px !important;
    font-weight:850 !important;
}

.npb-locations-public .npb-location-linked-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    margin-top:18px !important;
}

.npb-locations-public .npb-location-info-card {
    padding:20px !important;
    border-radius:14px !important;
    box-shadow:none !important;
}

.npb-locations-public .npb-location-info-icon {
    display:inline-flex !important;
    width:40px !important;
    height:40px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:10px !important;
    background:rgba(255,121,0,.10) !important;
    font-size:1.2rem !important;
}

.npb-locations-public .npb-location-chip-list {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
}

.npb-locations-public .npb-location-chip {
    padding:7px 11px !important;
    border-radius:999px !important;
    font-weight:800 !important;
}

/* DONKER */
.npb-locations-public[data-location-theme="dark"] {
    background:#041b31 !important;
    color:var(--loc-text) !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-detail,
.npb-locations-public[data-location-theme="dark"] .npb-location-info-card,
.npb-locations-public[data-location-theme="dark"] .npb-location-description {
    background:#061f37 !important;
    border:1px solid var(--loc-border) !important;
    color:var(--loc-text) !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-detail-grid > div:last-child {
    color:var(--loc-text) !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-detail-grid p strong,
.npb-locations-public[data-location-theme="dark"] .npb-location-info-card strong {
    color:#fff !important;
}

.npb-locations-public[data-location-theme="dark"] a:not(.npb-button) {
    color:#ff8b20 !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-button-light {
    background:#082844 !important;
    color:#f4f8fb !important;
    border-color:#315775 !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-button-light:hover {
    background:#0c3658 !important;
    color:#fff !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-chip {
    background:#0a3151 !important;
    color:#f4f8fb !important;
    border:1px solid #315775 !important;
}

/* LICHT */
.npb-locations-public[data-location-theme="light"] {
    background:#eaf2f8 !important;
    color:#0b2943 !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-detail,
.npb-locations-public[data-location-theme="light"] .npb-location-info-card,
.npb-locations-public[data-location-theme="light"] .npb-location-description {
    background:#f7fafc !important;
    border:1px solid #cbdce8 !important;
    color:#17375f !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-theme-toggle {
    background:#f7fafc !important;
    color:#36566e !important;
    border-color:#bfd1df !important;
}

.npb-locations-public[data-location-theme="light"] .npb-button-light {
    background:#f7fafc !important;
    color:#17375f !important;
    border-color:#c4d6e4 !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-chip {
    background:#edf4f9 !important;
    color:#17375f !important;
    border:1px solid #d1e0eb !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-hero-image {
    border-color:#cbdce8 !important;
}

@media (max-width: 900px) {
    .npb-locations-public .npb-location-detail-grid {
        grid-template-columns:1fr !important;
    }

    .npb-locations-public .npb-location-hero-image {
        min-height:260px !important;
        max-height:360px !important;
    }

    .npb-locations-public .npb-location-linked-grid {
        grid-template-columns:1fr !important;
    }
}

@media (max-width: 700px) {
    .npb-locations-public {
        padding:8px !important;
        border-radius:0 !important;
    }

    .npb-locations-public .npb-hero {
        min-height:0 !important;
        padding:18px !important;
        align-items:flex-start !important;
        flex-direction:column !important;
    }

    .npb-location-hero-actions {
        width:100% !important;
        justify-content:space-between !important;
    }

    .npb-locations-public .npb-location-detail {
        padding:12px !important;
    }

    .npb-locations-public .npb-location-hero-image {
        min-height:220px !important;
        max-height:280px !important;
    }

    .npb-locations-public .npb-location-contact-actions {
        grid-template-columns:1fr 1fr !important;
    }
}


/* ==========================================================================
   5.1.0 - Locaties PRO compacter en visueel één geheel
   ========================================================================== */

.npb-locations-public {
    max-width: 1180px !important;
    padding: 10px !important;
}

.npb-locations-public .npb-hero {
    min-height: 118px !important;
    padding: 16px 20px !important;
    margin-bottom: 8px !important;
    border-radius: 13px !important;
}

.npb-locations-public .npb-hero h1 {
    font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
    margin: .05rem 0 .15rem !important;
}

.npb-locations-public .npb-hero p {
    font-size: .9rem !important;
}

.npb-locations-public .npb-location-detail {
    margin-top: 8px !important;
    padding: 16px !important;
    border-radius: 13px !important;
}

.npb-locations-public .npb-location-detail-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
    gap: 20px !important;
}

.npb-locations-public .npb-location-hero-image {
    min-height: 250px !important;
    max-height: 315px !important;
    border-radius: 11px !important;
}

.npb-locations-public .npb-location-detail-grid > div:last-child {
    padding: 2px 0 !important;
}

.npb-locations-public .npb-location-detail-grid h2 {
    margin: 0 0 12px !important;
    font-size: 1.85rem !important;
}

.npb-locations-public .npb-location-detail-grid p {
    margin: .42rem 0 !important;
    line-height: 1.42 !important;
}

.npb-locations-public .npb-location-contact-actions {
    margin-top: 12px !important;
    gap: 8px !important;
}

.npb-locations-public .npb-location-contact-actions .npb-button {
    min-height: 38px !important;
    padding: 7px 10px !important;
    font-size: .83rem !important;
}

.npb-locations-public .npb-location-linked-grid {
    gap: 10px !important;
    margin-top: 12px !important;
}

.npb-locations-public .npb-location-info-card {
    padding: 14px 16px !important;
    border-radius: 11px !important;
}

.npb-locations-public .npb-location-info-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
}

.npb-locations-public .npb-location-info-card h2 {
    margin: 8px 0 10px !important;
    font-size: 1rem !important;
}

.npb-locations-public .npb-location-chip-list {
    gap: 6px !important;
}

.npb-locations-public .npb-location-chip {
    padding: 5px 9px !important;
    font-size: .76rem !important;
}

.npb-locations-public .npb-location-description {
    margin-top: 12px !important;
    padding: 14px 16px !important;
    border-radius: 11px !important;
}

/* Teams op deze locatie: geen witte losse kaarten meer, maar één doorlopende lijst */
.npb-locations-public .npb-location-teams,
.npb-locations-public .npb-location-teams-section,
.npb-locations-public .npb-location-linked-teams {
    background: transparent !important;
}

.npb-locations-public .npb-location-team-list,
.npb-locations-public .npb-location-teams-list {
    display: block !important;
    margin-top: 8px !important;
    border: 1px solid var(--loc-border) !important;
    border-radius: 11px !important;
    overflow: hidden !important;
    background: #061f37 !important;
}

.npb-locations-public .npb-location-team-card,
.npb-locations-public .npb-location-team-row {
    margin: 0 !important;
    padding: 10px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(103,164,207,.18) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #082844 !important;
    color: #f4f8fb !important;
}

.npb-locations-public .npb-location-team-card:last-child,
.npb-locations-public .npb-location-team-row:last-child {
    border-bottom: 0 !important;
}

.npb-locations-public .npb-location-team-card:hover,
.npb-locations-public .npb-location-team-row:hover {
    background: #0b3150 !important;
}

.npb-locations-public .npb-location-team-card *,
.npb-locations-public .npb-location-team-row * {
    color: inherit;
}

.npb-locations-public .npb-location-team-card .npb-badge,
.npb-locations-public .npb-location-team-row .npb-badge {
    background: rgba(255,121,0,.12) !important;
    color: #ff9b42 !important;
    border: 1px solid rgba(255,121,0,.24) !important;
}

/* Probeer ook generieke teamkaarten uit oudere markup mee te nemen */
.npb-locations-public [data-location-team] {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-detail,
.npb-locations-public[data-location-theme="dark"] .npb-location-info-card,
.npb-locations-public[data-location-theme="dark"] .npb-location-description {
    background: #061f37 !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-detail {
    border-color: #244d6d !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-detail,
.npb-locations-public[data-location-theme="light"] .npb-location-info-card,
.npb-locations-public[data-location-theme="light"] .npb-location-description {
    background: #f3f7fb !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-team-list,
.npb-locations-public[data-location-theme="light"] .npb-location-teams-list {
    background: #f7fafc !important;
    border-color: #cbdce8 !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-team-card,
.npb-locations-public[data-location-theme="light"] .npb-location-team-row {
    background: #f7fafc !important;
    color: #17375f !important;
    border-bottom-color: #d7e4ed !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-team-card:hover,
.npb-locations-public[data-location-theme="light"] .npb-location-team-row:hover {
    background: #edf4f9 !important;
}

/* Minder "losse pagina's": secties dichter op elkaar */
.npb-locations-public .npb-panel + .npb-panel,
.npb-locations-public section + section {
    margin-top: 8px !important;
}

/* Tablet */
@media (max-width: 900px) {
    .npb-locations-public .npb-location-detail-grid {
        gap: 14px !important;
    }

    .npb-locations-public .npb-location-hero-image {
        min-height: 220px !important;
        max-height: 300px !important;
    }
}

/* Mobiel */
@media (max-width: 700px) {
    .npb-locations-public {
        padding: 6px !important;
    }

    .npb-locations-public .npb-hero {
        padding: 14px !important;
        border-radius: 10px !important;
    }

    .npb-locations-public .npb-location-detail {
        padding: 10px !important;
        border-radius: 10px !important;
    }

    .npb-locations-public .npb-location-hero-image {
        min-height: 190px !important;
        max-height: 245px !important;
    }

    .npb-locations-public .npb-location-linked-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .npb-locations-public .npb-location-info-card {
        padding: 11px !important;
    }

    .npb-locations-public .npb-location-contact-actions {
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 6px !important;
    }

    .npb-locations-public .npb-location-contact-actions .npb-button {
        min-height: 36px !important;
        padding: 6px 7px !important;
        font-size: .72rem !important;
    }
}


/* ==========================================================================
   5.1.0 - Locaties PRO volledig één geheel met Competitie PRO / Team Center
   ========================================================================== */

/* Trek de achtergrond door tot tegen de YOOtheme-header zodat de witte balk verdwijnt. */
.npb-locations-public {
    position: relative !important;
    isolation: isolate !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 10px !important;
}

.npb-locations-public::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    left: 50% !important;
    top: -72px !important;
    bottom: -40px !important;
    width: 100vw !important;
    transform: translateX(-50%) !important;
    background: #041b31 !important;
    pointer-events: none !important;
}

.npb-locations-public[data-location-theme="light"]::before {
    background: #eaf2f8 !important;
}

/* Hero hetzelfde ritme als Competitie PRO. */
.npb-locations-public .npb-hero {
    min-height: 104px !important;
    padding: 14px 18px !important;
    margin: 0 0 8px !important;
    border-radius: 12px !important;
    background:
        radial-gradient(circle at 82% 42%, rgba(255,121,0,.12), transparent 30%),
        linear-gradient(105deg,#06233d 0%,#0a3458 64%,#1d496f 100%) !important;
}

.npb-locations-public .npb-hero h1 {
    margin: .05rem 0 .1rem !important;
    font-size: clamp(1.75rem, 2.7vw, 2.35rem) !important;
}

.npb-locations-public .npb-hero p {
    font-size: .84rem !important;
}

/* Overzichtspaneel: geen witte 'pagina op pagina' meer. */
.npb-locations-public .npb-location-overview-panel {
    margin-top: 0 !important;
    padding: 14px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-overview-panel {
    background: #061f37 !important;
    border: 1px solid #244d6d !important;
    color: #f4f8fb !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-overview-panel {
    background: #f3f7fb !important;
    border: 1px solid #cbdce8 !important;
    color: #17375f !important;
}

.npb-location-map-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: end !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

.npb-location-map-header h2,
.npb-location-results-header h2 {
    margin: 0 !important;
    font-size: 1.45rem !important;
    color: #ff7900 !important;
}

.npb-locations-public .npb-location-map-overview {
    height: 330px !important;
    border-radius: 10px !important;
    border: 1px solid #315775 !important;
    overflow: hidden !important;
}

/* Filters als één compacte toolbar. */
.npb-locations-public .npb-location-filters {
    display: grid !important;
    grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(150px, .8fr)) auto !important;
    gap: 8px !important;
    align-items: end !important;
    margin: 12px 0 !important;
    padding: 10px !important;
    border-radius: 10px !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-filters {
    background: #082844 !important;
    border: 1px solid #244d6d !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-filters {
    background: #edf4f9 !important;
    border: 1px solid #cbdce8 !important;
}

.npb-locations-public .npb-location-filters label {
    margin: 0 !important;
}

.npb-locations-public .npb-location-filters label > span {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
}

.npb-locations-public .npb-location-filters input,
.npb-locations-public .npb-location-filters select {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 9px !important;
    border-radius: 8px !important;
    font: inherit !important;
    font-size: .78rem !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-filters input,
.npb-locations-public[data-location-theme="dark"] .npb-location-filters select {
    background: #061f37 !important;
    color: #f4f8fb !important;
    border: 1px solid #365d7c !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-filters input,
.npb-locations-public[data-location-theme="light"] .npb-location-filters select {
    background: #f8fbfd !important;
    color: #17375f !important;
    border: 1px solid #c4d6e4 !important;
}

.npb-locations-public .npb-location-filters .npb-button {
    min-height: 38px !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
}

/* Locatie-grid compacter, kaarten in dezelfde donkere stijl. */
.npb-locations-public .npb-location-results-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 10px 0 8px !important;
}

.npb-locations-public .npb-location-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.npb-locations-public .npb-location-card {
    overflow: hidden !important;
    border-radius: 11px !important;
    box-shadow: none !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-card {
    background: #082844 !important;
    border: 1px solid #244d6d !important;
    color: #f4f8fb !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-card {
    background: #f7fafc !important;
    border: 1px solid #cbdce8 !important;
    color: #17375f !important;
}

.npb-locations-public .npb-location-card > img {
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
}

.npb-locations-public .npb-location-card-content {
    padding: 11px 12px 12px !important;
}

.npb-locations-public .npb-location-card-content h2 {
    margin: 0 0 6px !important;
    font-size: 1.05rem !important;
    color: #ff7900 !important;
}

.npb-locations-public .npb-location-card-content p {
    margin: 3px 0 !important;
    font-size: .76rem !important;
}

.npb-locations-public .npb-location-stats-compact {
    margin: 9px 0 !important;
    padding: 7px !important;
    gap: 4px !important;
    border-radius: 8px !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-stats-compact {
    background: #061f37 !important;
    border: 1px solid #244d6d !important;
}

.npb-locations-public[data-location-theme="light"] .npb-location-stats-compact {
    background: #edf4f9 !important;
    border: 1px solid #d4e2ec !important;
}

.npb-locations-public .npb-location-card-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 8px !important;
}

.npb-locations-public .npb-location-card-actions .npb-button {
    min-height: 35px !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
    font-size: .74rem !important;
}

/* Detailpagina: nog meer als één paneel, zonder grote onderlinge gaten. */
.npb-locations-public .npb-location-detail {
    margin-top: 0 !important;
    padding: 14px !important;
}

.npb-locations-public .npb-location-linked-grid {
    margin-top: 10px !important;
}

.npb-locations-public .npb-location-info-card {
    padding: 12px 14px !important;
}

.npb-locations-public .npb-location-team-list,
.npb-locations-public .npb-location-teams-list {
    margin-top: 6px !important;
}

/* Generieke SportsManager-teamcards op de locatiepagina: donker i.p.v. wit. */
.npb-locations-public[data-location-theme="dark"] .npb-location-team,
.npb-locations-public[data-location-theme="dark"] .npb-location-team-item,
.npb-locations-public[data-location-theme="dark"] .npb-location-team-card,
.npb-locations-public[data-location-theme="dark"] [class*="location-team"] {
    background: #082844 !important;
    color: #f4f8fb !important;
    border-color: #244d6d !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-location-team a,
.npb-locations-public[data-location-theme="dark"] .npb-location-team-item a,
.npb-locations-public[data-location-theme="dark"] .npb-location-team-card a {
    color: #f4f8fb !important;
}

.npb-locations-public[data-location-theme="dark"] .npb-badge,
.npb-locations-public[data-location-theme="dark"] [class*="badge"] {
    background: rgba(255,121,0,.12) !important;
    color: #ff9b42 !important;
    border-color: rgba(255,121,0,.25) !important;
}

/* Kaart/detailsecties hoeven geen losse witte achtergrond te krijgen. */
.npb-locations-public[data-location-theme="dark"] .npb-panel {
    background-color: #061f37 !important;
    color: #f4f8fb !important;
    border-color: #244d6d !important;
}

.npb-locations-public[data-location-theme="light"] .npb-panel {
    background-color: #f3f7fb !important;
    color: #17375f !important;
    border-color: #cbdce8 !important;
}

/* Tablet */
@media (max-width: 980px) {
    .npb-locations-public .npb-location-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .npb-locations-public .npb-location-filters {
        grid-template-columns: 1fr 1fr !important;
    }

    .npb-locations-public .npb-location-filter-search {
        grid-column: 1 / -1 !important;
    }
}

/* Mobiel */
@media (max-width: 700px) {
    .npb-locations-public::before {
        top: -28px !important;
    }

    .npb-locations-public .npb-location-overview-hero {
        flex-direction: row !important;
        align-items: center !important;
    }

    .npb-locations-public .npb-location-overview-hero p {
        display: none !important;
    }

    .npb-locations-public .npb-location-map-overview {
        height: 260px !important;
    }

    .npb-locations-public .npb-location-filters {
        grid-template-columns: 1fr !important;
        padding: 8px !important;
    }

    .npb-locations-public .npb-location-filter-search {
        grid-column: auto !important;
    }

    .npb-locations-public .npb-location-grid {
        grid-template-columns: 1fr !important;
    }

    .npb-locations-public .npb-location-card {
        display: grid !important;
        grid-template-columns: 120px 1fr !important;
    }

    .npb-locations-public .npb-location-card > img {
        height: 100% !important;
        min-height: 170px !important;
    }
}


/* ==========================================================================
   5.1.0 - Locatie wedstrijden PDF
   ========================================================================== */
.npb-location-teams-head {
    align-items: center !important;
}

.npb-location-team-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.npb-location-matches-pdf {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 36px !important;
    padding: 7px 11px !important;
    border: 1px solid #ff7900 !important;
    border-radius: 8px !important;
    background: #ff7900 !important;
    color: #fff !important;
    font-weight: 850 !important;
    font-size: .76rem !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.npb-location-matches-pdf svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    flex: 0 0 auto !important;
}

.npb-location-matches-pdf:hover,
.npb-location-matches-pdf:focus {
    background: #ff8b20 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 700px) {
    .npb-location-teams-head {
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .npb-location-team-actions {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .npb-location-matches-pdf {
        min-height: 34px !important;
        padding: 6px 9px !important;
    }
}

/* 5.1.0 Tournament PRO */
.npb-tournament-pro{--bg:#041b31;--panel:#061f37;--card:#082844;--line:#244d6d;--txt:#f4f8fb;--muted:#9fc0d8;--orange:#ff7900;max-width:1180px;margin:auto;padding:10px;color:var(--txt);background:var(--bg);border-radius:14px}.npb-tournament-pro[data-tp-theme="light"]{--bg:#eaf2f8;--panel:#f7fafc;--card:#fff;--line:#cbdce8;--txt:#17375f;--muted:#5f788d}.tp-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border:1px solid var(--line);border-radius:13px;background:radial-gradient(circle at 82% 40%,rgba(255,121,0,.16),transparent 28%),linear-gradient(110deg,#06233d,#0a3b65);color:#fff}.tp-hero h1{margin:2px 0;font-size:2.4rem}.tp-hero p{margin:0;color:#c6ddef}.tp-kicker{font-size:.7rem;letter-spacing:.09em;font-weight:900;color:var(--orange)}.tp-theme{border:1px solid #47708e;border-radius:999px;padding:8px 11px;background:#061f37;color:#aac6da}.tp-theme b{background:#1168ad;color:#fff;border-radius:999px;padding:5px 8px}.tp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:9px 0}.tp-stats div,.tp-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.tp-stats div{padding:12px 15px}.tp-stats b{display:block;font-size:1.45rem;color:var(--orange)}.tp-stats span,.tp-muted{color:var(--muted);font-size:.8rem}.tp-panel{padding:15px;margin:9px 0}.tp-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.tp-head h2{margin:2px 0;color:var(--txt);font-size:1.25rem}.tp-sync{display:flex;gap:7px}.tp-sync input{min-width:260px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--txt)}.tp-sync button{border:0;border-radius:8px;padding:9px 13px;background:var(--orange);color:#fff;font-weight:850}.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.tp-card{display:block;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--txt)!important;text-decoration:none!important}.tp-card:hover,.tp-card.is-active{border-color:var(--orange);transform:translateY(-1px)}.tp-card h3{margin:6px 0;font-size:1rem;color:var(--txt)}.tp-card p,.tp-card small{margin:0;color:var(--muted)}.tp-date,.tp-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:rgba(255,121,0,.12);color:var(--orange);font-size:.7rem;font-weight:850}.tp-empty{padding:25px;text-align:center;color:var(--muted)}.tp-table{margin-top:10px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.tp-row{display:grid;grid-template-columns:45px minmax(180px,1.5fr) 55px 55px 55px 90px 110px;gap:8px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);background:var(--card);font-size:.8rem}.tp-row:last-child{border-bottom:0}.tp-th{background:var(--panel);font-weight:900;color:var(--muted)}.tp-linked{color:#50c878}.tp-unlinked{color:var(--orange)}@media(max-width:800px){.tp-hero,.tp-head{align-items:flex-start;flex-direction:column}.tp-sync{width:100%}.tp-sync input{min-width:0;flex:1}.tp-grid{grid-template-columns:1fr}.tp-table{overflow:auto}.tp-row{min-width:700px}.tp-stats{grid-template-columns:repeat(3,1fr)}}

/* 5.3.2 Tournament PRO Beta 2 */
.tp-result-actions{display:flex;align-items:center;gap:8px}
.tp-source-link{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--txt)!important;text-decoration:none!important;font-size:.72rem;font-weight:850}
.tp-source-link:hover{border-color:var(--orange);color:var(--orange)!important}
@media(max-width:800px){.tp-result-actions{width:100%;justify-content:space-between}}

/* 5.3.2 Tournament PRO - automatische NPB spelerkoppeling */
.tp-linkbar{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    margin:8px 0;padding:13px 14px;border:1px solid var(--line);
    border-radius:12px;background:var(--panel)
}
.tp-linkbar>div{display:flex;flex-direction:column;gap:2px}
.tp-linkbar strong{font-size:.9rem;color:var(--txt)}
.tp-linkbar small{font-size:.7rem;color:var(--muted)}
.tp-linkbar button{
    min-height:38px;padding:8px 12px;border:0;border-radius:8px;
    background:var(--orange);color:#fff;font-weight:900;cursor:pointer;white-space:nowrap
}
.tp-linked{display:flex!important;flex-direction:column;gap:1px;color:#4fd07d!important}
.tp-linked b{font-size:.74rem;color:inherit}
.tp-linked small{font-size:.62rem;color:var(--muted)}
@media(max-width:800px){
    .tp-linkbar{align-items:flex-start;flex-direction:column}
    .tp-linkbar form,.tp-linkbar button{width:100%}
}

/* 5.3.2 Tournament PRO Beta 4 */
.tp-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.tp-sync-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tp-sync-all{min-height:36px;padding:7px 11px;border:1px solid var(--orange)!important;border-radius:8px;background:transparent!important;color:var(--orange)!important;font-weight:900;cursor:pointer}
.tp-sync-all:hover{background:var(--orange)!important;color:#fff!important}

.npb-player-pro-tournaments{grid-column:1/-1}
.npb-player-pro-tournament-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}
.npb-player-pro-tournament-stats>div{padding:12px;border:1px solid #d9e5ef;border-radius:9px;background:#f7fafc}
.npb-player-pro-tournament-stats span{display:block;font-size:.68rem;color:#718096}
.npb-player-pro-tournament-stats strong{display:block;margin-top:4px;font-size:1.2rem}
.npb-player-pro-tournament-results{display:grid;gap:7px}
.npb-player-pro-tournament-row{display:grid;grid-template-columns:48px minmax(0,1fr) 72px 84px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce6ef;border-radius:9px;background:#fff}
.npb-player-pro-tournament-row.is-link{cursor:pointer}
.npb-player-pro-tournament-row.is-link:hover{border-color:#ef6c00}
.npb-player-pro-tournament-position{font-size:1.1rem;font-weight:900;text-align:center;color:#ef6c00}
.npb-player-pro-tournament-title strong,.npb-player-pro-tournament-title span,.npb-player-pro-tournament-record strong,.npb-player-pro-tournament-record span,.npb-player-pro-tournament-frames strong,.npb-player-pro-tournament-frames span{display:block}
.npb-player-pro-tournament-title span,.npb-player-pro-tournament-record span,.npb-player-pro-tournament-frames span{font-size:.67rem;color:#718096}
.npb-player-pro-tournament-record,.npb-player-pro-tournament-frames{text-align:center}
.npb-player-pro-tournament-matches-head{margin-top:18px!important;padding-top:16px;border-top:1px solid #dce6ef}
.npb-player-pro-tournament-match-list{display:grid;gap:6px}
.npb-player-pro-tournament-match-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #dce6ef;border-radius:8px;background:#fff}
.npb-player-pro-tournament-match-row.is-link{cursor:pointer}
.npb-player-pro-tournament-match-row div strong,.npb-player-pro-tournament-match-row div span{display:block}
.npb-player-pro-tournament-match-row div span{margin-top:2px;font-size:.66rem;color:#718096}
.npb-player-pro-tournament-match-row>b{min-width:52px;text-align:center;font-size:1rem}
.npb-player-pro-tournament-match-row>b.is-win{color:#19944c}
.npb-player-pro-tournament-match-row>b.is-loss{color:#dc3b32}
.npb-player-pro-tournament-match-empty,.npb-player-pro-tournament-empty{padding:14px;border:1px dashed #cbd8e4;border-radius:9px;color:#718096}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-stats>div,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-row,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-match-row{background:#082844!important;border-color:#244d6d!important;color:#f4f8fb!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-title span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-record span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-frames span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-match-row div span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-stats span{color:#9fc0d8!important}

@media(max-width:800px){
 .tp-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tp-sync-actions{width:100%;align-items:stretch;flex-direction:column}
 .tp-sync-actions form,.tp-sync-actions .tp-sync{width:100%}
 .npb-player-pro-tournament-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .npb-player-pro-tournament-row{grid-template-columns:42px minmax(0,1fr) 62px}
 .npb-player-pro-tournament-frames{display:none}
}

/* 5.3.2 Tournament PRO - ranking, datum en linkfix */
.tp-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.tp-ranking-sync{min-width:min(540px,100%)}
.tp-ranking-sync input{min-width:330px}

.npb-player-pro-ranking-head{margin-top:18px!important;padding-top:16px;border-top:1px solid #dce6ef}
.npb-player-pro-ranking-list{display:grid;gap:7px}
.npb-player-pro-ranking-row{display:grid;grid-template-columns:70px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce6ef;border-radius:9px;background:#fff}
.npb-player-pro-ranking-row.is-link{cursor:pointer}
.npb-player-pro-ranking-row.is-link:hover{border-color:#ef6c00}
.npb-player-pro-ranking-position{font-size:1.15rem;font-weight:900;color:#ef6c00}
.npb-player-pro-ranking-title strong,.npb-player-pro-ranking-title span,.npb-player-pro-ranking-points strong,.npb-player-pro-ranking-points span{display:block}
.npb-player-pro-ranking-title span,.npb-player-pro-ranking-points span{font-size:.67rem;color:#718096}
.npb-player-pro-ranking-points{text-align:right}
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-row{background:#082844!important;border-color:#244d6d!important;color:#f4f8fb!important}
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-title span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-points span{color:#9fc0d8!important}

@media(max-width:800px){
 .tp-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tp-ranking-sync,.tp-ranking-sync input{min-width:0;width:100%}
 .npb-player-pro-ranking-row{grid-template-columns:58px minmax(0,1fr) 72px}
}

/* 5.3.2 Tournament PRO - alle NPB rankings */
.tp-ranking-actions{max-width:760px;justify-content:flex-end}
.tp-ranking-all{white-space:nowrap}
.tp-sync-errors{margin-top:12px;border:1px solid #e5a33d;border-radius:9px;overflow:hidden}
.tp-sync-errors summary{padding:9px 11px;cursor:pointer;font-size:.74rem;font-weight:900;color:#b86c00;background:rgba(255,121,0,.08)}
.tp-sync-error-list{display:grid}
.tp-sync-error-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 11px;border-top:1px solid var(--line);font-size:.7rem}
.tp-sync-error-row a{color:var(--orange)!important;font-weight:850;text-decoration:none!important}
.npb-tournament-pro[data-tp-theme="dark"] .tp-sync-errors{border-color:#704619}
.npb-tournament-pro[data-tp-theme="dark"] .tp-sync-errors summary{color:#ff9b42;background:#102d47}
@media(max-width:800px){
 .tp-ranking-actions{max-width:none;width:100%;align-items:stretch;flex-direction:column}
 .tp-ranking-actions form,.tp-ranking-actions button,.tp-ranking-actions input{width:100%}
 .tp-sync-error-row{grid-template-columns:62px minmax(0,1fr)}
 .tp-sync-error-row a{grid-column:2}
}

/* ==========================================================================
   5.3.2 - Player Center Tournament PRO donker thema verfijning
   ========================================================================== */

/* Ranking + partijhistorie visueel één geheel met Player Center */
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournaments {
    background: #061f37 !important;
    border-color: #244d6d !important;
    color: #f4f8fb !important;
}

/* Koppen en subtitels */
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournaments .npb-player-pro-card-head {
    border-color: #244d6d !important;
}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournaments .npb-player-pro-card-head h2,
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-head h2,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-matches-head h2 {
    color: #ff7900 !important;
}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournaments .npb-player-pro-card-head > div > span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-head > div > span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-matches-head > div > span {
    color: #ff8d24 !important;
}

/* Status badges */
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournaments .npb-player-pro-status {
    background: #082844 !important;
    color: #ff9b42 !important;
    border: 1px solid #335f80 !important;
}

/* Lege meldingen: geen lichtgrijze vlakken meer */
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-empty,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-match-empty,
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-list:has(.npb-player-pro-tournament-match-empty) {
    background: #082844 !important;
    border: 1px dashed #335f80 !important;
    color: #9fc0d8 !important;
}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-empty strong {
    color: #f4f8fb !important;
}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-empty p,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-match-empty {
    color: #9fc0d8 !important;
}

/* Compactere lege blokken */
.npb-player-pro-tournament-empty,
.npb-player-pro-tournament-match-empty {
    min-height: 0 !important;
    padding: 10px 12px !important;
    margin: 6px 0 0 !important;
}

.npb-player-pro-tournament-empty p {
    margin: 3px 0 0 !important;
    font-size: .7rem !important;
}

.npb-player-pro-ranking-list:has(.npb-player-pro-tournament-match-empty),
.npb-player-pro-tournament-match-list:has(.npb-player-pro-tournament-match-empty) {
    min-height: 0 !important;
}

/* Scheidingslijnen donker */
#npb-player-pro[data-theme="dark"] .npb-player-pro-ranking-head,
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-matches-head {
    border-top-color: #244d6d !important;
}

/* Statistiekkaarten donker consistenter */
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-stats > div {
    background: #082844 !important;
    border-color: #244d6d !important;
}

#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-stats strong {
    color: #f4f8fb !important;
}

/* Kleine mobile verfijning */
@media (max-width: 800px) {
    .npb-player-pro-tournament-empty,
    .npb-player-pro-tournament-match-empty {
        padding: 9px 10px !important;
    }
}

/* 5.3.2 Player Center - klikbare breadcrumbs + Toernooiresultaten actie */
.npb-player-pro-breadcrumbs a{
    color:inherit!important;
    text-decoration:none!important;
    font-weight:800;
    transition:color .15s ease;
}
.npb-player-pro-breadcrumbs a:hover,
.npb-player-pro-breadcrumbs a:focus{
    color:#ff7900!important;
    text-decoration:none!important;
}
.npb-player-pro-action-teams{
    cursor:pointer!important;
}
.npb-player-pro-action-teams .npb-player-pro-action-icon{
    font-size:1rem;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs a{
    color:#f3f8fc!important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs a:hover,
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs a:focus{
    color:#ff8a1e!important;
}

/* 5.3.2 Tournament PRO - partijscore/resultaat */
.npb-player-pro-tournament-match-result{
    min-width:76px;
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:2px;
    text-align:right;
}
.npb-player-pro-tournament-match-result>b{
    font-size:1rem;
    line-height:1.05;
}
.npb-player-pro-tournament-match-result>small{
    display:inline-flex;
    align-items:center;
    min-height:18px;
    padding:1px 7px;
    border-radius:999px;
    font-size:.58rem;
    font-weight:900;
}
.npb-player-pro-tournament-match-result>small.is-win{
    color:#36cf77;
    background:rgba(23,155,82,.13);
    border:1px solid rgba(54,207,119,.30);
}
.npb-player-pro-tournament-match-result>small.is-loss{
    color:#ff6a62;
    background:rgba(215,55,48,.12);
    border:1px solid rgba(255,106,98,.28);
}

/* ==========================================================================
   5.3.2 - Spelerstatistieken in dezelfde visuele taal als Player Center
   ========================================================================== */

.npb-ranking-playercenter-shell{
    width:min(1480px,calc(100% - 32px))!important;
    max-width:1480px!important;
    margin:18px auto 32px!important;
    padding:0!important;
    border:1px solid #dfe6ef;
    border-radius:14px;
    overflow:hidden;
    background:#eef4f9;
    box-shadow:0 12px 32px rgba(18,43,70,.08);
}
.npb-ranking-pc-topbar{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:10px 18px;
    border-bottom:1px solid #dfe6ef;
    background:#fff;
}
.npb-ranking-pc-top-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.npb-ranking-back-button{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    padding:9px 16px;
    border-radius:8px;
    background:#f47a08;
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
}
.npb-ranking-pc-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:22px;
    align-items:center;
    min-height:190px;
    padding:28px 32px;
    border-bottom:1px solid #dfe6ef;
    background:
        linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 56%,rgba(12,74,131,.06) 100%);
}
.npb-ranking-pc-hero h1{
    margin:5px 0 16px;
    color:#172b45;
    font-size:clamp(2.15rem,4vw,3.4rem);
    line-height:.96;
    text-transform:uppercase;
}
.npb-ranking-pc-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px 30px;
    color:#718096;
}
.npb-ranking-pc-meta strong{
    color:#172b45;
}
.npb-ranking-pc-summary{
    min-height:130px;
    display:grid;
    place-items:center;
    align-content:center;
    padding:18px;
    border:1px solid #dce5ef;
    border-radius:14px;
    background:linear-gradient(145deg,#f8fbfe,#eaf2fa);
    text-align:center;
}
.npb-ranking-pc-summary span{
    color:#f06c00;
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
}
.npb-ranking-pc-summary strong{
    margin:5px 0;
    color:#124f96;
    font-size:3rem;
    line-height:1;
}
.npb-ranking-pc-summary small{
    color:#718096;
}

.npb-ranking-pc-navigation{
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
    margin:0!important;
    padding:16px 20px!important;
    border-bottom:1px solid #dfe6ef!important;
    background:#fff!important;
}
.npb-ranking-pc-navigation .npb-player-statistics-filter,
.npb-ranking-pc-navigation .npb-competition-quicknav{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.npb-ranking-pc-navigation .npb-player-statistics-filter form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
}
.npb-ranking-pc-navigation .npb-player-statistics-filter label{
    color:#718096!important;
    font-size:.68rem!important;
    text-transform:uppercase;
}
.npb-ranking-pc-navigation .npb-player-statistics-filter select{
    width:100%!important;
    min-height:44px!important;
    border-radius:9px!important;
}
.npb-ranking-pc-navigation .npb-player-ranking-navigation{
    display:grid!important;
    gap:8px!important;
}
.npb-ranking-pc-navigation .npb-league-selector{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(120px,1fr))!important;
    gap:8px!important;
}
.npb-ranking-pc-navigation .npb-league-chip{
    min-height:44px!important;
    padding:8px 14px!important;
    border-radius:9px!important;
    border:1px solid #dce5ee!important;
    background:#fff!important;
    color:#172b45!important;
    box-shadow:none!important;
}
.npb-ranking-pc-navigation .npb-league-chip.is-active{
    border-color:#f47a08!important;
    background:#f47a08!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(244,122,8,.20)!important;
}
.npb-ranking-pc-navigation .npb-pool-selector{
    display:flex!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
}
.npb-ranking-pc-navigation .npb-pool-chip{
    min-width:42px!important;
    min-height:36px!important;
    border-radius:8px!important;
}

.npb-player-ranking-cards{
    padding:18px 20px 22px!important;
    background:#eef4f9!important;
}
.npb-player-statistics-card{
    border:1px solid #dfe6ef!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-shadow:0 6px 18px rgba(24,43,66,.055)!important;
}
.npb-ranking-list-header{
    min-height:100px!important;
    padding:18px 22px!important;
    border-bottom:1px solid #dfe6ef!important;
}
.npb-ranking-list-header h2{
    margin:4px 0 6px!important;
    font-size:1.65rem!important;
}
.npb-ranking-content-grid{
    gap:18px!important;
    padding:18px!important;
}
.npb-ranking-main,
.npb-ranking-sidecard{
    border-radius:10px!important;
}
.npb-player-statistics-table-wrap{
    border-radius:10px!important;
    overflow:hidden!important;
}

/* Dark: exact dezelfde diepe blauwen als Player Center */
.npb-ranking-playercenter-shell[data-ranking-theme="dark"]{
    border-color:#244d6d!important;
    background:#061f37!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-topbar,
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-navigation{
    border-color:#244d6d!important;
    background:#082844!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-hero{
    border-color:#244d6d!important;
    background:
        linear-gradient(100deg,#082844 0%,#0b3556 58%,#164f7b 100%)!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-hero h1,
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-meta strong{
    color:#f5f9fc!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-meta{
    color:#9fc0d8!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-summary{
    border-color:#315b7a!important;
    background:rgba(4,31,55,.55)!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-summary strong{
    color:#fff!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-summary small{
    color:#9fc0d8!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-pro-breadcrumbs,
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-pro-breadcrumbs strong{
    color:#f5f9fc!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-pro-breadcrumbs a{
    color:#9fc0d8!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-pro-breadcrumbs a:hover{
    color:#ff8a1e!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-navigation .npb-player-statistics-filter label{
    color:#9fc0d8!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-navigation .npb-league-chip{
    border-color:#315b7a!important;
    background:#082844!important;
    color:#f5f9fc!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-pc-navigation .npb-league-chip.is-active{
    border-color:#f47a08!important;
    background:#f47a08!important;
    color:#fff!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-ranking-cards{
    background:#061f37!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-player-statistics-card{
    border-color:#244d6d!important;
    background:#082844!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-list-header{
    border-color:#244d6d!important;
    background:#0a3658!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-list-header h2{
    color:#fff!important;
}

/* Desktop: minder "smalle app in een witte pagina" */
@media(min-width:1200px){
    .npb-ranking-playercenter-shell{
        width:min(1480px,calc(100% - 64px))!important;
    }
    .npb-ranking-content-grid{
        grid-template-columns:minmax(0,1fr) 300px!important;
    }
}

@media(max-width:900px){
    .npb-ranking-playercenter-shell{
        width:100%!important;
        margin:0!important;
        border-left:0!important;
        border-right:0!important;
        border-radius:0!important;
    }
    .npb-ranking-pc-topbar{
        padding:10px 12px;
    }
    .npb-ranking-pc-topbar .npb-player-pro-breadcrumbs{
        display:none;
    }
    .npb-ranking-pc-top-actions{
        width:100%;
        justify-content:space-between;
    }
    .npb-ranking-pc-hero{
        grid-template-columns:1fr;
        min-height:0;
        padding:22px 16px;
    }
    .npb-ranking-pc-summary{
        min-height:85px;
        grid-template-columns:auto auto auto;
        gap:12px;
        justify-content:start;
        text-align:left;
    }
    .npb-ranking-pc-summary strong{
        font-size:2rem;
    }
    .npb-ranking-pc-navigation{
        grid-template-columns:1fr!important;
        padding:12px!important;
    }
    .npb-ranking-pc-navigation .npb-league-selector{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .npb-player-ranking-cards{
        padding:12px!important;
    }
}

/* ==========================================================================
   5.3.2 - Spelerstatistieken compacter + vrijwel volledige paginabreedte
   ========================================================================== */

/* Geen smal eiland meer midden op de pagina */
.npb-ranking-playercenter-shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:12px auto 24px!important;
    border-radius:10px!important;
}

/* Bovenbalk compacter */
.npb-ranking-pc-topbar{
    min-height:52px!important;
    padding:7px 14px!important;
}
.npb-ranking-back-button{
    min-height:36px!important;
    padding:7px 13px!important;
}
.npb-ranking-theme-toggle{
    min-height:36px!important;
}

/* Hero flink lager */
.npb-ranking-pc-hero{
    grid-template-columns:minmax(0,1fr) 210px!important;
    min-height:128px!important;
    gap:16px!important;
    padding:18px 22px!important;
}
.npb-ranking-pc-hero h1{
    margin:3px 0 10px!important;
    font-size:clamp(1.9rem,3vw,2.8rem)!important;
}
.npb-ranking-pc-meta{
    gap:8px 22px!important;
    font-size:.82rem!important;
}
.npb-ranking-pc-summary{
    min-height:92px!important;
    padding:12px 16px!important;
}
.npb-ranking-pc-summary strong{
    margin:3px 0!important;
    font-size:2.35rem!important;
}

/* Navigatie compacter en meer ruimte voor leagues */
.npb-ranking-pc-navigation{
    grid-template-columns:190px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 14px!important;
}
.npb-ranking-pc-navigation .npb-player-statistics-filter select{
    min-height:38px!important;
}
.npb-ranking-pc-navigation .npb-league-selector{
    grid-template-columns:repeat(4,minmax(110px,180px))!important;
    justify-content:start!important;
    gap:6px!important;
}
.npb-ranking-pc-navigation .npb-league-chip{
    min-height:38px!important;
    padding:6px 12px!important;
}
.npb-ranking-pc-navigation .npb-pool-chip{
    min-width:38px!important;
    min-height:32px!important;
}

/* Rankingpaneel compacter */
.npb-player-ranking-cards{
    padding:12px 14px 16px!important;
}
.npb-ranking-list-header{
    min-height:78px!important;
    padding:13px 16px!important;
}
.npb-ranking-list-header h2{
    margin:2px 0 4px!important;
    font-size:1.35rem!important;
}
.npb-ranking-sortinfo{
    font-size:.72rem!important;
}
.npb-ranking-content-grid{
    grid-template-columns:minmax(0,1fr) 270px!important;
    gap:12px!important;
    padding:12px!important;
}

/* Tabel iets compacter, zodat meer regels in beeld staan */
.npb-player-statistics-simple-table th,
.npb-player-statistics-simple-table td{
    padding-top:7px!important;
    padding-bottom:7px!important;
}
.npb-ranking-player-photo{
    width:30px!important;
    height:30px!important;
}
.npb-ranking-player-copy strong{
    font-size:.86rem!important;
}
.npb-ranking-player-copy small{
    font-size:.62rem!important;
}

/* Zijkaarten compacter */
.npb-ranking-sidecard{
    padding:13px!important;
}
.npb-ranking-sidecard-title{
    margin-bottom:8px!important;
}
.npb-ranking-sidecard dl div{
    padding:7px 0!important;
}

/* Zeer brede desktops: écht de beschikbare contentbreedte benutten */
@media(min-width:1200px){
    .npb-ranking-playercenter-shell{
        width:calc(100% - 24px)!important;
        max-width:none!important;
    }
    .npb-ranking-content-grid{
        grid-template-columns:minmax(0,1fr) 280px!important;
    }
}

/* Op kleinere schermen wel ademruimte houden */
@media(max-width:900px){
    .npb-ranking-playercenter-shell{
        width:100%!important;
        margin:0!important;
    }
    .npb-ranking-pc-hero{
        grid-template-columns:1fr!important;
        padding:16px!important;
    }
    .npb-ranking-pc-summary{
        min-height:70px!important;
    }
    .npb-ranking-pc-navigation{
        grid-template-columns:1fr!important;
        padding:10px!important;
    }
    .npb-ranking-pc-navigation .npb-league-selector{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .npb-ranking-content-grid{
        grid-template-columns:1fr!important;
    }
}

/* ==========================================================================
   5.3.2 - Donker thema vult nu ook de YOOtheme/Joomla pagina-achtergrond
   ========================================================================== */

/*
 * De witte stroken kwamen niet uit Spelerstatistieken zelf, maar uit de
 * omringende Joomla/YOOtheme content canvas. De body/html class wordt door
 * de Spelerstatistieken theme-toggle gezet.
 */
html.npb-ranking-page-dark,
body.npb-ranking-page-dark{
    background:#061f37!important;
}

/* Veel voorkomende YOOtheme/Joomla content wrappers */
body.npb-ranking-page-dark .tm-page,
body.npb-ranking-page-dark .tm-main,
body.npb-ranking-page-dark main,
body.npb-ranking-page-dark #tm-main,
body.npb-ranking-page-dark #system-message-container + *,
body.npb-ranking-page-dark .uk-section-default,
body.npb-ranking-page-dark .uk-section-muted{
    background-color:#061f37!important;
}

/*
 * Alleen de hoofdcontent onder de site-header donker maken; de header zelf
 * blijft onaangeroerd.
 */
body.npb-ranking-page-dark .tm-main,
body.npb-ranking-page-dark main,
body.npb-ranking-page-dark #tm-main{
    min-height:calc(100vh - 160px);
}

/* De pagina rondom de component krijgt dezelfde tint als Player Center */
body.npb-ranking-page-dark .npb-ranking-playercenter-shell{
    box-shadow:0 12px 34px rgba(0,0,0,.22)!important;
}

/* Licht thema herstelt de normale witte pagina */
html.npb-ranking-page-light,
body.npb-ranking-page-light{
    background:#fff!important;
}
body.npb-ranking-page-light .tm-main,
body.npb-ranking-page-light main,
body.npb-ranking-page-light #tm-main{
    background-color:#fff!important;
}

/* 5.3.2 - Spelerstatistieken: navigatie exact als Wedstrijden / Competitie PRO */
.npb-ranking-match-navigation{
    margin:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
}
.npb-ranking-match-navigation.npb-competition-toolbar-pro{
    display:block!important;
    position:relative!important;
    padding:12px 14px!important;
}
.npb-ranking-match-navigation .npb-competition-filter{
    margin:0 0 8px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.npb-ranking-match-navigation .npb-competition-filter form{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.npb-ranking-match-navigation .npb-competition-filter label{
    flex:0 0 auto!important;
    margin:0!important;
}
.npb-ranking-match-navigation .npb-season-control{
    width:230px!important;
    max-width:calc(100% - 80px)!important;
}
.npb-ranking-match-navigation .npb-season-control select{
    width:100%!important;
    min-height:40px!important;
}
.npb-ranking-match-navigation .npb-competition-quicknav{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.npb-ranking-match-navigation .npb-league-selector{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    padding:6px 0!important;
    border-bottom:1px solid #8faac0!important;
}
.npb-ranking-match-navigation .npb-pool-selector{
    margin:0!important;
    padding:6px 0 0!important;
}
.npb-ranking-match-navigation .npb-pool-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
}
.npb-ranking-match-navigation .npb-league-chip,
.npb-ranking-match-navigation .npb-pool-chip{
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 13px!important;
    border-radius:8px!important;
}
.npb-ranking-match-navigation .npb-competition-theme-toggle{
    position:absolute!important;
    top:12px!important;
    right:14px!important;
    z-index:2!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="dark"] .npb-ranking-match-navigation{
    background:#061f37!important;
    border-color:#244d6d!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="light"] .npb-ranking-match-navigation{
    background:#f7fafc!important;
}
@media(max-width:700px){
    .npb-ranking-match-navigation.npb-competition-toolbar-pro{padding:10px!important}
    .npb-ranking-match-navigation .npb-competition-theme-toggle{
        position:static!important;
        display:flex!important;
        margin:0 0 10px auto!important;
    }
    .npb-ranking-match-navigation .npb-competition-filter form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:5px!important;
    }
    .npb-ranking-match-navigation .npb-season-control{
        width:100%!important;
        max-width:none!important;
    }
}

/* ==========================================================================
   5.3.2 - Spelerstatistieken exact in Competitie PRO navigatie/layout
   ========================================================================== */

/* Geen aparte Player Center-shell meer rond de rankingpagina */
.npb-ranking-playercenter-shell{
    width:min(1200px,calc(100% - 32px))!important;
    max-width:1200px!important;
    margin:16px auto 26px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
}

/* Exact dezelfde toolbar-opbouw als Competitie PRO */
.npb-ranking-playercenter-shell .npb-competition-toolbar-pro{
    margin:0!important;
}

.npb-ranking-playercenter-shell .npb-competition-filter{
    margin:0!important;
}

.npb-ranking-playercenter-shell .npb-competition-quicknav{
    margin-top:6px!important;
}

.npb-ranking-playercenter-shell .npb-player-ranking-cards{
    padding:10px 0 0!important;
    background:transparent!important;
}

/* Rankingkaart gebruikt dezelfde kaartvorm als stand/wedstrijden */
.npb-ranking-playercenter-shell .npb-player-statistics-card{
    border-radius:10px!important;
    overflow:hidden!important;
}

.npb-ranking-playercenter-shell .npb-ranking-list-header{
    min-height:auto!important;
    padding:16px 18px!important;
}

.npb-ranking-playercenter-shell .npb-ranking-list-header h2{
    margin:2px 0 0!important;
    font-size:1.55rem!important;
}

/* Oude Player Center-specifieke hero/topbar definitief buiten beeld */
.npb-ranking-pc-topbar,
.npb-ranking-pc-hero,
.npb-ranking-pc-summary{
    display:none!important;
}

/* Donker/licht pagina blijft wel gelijk aan Competitie PRO */
.npb-ranking-playercenter-shell[data-ranking-theme="dark"]{
    background:transparent!important;
}
.npb-ranking-playercenter-shell[data-ranking-theme="light"]{
    background:transparent!important;
}

/* Breedte exact zoals wedstrijden/competitie op grote schermen */
@media(min-width:1200px){
    .npb-ranking-playercenter-shell{
        width:min(1200px,calc(100% - 32px))!important;
        max-width:1200px!important;
    }
}

@media(max-width:900px){
    .npb-ranking-playercenter-shell{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }
}

/* ==========================================================================
   5.3.2 - Ranking gebruikt ECHT dezelfde Competitie PRO container
   ========================================================================== */

/*
 * Geen aparte ranking-shell meer.
 * De pagina heeft nu .npb-competitions-public en data-competition-theme,
 * exact zoals view=competities. Daardoor gelden dezelfde:
 * - paginabreedte
 * - donkere pagina-achtergrond
 * - toolbar
 * - seizoen-selectie
 * - league/poule navigatie
 * - licht/donker toggle
 */
.npb-player-statistics-page.npb-competitions-public{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

/* Laat Competitie PRO zelf de contentbreedte bepalen; geen ranking max-width meer. */
.npb-player-statistics-page.npb-competitions-public .npb-competition-toolbar-pro,
.npb-player-statistics-page.npb-competitions-public .npb-player-ranking-cards{
    width:auto!important;
    max-width:none!important;
}

/* Rankinglijst sluit direct onder de Competitie PRO navigatie aan. */
.npb-player-statistics-page.npb-competitions-public .npb-player-ranking-cards{
    margin-top:8px!important;
    padding:0!important;
    background:transparent!important;
}

/* Geen oude ranking-specifieke shell/hero styling meer laten ingrijpen. */
.npb-player-statistics-page.npb-competitions-public .npb-ranking-pc-topbar,
.npb-player-statistics-page.npb-competitions-public .npb-ranking-pc-hero,
.npb-player-statistics-page.npb-competitions-public .npb-ranking-pc-summary{
    display:none!important;
}

/* De rankingkaart volgt dezelfde radius/spacing als de Competitie PRO standkaart. */
.npb-player-statistics-page.npb-competitions-public .npb-player-statistics-card{
    border-radius:12px!important;
    margin:0!important;
}

/* Voorkom de witte YOOtheme strook in donker thema:
   dezelfde full-page achtergrond als Competitie PRO. */
html:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="dark"]),
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="dark"]),
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="dark"]) #tm-main,
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="dark"]) .tm-main,
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="dark"]) main{
    background:#061f35!important;
}

/* Licht thema mag weer de normale lichte achtergrond gebruiken. */
html:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="light"]),
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="light"]),
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="light"]) #tm-main,
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="light"]) .tm-main,
body:has(.npb-player-statistics-page.npb-competitions-public[data-competition-theme="light"]) main{
    background:#f5f8fc!important;
}

/* ==========================================================================
   5.3.2 - NPB PRO UNIVERSAL UI
   Eén centrale stijl voor Competitie PRO, Wedstrijden en Spelersranking.
   Gebruik voortaan:
   .npb-pro-page
   .npb-pro-toolbar
   .npb-pro-season-filter
   .npb-pro-quicknav
   ========================================================================== */

:root{
    --npb-pro-page-bg-dark:#061f35;
    --npb-pro-panel-dark:#082844;
    --npb-pro-panel-dark-2:#0a3556;
    --npb-pro-border-dark:#285473;
    --npb-pro-text-dark:#f5f9fc;
    --npb-pro-muted-dark:#9fc0d8;

    --npb-pro-page-bg-light:#f4f8fb;
    --npb-pro-panel-light:#ffffff;
    --npb-pro-border-light:#d7e1eb;
    --npb-pro-text-light:#172b45;
    --npb-pro-muted-light:#6f8296;

    --npb-pro-orange:#ff7900;
    --npb-pro-radius:12px;
    --npb-pro-content-width:1200px;
}

/* ---------- universele pagina ---------- */
.npb-pro-page{
    width:min(var(--npb-pro-content-width),calc(100% - 32px))!important;
    max-width:var(--npb-pro-content-width)!important;
    margin:16px auto 28px!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
}

/* ---------- universele toolbar ---------- */
.npb-pro-page .npb-pro-toolbar{
    position:relative!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:10px 12px!important;
    border:1px solid var(--npb-pro-border-dark)!important;
    border-radius:var(--npb-pro-radius)!important;
    background:var(--npb-pro-panel-dark)!important;
    box-shadow:none!important;
}

/* Seizoen altijd linksboven */
.npb-pro-page .npb-pro-season-filter{
    margin:0 0 6px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.npb-pro-page .npb-pro-season-filter form{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.npb-pro-page .npb-pro-season-filter label{
    flex:0 0 auto!important;
    margin:0!important;
    color:var(--npb-pro-text-dark)!important;
    font-size:.72rem!important;
    text-transform:uppercase!important;
}
.npb-pro-page .npb-season-control{
    width:230px!important;
    max-width:calc(100% - 90px)!important;
}
.npb-pro-page .npb-season-control select{
    width:100%!important;
    min-height:38px!important;
    padding:6px 34px 6px 12px!important;
    border:1px solid var(--npb-pro-border-dark)!important;
    border-radius:8px!important;
    background:#071f36!important;
    color:var(--npb-pro-text-dark)!important;
    font-weight:800!important;
}

/* Licht/donker altijd rechtsboven */
.npb-pro-page .npb-competition-theme-toggle{
    position:absolute!important;
    top:10px!important;
    right:12px!important;
    z-index:5!important;
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    min-height:38px!important;
    padding:3px!important;
    border:1px solid var(--npb-pro-border-dark)!important;
    border-radius:999px!important;
    background:#071f36!important;
}
.npb-pro-page .npb-competition-theme-choice{
    min-height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    padding:4px 10px!important;
    border-radius:999px!important;
    color:#cbd9e5!important;
    font-weight:850!important;
}
.npb-pro-page .npb-competition-theme-choice.is-active{
    background:#1467a8!important;
    color:#fff!important;
}

/* League op rij 2, poules op rij 3 */
.npb-pro-page .npb-pro-quicknav{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.npb-pro-page .npb-league-selector{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    padding:5px 0!important;
    border-bottom:1px solid #a6b8c7!important;
}
.npb-pro-page .npb-pool-selector{
    margin:0!important;
    padding:5px 0 0!important;
}
.npb-pro-page .npb-pool-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
}
.npb-pro-page .npb-league-chip,
.npb-pro-page .npb-pool-chip{
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 13px!important;
    border:1px solid var(--npb-pro-border-dark)!important;
    border-radius:8px!important;
    background:#071f36!important;
    color:var(--npb-pro-text-dark)!important;
    font-weight:850!important;
    box-shadow:none!important;
}
.npb-pro-page .npb-league-chip.is-active,
.npb-pro-page .npb-pool-chip.is-active{
    border-color:var(--npb-pro-orange)!important;
    background:var(--npb-pro-orange)!important;
    color:#fff!important;
    box-shadow:0 5px 12px rgba(255,121,0,.20)!important;
}

/* ---------- donker thema: ALTIJD dezelfde volledige pagina-achtergrond ---------- */
html:has(.npb-pro-page[data-competition-theme="dark"]),
body:has(.npb-pro-page[data-competition-theme="dark"]),
body:has(.npb-pro-page[data-competition-theme="dark"]) .tm-page,
body:has(.npb-pro-page[data-competition-theme="dark"]) .tm-main,
body:has(.npb-pro-page[data-competition-theme="dark"]) #tm-main,
body:has(.npb-pro-page[data-competition-theme="dark"]) main,
body:has(.npb-pro-page[data-competition-theme="dark"]) .uk-section-default,
body:has(.npb-pro-page[data-competition-theme="dark"]) .uk-section-muted{
    background:var(--npb-pro-page-bg-dark)!important;
}

/* ---------- licht thema universeel ---------- */
.npb-pro-page[data-competition-theme="light"] .npb-pro-toolbar{
    border-color:var(--npb-pro-border-light)!important;
    background:var(--npb-pro-panel-light)!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-pro-season-filter label{
    color:var(--npb-pro-text-light)!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-season-control select{
    border-color:var(--npb-pro-border-light)!important;
    background:#fff!important;
    color:var(--npb-pro-text-light)!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-competition-theme-toggle{
    border-color:var(--npb-pro-border-light)!important;
    background:#fff!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-competition-theme-choice{
    color:#49647b!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-league-chip,
.npb-pro-page[data-competition-theme="light"] .npb-pool-chip{
    border-color:var(--npb-pro-border-light)!important;
    background:#fff!important;
    color:var(--npb-pro-text-light)!important;
}
.npb-pro-page[data-competition-theme="light"] .npb-league-chip.is-active,
.npb-pro-page[data-competition-theme="light"] .npb-pool-chip.is-active{
    border-color:var(--npb-pro-orange)!important;
    background:var(--npb-pro-orange)!important;
    color:#fff!important;
}
html:has(.npb-pro-page[data-competition-theme="light"]),
body:has(.npb-pro-page[data-competition-theme="light"]),
body:has(.npb-pro-page[data-competition-theme="light"]) .tm-page,
body:has(.npb-pro-page[data-competition-theme="light"]) .tm-main,
body:has(.npb-pro-page[data-competition-theme="light"]) #tm-main,
body:has(.npb-pro-page[data-competition-theme="light"]) main{
    background:var(--npb-pro-page-bg-light)!important;
}

/* ---------- ranking mag GEEN eigen toolbar/layout meer overrulen ---------- */
.npb-pro-page.npb-player-statistics-page{
    width:min(var(--npb-pro-content-width),calc(100% - 32px))!important;
    max-width:var(--npb-pro-content-width)!important;
    margin:16px auto 28px!important;
}
.npb-pro-page.npb-player-statistics-page .npb-player-ranking-cards{
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
.npb-pro-page.npb-player-statistics-page .npb-player-statistics-card{
    margin:0!important;
    border-radius:var(--npb-pro-radius)!important;
}

/* Ranking tabel in donker thema niet meer wit */
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-main,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table-wrap,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table thead,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table tbody,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table tr,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table th,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table td{
    background:var(--npb-pro-panel-dark)!important;
    color:var(--npb-pro-text-dark)!important;
    border-color:var(--npb-pro-border-dark)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-table thead th{
    background:#0b3657!important;
    color:#9fc0d8!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard{
    background:#0b3760!important;
    border-color:#315b7a!important;
    color:#fff!important;
}

/* ---------- mobiel ---------- */
@media(max-width:700px){
    .npb-pro-page{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }
    .npb-pro-page .npb-pro-toolbar{
        border-left:0!important;
        border-right:0!important;
        border-radius:0!important;
        padding:10px!important;
    }
    .npb-pro-page .npb-competition-theme-toggle{
        position:static!important;
        margin:0 0 8px auto!important;
        width:max-content!important;
    }
    .npb-pro-page .npb-pro-season-filter form{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:5px!important;
    }
    .npb-pro-page .npb-season-control{
        width:100%!important;
        max-width:none!important;
    }
}

/* 5.3.2 - lege Tournament PRO data in Player Center verbergen */
#npb-player-pro [hidden]{
    display:none!important;
}

/* ========================================================================
   5.3.3 - Player Center LIGHT als masterstijl voor Spelersranking
   ======================================================================== */
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"]{
    --npb-ranking-card:#fff;
    --npb-ranking-soft:#f6f9fc;
    --npb-ranking-soft-2:#edf4fa;
    --npb-ranking-line:#d5e1ec;
    --npb-ranking-ink:#16375f;
    --npb-ranking-muted:#6f8298;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-pro-toolbar,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-card{
    background:var(--npb-ranking-card)!important;
    border:1px solid var(--npb-ranking-line)!important;
    box-shadow:0 8px 24px rgba(25,60,95,.06)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-list-header{
    background:linear-gradient(90deg,#fff 0%,#f7fbff 62%,#edf6fd 100%)!important;
    border-bottom:1px solid var(--npb-ranking-line)!important;
    color:var(--npb-ranking-ink)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-list-header h2,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-player-copy strong{
    color:var(--npb-ranking-ink)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-content-grid{
    background:#fff!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-main,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table-wrap{
    background:#fff!important;
    border-color:var(--npb-ranking-line)!important;
    box-shadow:none!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table{
    background:#fff!important;
    color:var(--npb-ranking-ink)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table thead th{
    background:var(--npb-ranking-soft-2)!important;
    color:#244c75!important;
    border-color:var(--npb-ranking-line)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody tr,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody th,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody td{
    background:#fff!important;
    color:var(--npb-ranking-ink)!important;
    border-color:#e1e9f1!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody tr:nth-child(even) th,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody tr:nth-child(even) td{
    background:#f8fafc!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody tr:hover th,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table tbody tr:hover td{
    background:#fff7ef!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard{
    background:#f7fafc!important;
    border:1px solid var(--npb-ranking-line)!important;
    color:var(--npb-ranking-ink)!important;
    box-shadow:none!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard dt,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard dd{
    color:var(--npb-ranking-ink)!important;
    border-color:#dce6ef!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-count-badge{
    background:#f6f9fc!important;
    border:1px solid var(--npb-ranking-line)!important;
    color:#345b7d!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-ranking-card{
    background:#fff!important;
    border-color:var(--npb-ranking-line)!important;
    color:var(--npb-ranking-ink)!important;
}

/* ========================================================================
   5.4.3 - Player Center LIGHT polish: contrast, semantic stats, search
   ======================================================================== */
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-competition-theme-choice{
    color:#60758b!important;
    opacity:1!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-competition-theme-choice.is-active{
    color:#fff!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard h3,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard-title h3{
    color:#ff7100!important;
    opacity:1!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table .is-win,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard .is-win{
    color:#169b52!important;
    font-weight:800!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-statistics-table .is-loss,
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard .is-loss{
    color:#d84335!important;
    font-weight:800!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-played{
    color:#1765b8!important;
    font-weight:800!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard{
    background:#fff!important;
    border-color:#cfdeeb!important;
    box-shadow:0 6px 18px rgba(24,57,91,.055)!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-stat-position-badge.is-top-1{
    background:#ffe08a!important;color:#8a5a00!important;border-color:#e7bd4c!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-stat-position-badge.is-top-2{
    background:#e7edf3!important;color:#53677b!important;border-color:#c5d0db!important;
}
.npb-pro-page.npb-player-statistics-page[data-competition-theme="light"] .npb-player-stat-position-badge.is-top-3{
    background:#f1d1bc!important;color:#8a4b25!important;border-color:#d9aa8c!important;
}
.npb-ranking-header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.npb-ranking-search input{
    width:210px;min-height:36px;padding:7px 12px;border:1px solid #c9d9e7;border-radius:9px;
    background:#fff;color:#16375f;font:inherit;outline:none;box-shadow:none;
}
.npb-ranking-search input::placeholder{color:#7b8ea2}
.npb-ranking-search input:focus{border-color:#ff7100;box-shadow:0 0 0 3px rgba(255,113,0,.10)}
.npb-player-statistics-table tbody tr{transition:background-color .15s ease}
.npb-player-ranking-player-link{cursor:pointer}
.npb-player-ranking-player-link:hover strong{color:#ff7100!important;text-decoration:underline;text-underline-offset:2px}
@media (max-width:760px){
    .npb-ranking-header-tools{width:100%;justify-content:space-between}
    .npb-ranking-search{flex:1;min-width:0}
    .npb-ranking-search input{width:100%}
}

/* ==========================================================================
   5.4.3 - Player Center seizoen wisselen zonder terugflits naar Stand
   ========================================================================== */

.npb-competitions-public.npb-player-deeplink-pending > .npb-competition-toolbar-pro,
.npb-competitions-public.npb-player-deeplink-pending > .npb-standings-list,
.npb-competitions-public.npb-player-deeplink-pending > .npb-competition-empty-season{
    visibility:hidden!important;
}

.npb-competitions-public.npb-player-deeplink-pending{
    min-height:calc(100vh - 180px);
}

html.npb-player-pro-open .npb-competitions-public > .npb-competition-toolbar-pro,
html.npb-player-pro-open .npb-competitions-public > .npb-standings-list{
    display:none!important;
}

/* 5.4.3 - extra safeguard: geen competitie/stand-flits bij Player Center deep-link */
.npb-competitions-public.npb-player-deeplink-pending .npb-standings-card{
    visibility:hidden!important;
}

/* 5.4.3 Player Card Share */
.npb-player-share-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 11px;border:1px solid #cbd9e7;border-radius:999px;background:#fff;color:#173b60;font-weight:800;cursor:pointer}
.npb-player-share-toggle:hover{border-color:#ff7900;color:#e66d00}
.npb-player-share-modal[hidden]{display:none!important}.npb-player-share-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}
.npb-player-share-backdrop{position:absolute;inset:0;background:rgba(5,25,43,.72);backdrop-filter:blur(4px)}
.npb-player-share-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid #cbd9e7;border-radius:18px;background:#f5f9fc;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:18px}
.npb-player-share-header{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.npb-player-share-header span{color:#ff7900;font-size:11px;font-weight:900;letter-spacing:.12em}.npb-player-share-header h2{margin:2px 0 0;color:#12385f;font-size:22px}.npb-player-share-header button{width:36px;height:36px;border:1px solid #d3dfeb;border-radius:50%;background:#fff;color:#6e8194;font-size:24px;cursor:pointer}
.npb-player-share-preview{padding:10px;border:1px solid #d6e2ec;border-radius:14px;background:#fff}.npb-player-share-preview canvas{display:block;width:100%;height:auto;border-radius:10px}
.npb-player-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.npb-player-share-actions button{min-height:40px;padding:8px 14px;border:1px solid #cbd9e7;border-radius:9px;background:#fff;color:#173b60;font-weight:800;cursor:pointer}.npb-player-share-actions .is-primary{border-color:#ff7900;background:#ff7900;color:#fff}.npb-player-share-status{min-height:20px;margin:8px 2px 0;color:#60788e;font-size:12px}html.npb-player-share-open{overflow:hidden}
#npb-player-pro[data-theme="dark"] .npb-player-share-toggle{border-color:#315570;background:#0b3151;color:#fff}
@media(max-width:600px){.npb-player-share-modal{padding:8px}.npb-player-share-dialog{max-height:calc(100vh - 16px);padding:12px}.npb-player-share-actions{display:grid;grid-template-columns:1fr}.npb-player-share-actions button{width:100%}.npb-player-share-toggle span:last-child{display:none}.npb-player-share-toggle{width:36px;padding:0;justify-content:center}}

/* 5.4.3 Player Card Share fix */
body > .npb-player-share-modal{
    isolation:isolate;
}
.npb-player-share-modal:not([hidden]){
    display:grid!important;
}

/* 5.4.3 - harde fallback voor share modal */
body > .npb-player-share-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
}
body > .npb-player-share-modal[aria-hidden="false"]{
    display:grid!important;
}

/* ==========================================================================
   5.4.3 - Locaties PRO: beter contrast in donker thema
   ========================================================================== */

.npb-locations-public[data-location-theme="dark"]{
    --npb-location-text:#f7fbff;
    --npb-location-muted:#b7cbe0;
    --npb-location-soft:#8fa9c2;
    --npb-location-panel:#082844;
    --npb-location-panel-2:#0b3151;
    --npb-location-border:#2b5575;
    --npb-location-light-card:#f7fafc;
    --npb-location-light-text:#12385f;
    --npb-location-light-muted:#61788f;
}

/* Algemene secundaire tekst */
.npb-locations-public[data-location-theme="dark"] .npb-location-card p,
.npb-locations-public[data-location-theme="dark"] .npb-location-card small,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-meta,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-city,
.npb-locations-public[data-location-theme="dark"] .npb-location-result-count,
.npb-locations-public[data-location-theme="dark"] .npb-location-filter label,
.npb-locations-public[data-location-theme="dark"] .npb-location-filters label,
.npb-locations-public[data-location-theme="dark"] .npb-locations-filter label{
    color:var(--npb-location-muted)!important;
}

/* Plaats onder locatienaam expliciet leesbaar */
.npb-locations-public[data-location-theme="dark"] .npb-location-card [class*="city"],
.npb-locations-public[data-location-theme="dark"] .npb-location-card .npb-location-meta,
.npb-locations-public[data-location-theme="dark"] .npb-location-card .npb-location-address{
    color:var(--npb-location-muted)!important;
}

/* Filterlabels boven inputs/selects */
.npb-locations-public[data-location-theme="dark"] .npb-locations-filters label,
.npb-locations-public[data-location-theme="dark"] .npb-location-filterbar label,
.npb-locations-public[data-location-theme="dark"] .npb-filter-label{
    color:#c6d7e6!important;
    opacity:1!important;
}

/* Inputs/selects */
.npb-locations-public[data-location-theme="dark"] input,
.npb-locations-public[data-location-theme="dark"] select{
    color:#f7fbff!important;
    background:#0a2b48!important;
    border-color:#315a79!important;
}
.npb-locations-public[data-location-theme="dark"] input::placeholder{
    color:#9fb5c9!important;
    opacity:1!important;
}

/* Witte statistiekblokjes moeten juist donkere tekst houden */
.npb-locations-public[data-location-theme="dark"] .npb-location-stat,
.npb-locations-public[data-location-theme="dark"] .npb-location-stat-card,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-stat{
    background:var(--npb-location-light-card)!important;
    color:var(--npb-location-light-text)!important;
}
.npb-locations-public[data-location-theme="dark"] .npb-location-stat strong,
.npb-locations-public[data-location-theme="dark"] .npb-location-stat-card strong,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-stat strong{
    color:var(--npb-location-light-text)!important;
}
.npb-locations-public[data-location-theme="dark"] .npb-location-stat span,
.npb-locations-public[data-location-theme="dark"] .npb-location-stat small,
.npb-locations-public[data-location-theme="dark"] .npb-location-stat-card span,
.npb-locations-public[data-location-theme="dark"] .npb-location-stat-card small,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-stat span,
.npb-locations-public[data-location-theme="dark"] .npb-location-card-stat small{
    color:var(--npb-location-light-muted)!important;
    opacity:1!important;
}

/* Generieke fallback voor de 3 compacte cijfers onder een locatiekaart */
.npb-locations-public[data-location-theme="dark"] .npb-location-card .npb-stat,
.npb-locations-public[data-location-theme="dark"] .npb-location-card [class*="stat"]{
    color:var(--npb-location-light-text)!important;
}
.npb-locations-public[data-location-theme="dark"] .npb-location-card [class*="stat"] small,
.npb-locations-public[data-location-theme="dark"] .npb-location-card [class*="stat"] span{
    color:var(--npb-location-light-muted)!important;
}

/* Aantal locaties rechts */
.npb-locations-public[data-location-theme="dark"] .npb-count-badge,
.npb-locations-public[data-location-theme="dark"] .npb-locations-count{
    color:#c8d9e8!important;
}

/* Koppen en links */
.npb-locations-public[data-location-theme="dark"] h1,
.npb-locations-public[data-location-theme="dark"] h2,
.npb-locations-public[data-location-theme="dark"] h3{
    color:#fff!important;
}
.npb-locations-public[data-location-theme="dark"] .npb-eyebrow{
    color:#ff7900!important;
}

/* ==========================================================================
   5.4.3 - Player Center delen: betrouwbare inline share-panel
   ========================================================================== */
.npb-player-share-inline[hidden]{display:none!important}
.npb-player-share-inline{
    margin:0;
    padding:12px 16px;
    border-bottom:1px solid #d6e2ec;
    background:#f7fafc;
    color:#12385f;
}
.npb-player-share-inline-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.npb-player-share-inline-head > div{
    display:flex;
    align-items:center;
    gap:9px;
}
.npb-player-share-inline-head span{
    color:#ff7900;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.npb-player-share-inline-head strong{
    font-size:15px;
}
.npb-player-share-inline-head button{
    width:30px;
    height:30px;
    border:1px solid #d3dfeb;
    border-radius:50%;
    background:#fff;
    color:#708399;
    cursor:pointer;
}
.npb-player-share-inline-copy{
    display:flex;
    gap:8px;
    align-items:baseline;
    margin-top:7px;
}
.npb-player-share-inline-copy span{
    color:#6f8296;
    font-size:12px;
}
.npb-player-share-inline-actions{
    display:flex;
    gap:7px;
    margin-top:10px;
}
.npb-player-share-inline-actions button{
    min-height:34px;
    padding:6px 11px;
    border:1px solid #cbd9e7;
    border-radius:8px;
    background:#fff;
    color:#173b60;
    font-weight:800;
    cursor:pointer;
}
.npb-player-share-inline-actions .is-primary{
    border-color:#ff7900;
    background:#ff7900;
    color:#fff;
}
.npb-player-share-inline small{
    display:block;
    min-height:16px;
    margin-top:6px;
    color:#6f8296;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline{
    border-color:#28506e;
    background:#082844;
    color:#fff;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-copy span,
#npb-player-pro[data-theme="dark"] .npb-player-share-inline small{
    color:#a9bfd3;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-actions button,
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-head button{
    border-color:#315570;
    background:#0b3151;
    color:#fff;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-actions .is-primary{
    border-color:#ff7900;
    background:#ff7900;
}
@media(max-width:600px){
    .npb-player-share-inline-copy{
        display:block;
    }
    .npb-player-share-inline-actions{
        display:grid;
        grid-template-columns:1fr;
    }
}

/* ==========================================================================
   5.4.3 - Player Card preview direct in het werkende deelpaneel
   ========================================================================== */
.npb-player-share-inline-card-preview[hidden]{display:none!important}
.npb-player-share-inline-card-preview{
    margin-top:12px;
    padding:10px;
    border:1px solid #d5e1eb;
    border-radius:12px;
    background:#fff;
}
.npb-player-share-inline-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.npb-player-share-inline-card-head strong{
    color:#12385f;
}
.npb-player-share-inline-card-head button{
    width:30px;
    height:30px;
    border:1px solid #d4e0ea;
    border-radius:50%;
    background:#fff;
    color:#6f8296;
    cursor:pointer;
}
.npb-player-share-inline-card-preview canvas{
    display:block;
    width:min(100%,560px);
    height:auto;
    margin:0 auto;
    border:1px solid #e0e8ef;
    border-radius:10px;
}
.npb-player-share-inline-card-actions{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:10px;
}
.npb-player-share-inline-card-actions button{
    min-height:36px;
    padding:7px 12px;
    border:1px solid #cbd9e7;
    border-radius:8px;
    background:#fff;
    color:#173b60;
    font-weight:800;
    cursor:pointer;
}
.npb-player-share-inline-card-actions .is-primary{
    border-color:#ff7900;
    background:#ff7900;
    color:#fff;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-card-preview{
    border-color:#315570;
    background:#0b3151;
}
#npb-player-pro[data-theme="dark"] .npb-player-share-inline-card-head strong{
    color:#fff;
}
@media(max-width:600px){
    .npb-player-share-inline-card-actions{
        display:grid;
        grid-template-columns:1fr;
    }
}

/* ========================================================================== 5.4.13 Player Card Configurator */
.npb-player-card-builder{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}
.npb-player-card-builder-preview canvas{width:100%!important;max-width:620px!important}
.npb-player-card-config{padding:16px;border:1px solid #d5e1eb;border-radius:12px;background:#f8fbfe;color:#12385f}
.npb-player-card-config>strong{display:block;font-size:17px}.npb-player-card-config>small{display:block;margin:3px 0 14px;color:#708399}
.npb-card-config-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e0e8ef;cursor:pointer}
.npb-card-config-switch span{display:grid}.npb-card-config-switch b{font-size:14px}.npb-card-config-switch small{color:#708399;font-size:11px;margin-top:2px}
.npb-card-config-switch input{position:absolute;opacity:0}.npb-card-config-switch i{width:38px;height:22px;border-radius:99px;background:#b7c6d3;position:relative;flex:none;transition:.2s}.npb-card-config-switch i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.npb-card-config-switch input:checked+i{background:#0878c9}.npb-card-config-switch input:checked+i:after{transform:translateX(16px)}
.npb-card-config-block{padding-top:12px;margin-top:4px;border-top:1px solid #e0e8ef}.npb-card-config-block>b{display:block;margin-bottom:8px;font-size:13px}
.npb-card-theme-options,.npb-card-logo-options{display:flex;gap:8px}.npb-card-theme-options button{width:38px;height:32px;border:2px solid transparent;border-radius:8px;cursor:pointer}.npb-card-theme-options button:nth-child(1){background:#0b3558}.npb-card-theme-options button:nth-child(2){background:#0b684e}.npb-card-theme-options button:nth-child(3){background:#4930a3}.npb-card-theme-options button:nth-child(4){background:#8c2635}.npb-card-theme-options button:nth-child(5){background:#20252b}.npb-card-theme-options button.is-active{border-color:#ff7900;box-shadow:0 0 0 2px #fff inset}
.npb-card-logo-options button{flex:1;padding:7px;border:1px solid #cbd9e7;border-radius:8px;background:#fff;color:#173b60;font-weight:800;cursor:pointer}.npb-card-logo-options button.is-active{border-color:#ff7900;color:#ff7900}
.npb-player-share-inline-card-head>div{display:grid}.npb-player-share-inline-card-head span{font-size:10px;color:#ff7900;font-weight:900;letter-spacing:.06em}
@media(max-width:900px){.npb-player-card-builder{grid-template-columns:1fr}.npb-player-card-config{max-width:620px;margin:0 auto;width:100%;box-sizing:border-box}}

/* ==========================================================================
   5.4.13 - Player Card layout modes + tournament podium trophies
   ========================================================================== */
.npb-card-config-block > small{
    display:block;
    margin-top:3px;
    color:#71869a;
    font-size:11px;
    line-height:1.35;
}
.npb-card-layout-options,
.npb-card-logo-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:8px;
}
.npb-card-layout-options button,
.npb-card-logo-options button{
    min-height:36px;
    border:1px solid #cbd9e7;
    border-radius:8px;
    background:#fff;
    color:#173b60;
    font-weight:800;
    cursor:pointer;
}
.npb-card-layout-options button.is-active,
.npb-card-logo-options button.is-active{
    border-color:#ff7900;
    color:#e66d00;
    box-shadow:0 0 0 1px rgba(255,121,0,.12);
}
#npb-player-pro[data-theme="dark"] .npb-card-layout-options button{
    border-color:#315570;
    background:#0b3151;
    color:#fff;
}
#npb-player-pro[data-theme="dark"] .npb-card-layout-options button.is-active{
    border-color:#ff7900;
    color:#ff9b41;
}

/* 5.4.13 - Player Card season selector */
.npb-card-season-block select{
    width:100%;
    min-height:38px;
    margin-top:8px;
    padding:6px 34px 6px 10px;
    border:1px solid #cbd9e7;
    border-radius:8px;
    background:#fff;
    color:#173b60;
    font:inherit;
    font-weight:800;
}
#npb-player-pro[data-theme="dark"] .npb-card-season-block select{
    border-color:#315570;
    background:#0b3151;
    color:#fff;
}


/* =========================================================
   NPB Beheer 5.4.26 - Player Center Mobile Compact
   Alleen mobiel: minder verticale hero-ruimte en sneller naar content.
   Desktop blijft ongewijzigd.
   ========================================================= */
.npb-player-pro-close-short { display:none; }

@media (max-width: 760px) {
  #npb-player-pro .npb-player-pro-shell { padding-bottom:16px !important; }

  #npb-player-pro .npb-player-pro-topbar {
    min-height:48px !important;
    padding:7px 10px !important;
  }
  #npb-player-pro .npb-player-pro-top-actions {
    width:100% !important;
    gap:6px !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
  }
  #npb-player-pro .npb-player-share-toggle {
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    padding:0 !important;
    justify-content:center !important;
    border-radius:10px !important;
  }
  #npb-player-pro .npb-player-share-toggle span:last-child { display:none !important; }
  #npb-player-pro .npb-player-theme-toggle {
    min-height:38px !important;
    padding:5px 8px !important;
    gap:5px !important;
    border-radius:10px !important;
  }
  #npb-player-pro .npb-theme-label { min-width:0 !important; font-size:.70rem !important; }
  #npb-player-pro .npb-theme-sun,
  #npb-player-pro .npb-theme-moon { width:23px !important; height:23px !important; }
  #npb-player-pro .npb-player-pro-close {
    width:auto !important;
    min-height:38px !important;
    padding:7px 10px !important;
    border-radius:9px !important;
    font-size:.74rem !important;
    white-space:nowrap !important;
  }
  #npb-player-pro .npb-player-pro-close-long { display:none !important; }
  #npb-player-pro .npb-player-pro-close-short { display:inline !important; }

  #npb-player-pro .npb-player-pro-hero {
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:10px 12px !important;
    min-height:0 !important;
    padding:14px 12px 12px !important;
    align-items:start !important;
  }
  #npb-player-pro .npb-player-pro-photo {
    grid-column:1 !important;
    grid-row:1 !important;
    width:68px !important;
    height:68px !important;
    margin-top:3px !important;
    border-width:3px !important;
  }
  #npb-player-pro .npb-player-pro-identity {
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }
  #npb-player-pro .npb-player-pro-identity h1 {
    margin:0 0 6px !important;
    font-size:1.55rem !important;
    line-height:1 !important;
    overflow-wrap:anywhere !important;
  }
  #npb-player-pro .npb-player-pro-badges {
    display:flex !important;
    gap:5px !important;
    margin:0 0 7px !important;
    flex-wrap:wrap !important;
  }
  #npb-player-pro .npb-player-pro-badges span {
    min-height:28px !important;
    padding:4px 7px !important;
    border-radius:7px !important;
    font-size:.67rem !important;
    gap:4px !important;
  }
  #npb-player-pro .npb-player-pro-badges svg { width:13px !important; height:13px !important; }
  #npb-player-pro .npb-player-pro-facts {
    display:flex !important;
    gap:14px !important;
    margin-top:0 !important;
  }
  #npb-player-pro .npb-player-pro-facts div { min-width:0 !important; }
  #npb-player-pro .npb-player-pro-facts span { font-size:.62rem !important; }
  #npb-player-pro .npb-player-pro-facts strong {
    margin-top:1px !important;
    font-size:.78rem !important;
    line-height:1.15 !important;
  }
  #npb-player-pro .npb-player-pro-season-control {
    margin-top:7px !important;
    gap:0 !important;
  }
  #npb-player-pro .npb-player-pro-season-control label { gap:2px !important; }
  #npb-player-pro .npb-player-pro-season-control label > span { font-size:.62rem !important; }
  #npb-player-pro .npb-player-pro-season-control select {
    width:100% !important;
    min-height:34px !important;
    height:34px !important;
    padding:4px 30px 4px 9px !important;
    font-size:.78rem !important;
    border-radius:7px !important;
  }
  #npb-player-pro .npb-player-pro-season-control small { display:none !important; }

  #npb-player-pro .npb-player-pro-ranking-card {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:auto auto 1fr !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    column-gap:9px !important;
    row-gap:2px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:9px 12px !important;
    border-radius:10px !important;
    text-align:left !important;
  }
  #npb-player-pro .npb-player-pro-ranking-card > span {
    grid-column:1 !important; grid-row:1 !important;
    font-size:.61rem !important;
  }
  #npb-player-pro .npb-player-pro-ranking-card > strong {
    grid-column:2 !important; grid-row:1 / 3 !important;
    margin:0 !important;
    font-size:1.75rem !important;
    line-height:1 !important;
  }
  #npb-player-pro .npb-player-pro-ranking-card > b {
    grid-column:1 !important; grid-row:2 !important;
    font-size:.72rem !important;
    white-space:nowrap !important;
  }
  #npb-player-pro .npb-player-pro-ranking-card > small {
    grid-column:3 !important; grid-row:1 / 3 !important;
    justify-self:end !important;
    text-align:right !important;
    font-size:.68rem !important;
    line-height:1.2 !important;
  }

  #npb-player-pro .npb-player-pro-actions {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    padding:9px 10px !important;
  }
  #npb-player-pro .npb-player-pro-actions .npb-player-pro-action,
  #npb-player-pro .npb-player-pro-actions > button {
    min-height:58px !important;
    padding:7px 8px !important;
    grid-template-columns:30px minmax(0,1fr) 10px !important;
    gap:6px !important;
    border-radius:9px !important;
  }
  #npb-player-pro .npb-player-pro-action-icon {
    width:29px !important;
    height:29px !important;
    font-size:.88rem !important;
  }
  #npb-player-pro .npb-player-pro-actions strong { font-size:.78rem !important; line-height:1.1 !important; }
  #npb-player-pro .npb-player-pro-actions small { font-size:.61rem !important; line-height:1.15 !important; }

  #npb-player-pro .npb-player-pro-grid { padding-top:8px !important; }
}

/* ==========================================================================
   5.4.26 - Agenda PRO: eenvoudige 'Toon oudere items' bediening
   ========================================================================== */
.npb-agenda-history-control .npb-show-older-button{
    width:100%;
    min-height:42px;
    padding:9px 14px;
    border:1px solid #cbd9e7;
    border-radius:9px;
    background:#fff;
    color:#173b60;
    font:inherit;
    font-weight:800;
    text-align:left;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.npb-agenda-history-control .npb-show-older-button:hover{
    border-color:#ff7900;
    color:#e66d00;
}
.npb-agenda-history-control .npb-show-older-button[aria-pressed="true"]{
    border-color:#ff7900;
    background:#fff7ef;
    color:#d96200;
}
.npb-agenda-history-control #npb-past-count{
    display:block;
    margin-top:5px;
    color:#7f92a6;
    font-size:11px;
}
.npb-agenda-history-control #npb-past-count[hidden]{
    display:none!important;
}
@media (max-width:767px){
    .npb-agenda-history-control .npb-show-older-button{
        min-height:40px;
        text-align:center;
    }
}

/* ==========================================================================
   5.4.26 - Invalbeurten: Invaller registreren
   ========================================================================== */
.npb-register-rulechips{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
}
.npb-register-rulechips span{
    padding:6px 9px;
    border:1px solid #d7e2ed;
    border-radius:999px;
    background:#fff;
    color:#536b83;
    font-size:11px;
    font-weight:800;
}
.npb-captain-register{
    overflow:hidden;
}
.npb-captain-login,
.npb-captain-session{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
.npb-captain-login > div,
.npb-captain-session > div{
    min-width:0;
}
.npb-captain-login h2,
.npb-captain-session h2{
    margin:3px 0 4px;
}
.npb-captain-login p,
.npb-captain-session p{
    margin:0;
    color:#6e8296;
}
.npb-captain-login-form{
    width:min(460px,100%);
}
.npb-captain-login-form label,
.npb-register-toolbar label{
    display:block;
    margin-bottom:6px;
    color:#294765;
    font-size:12px;
    font-weight:900;
}
.npb-pin-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}
.npb-pin-row input,
.npb-register-toolbar input{
    min-height:42px;
    padding:8px 12px;
    border:1px solid #cad9e7;
    border-radius:8px;
    background:#fff;
    color:#173b60;
    font:inherit;
}
.npb-inline-message{
    min-height:20px;
    margin-top:7px;
    font-size:12px;
}
.npb-inline-message.success{color:#168148}
.npb-inline-message.error{color:#c83c3c}
.npb-captain-session{
    padding-bottom:16px;
    border-bottom:1px solid #d8e3ed;
}
.npb-register-toolbar{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(220px,.6fr);
    gap:14px;
    align-items:end;
    margin:16px 0;
}
.npb-register-teaminfo{
    padding:9px 12px;
    border:1px solid #d6e2ed;
    border-radius:9px;
    background:#f7fafc;
}
.npb-register-teaminfo span,
.npb-register-teaminfo small{
    display:block;
    color:#71869a;
    font-size:11px;
}
.npb-register-teaminfo strong{
    display:block;
    margin:2px 0;
    color:#173b60;
}
.npb-captain-feedback{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin:12px 0;
    padding:11px 13px;
    border-radius:9px;
    font-size:13px;
}
.npb-captain-feedback[hidden]{display:none!important}
.npb-captain-feedback.success{
    border:1px solid #b8dfc9;
    background:#eefaf3;
    color:#187440;
}
.npb-captain-feedback.error{
    border:1px solid #efc0c0;
    background:#fff4f4;
    color:#b93636;
}
.npb-player-register-list{
    display:grid;
    gap:8px;
}
.npb-register-player{
    display:grid;
    grid-template-columns:minmax(280px,1.4fr) minmax(210px,.8fr) auto;
    gap:14px;
    align-items:center;
    padding:11px 12px;
    border:1px solid #d6e2ed;
    border-radius:10px;
    background:#fff;
}
.npb-register-player:hover{
    border-color:#abc5da;
    box-shadow:0 5px 18px rgba(31,73,110,.07);
}
.npb-register-player.is-disabled{
    opacity:.68;
    background:#f7f9fb;
}
.npb-register-player-main{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}
.npb-register-avatar{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    background:#e6f1fa;
    color:#1767a3;
    font-size:18px;
    font-weight:900;
}
.npb-register-player-main strong,
.npb-register-player-main span,
.npb-register-player-status small{
    display:block;
}
.npb-register-player-main strong{
    color:#163b60;
    font-size:14px;
}
.npb-register-player-main span{
    margin-top:2px;
    color:#71869a;
    font-size:11px;
}
.npb-register-player-status small{
    margin-top:4px;
    color:#71869a;
    font-size:10px;
}
.npb-register-player-btn{
    white-space:nowrap;
}
.npb-register-dialog{
    width:min(720px,calc(100vw - 32px));
}
.npb-register-confirm-head{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.npb-register-confirm-head .npb-eyebrow{
    width:100%;
}
.npb-register-confirm-head h2{
    margin:0 auto 0 0;
}
.npb-register-confirm-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin:18px 0;
}
.npb-register-confirm-grid article{
    padding:11px;
    border:1px solid #d7e2ed;
    border-radius:9px;
    background:#f8fbfd;
}
.npb-register-confirm-grid span,
.npb-register-confirm-grid small{
    display:block;
    color:#74889b;
    font-size:10px;
}
.npb-register-confirm-grid strong{
    display:block;
    margin:3px 0;
    color:#173b60;
    font-size:14px;
}
.npb-register-check-message{
    padding:11px 13px;
    border-radius:9px;
    font-weight:700;
}
.npb-register-check-message.success{
    border:1px solid #b8dfc9;
    background:#eefaf3;
    color:#187440;
}
.npb-register-check-message.warning{
    border:1px solid #f2d19a;
    background:#fff8eb;
    color:#a45f00;
}
.npb-register-check-message.error{
    border:1px solid #efc0c0;
    background:#fff4f4;
    color:#b93636;
}
.npb-register-confirm-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:16px;
}
@media(max-width:760px){
    .npb-captain-login,
    .npb-captain-session{
        align-items:stretch;
        flex-direction:column;
        gap:14px;
    }
    .npb-pin-row{
        grid-template-columns:1fr;
    }
    .npb-register-toolbar{
        grid-template-columns:1fr;
    }
    .npb-register-player{
        grid-template-columns:1fr;
    }
    .npb-register-player-status{
        display:flex;
        align-items:center;
        gap:8px;
    }
    .npb-register-player-status small{
        margin:0;
    }
    .npb-register-player-btn{
        width:100%;
    }
    .npb-register-confirm-grid{
        grid-template-columns:1fr 1fr;
    }
    .npb-register-confirm-actions{
        display:grid;
        grid-template-columns:1fr;
    }
}


/* 5.4.37 - Player Center leesbare CueScore-toernooiresultaten */
.npb-player-pro-tournament-intro{margin:0 0 10px;font-size:.78rem;color:#718096}
.npb-player-pro-tournament-stats{grid-template-columns:repeat(7,minmax(0,1fr))}
.npb-player-pro-tournament-stats .is-win strong{color:#19944c}
.npb-player-pro-tournament-stats .is-loss strong{color:#dc3b32}
.npb-player-pro-tournament-result-card{border:1px solid #dce6ef;border-radius:9px;background:#fff;overflow:hidden}
.npb-player-pro-tournament-result-card+.npb-player-pro-tournament-result-card{margin-top:7px}
.npb-player-pro-tournament-result-card .npb-player-pro-tournament-row{width:100%;border:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;grid-template-columns:72px minmax(220px,1.25fr) minmax(230px,1fr) minmax(160px,.7fr) 28px}
.npb-player-pro-tournament-result-card .npb-player-pro-tournament-row:hover{background:rgba(239,108,0,.035)}
.npb-player-pro-tournament-position strong,.npb-player-pro-tournament-position span{display:block}
.npb-player-pro-tournament-position span{font-size:.62rem;color:#718096;margin-top:2px}
.npb-player-pro-tournament-readable strong,.npb-player-pro-tournament-readable span{display:block}
.npb-player-pro-tournament-readable strong{font-size:.78rem}
.npb-player-pro-tournament-readable span{font-size:.68rem;color:#718096;margin-top:2px}
.npb-player-pro-tournament-frames.is-empty{opacity:.5}
.npb-player-pro-tournament-chevron{font-size:1.1rem;text-align:center;transition:transform .2s ease}
.npb-player-pro-tournament-result-card.is-open .npb-player-pro-tournament-chevron{transform:rotate(180deg)}
.npb-player-pro-tournament-detail{padding:8px 12px 12px;border-top:1px solid #dce6ef;background:#f7fafc}
.npb-player-pro-tournament-detail-match{display:grid;grid-template-columns:82px minmax(0,1fr) 64px;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #e3ebf2}
.npb-player-pro-tournament-detail-match:last-of-type{border-bottom:0}
.npb-player-pro-tournament-detail-match div strong,.npb-player-pro-tournament-detail-match div span{display:block}
.npb-player-pro-tournament-detail-match div span{font-size:.65rem;color:#718096;margin-top:2px}
.npb-player-pro-tournament-detail-result{font-size:.65rem;font-weight:900;padding:5px 7px;border-radius:999px;text-align:center}
.npb-player-pro-tournament-detail-result.is-win{color:#19944c;background:rgba(25,148,76,.09)}
.npb-player-pro-tournament-detail-result.is-loss{color:#dc3b32;background:rgba(220,59,50,.09)}
.npb-player-pro-tournament-detail-result.is-neutral{color:#718096;background:rgba(113,128,150,.09)}
.npb-player-pro-tournament-detail-match>b{text-align:right}.npb-player-pro-tournament-detail-match>b.is-win{color:#19944c}.npb-player-pro-tournament-detail-match>b.is-loss{color:#dc3b32}
.npb-player-pro-tournament-source{display:inline-block;margin-top:10px;font-size:.7rem;font-weight:900;color:#ef6c00;text-decoration:none}
.npb-player-pro-tournament-detail-empty{padding:8px;color:#718096;font-size:.72rem}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-intro{color:#9fc0d8}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-result-card{background:#082844;border-color:#244d6d;color:#f4f8fb}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-result-card .npb-player-pro-tournament-row{color:#f4f8fb}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-detail{background:#071f35;border-color:#244d6d}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-detail-match{border-color:#244d6d}
#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-position span,#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-readable span,#npb-player-pro[data-theme="dark"] .npb-player-pro-tournament-detail-match div span{color:#9fc0d8}
@media(max-width:1050px){.npb-player-pro-tournament-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.npb-player-pro-tournament-result-card .npb-player-pro-tournament-row{grid-template-columns:64px minmax(0,1fr) minmax(200px,.9fr) 28px}.npb-player-pro-tournament-frames{display:none}}
@media(max-width:700px){.npb-player-pro-tournament-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.npb-player-pro-tournament-result-card .npb-player-pro-tournament-row{grid-template-columns:52px minmax(0,1fr) 24px}.npb-player-pro-tournament-readable{grid-column:2/4;margin-top:5px}.npb-player-pro-tournament-detail-match{grid-template-columns:72px minmax(0,1fr) 52px}}


/* ==========================================================================
   5.4.37 - Player Center iPhone responsive fix
   ========================================================================== */
@media (max-width: 600px) {
    .npb-player-pro,
    .npb-player-pro-shell,
    .npb-player-pro-grid,
    .npb-player-pro-sidebar,
    .npb-player-pro-main,
    .npb-player-pro-card,
    .npb-player-pro-card-head,
    .npb-player-pro-stats,
    .npb-player-pro-tournaments,
    .npb-player-pro-tournament-results,
    .npb-player-pro-tournament-match-list {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .npb-player-pro-shell {
        overflow-x: hidden;
    }

    .npb-player-pro-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px;
    }

    .npb-player-pro-sidebar,
    .npb-player-pro-main {
        min-width: 0;
    }

    .npb-player-pro-card {
        padding-left: 16px;
        padding-right: 16px;
        overflow: hidden;
    }

    .npb-player-pro-card dl > div {
        display: grid;
        grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
    }

    .npb-player-pro-card dt,
    .npb-player-pro-card dd {
        min-width: 0;
    }

    .npb-player-pro-card dd {
        margin: 0;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .npb-player-pro-stats {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px;
    }

    .npb-player-pro-stats > div {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .npb-player-pro-stats-heading {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        justify-content: space-between;
    }

    .npb-player-pro-tournament-stats,
    .npb-player-pro-tournament-match-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .npb-player-pro-card-head {
        flex-wrap: wrap;
        gap: 8px;
    }

    .npb-player-pro-card-head > div {
        min-width: 0;
    }

    .npb-player-pro-card-head h2,
    .npb-player-pro-card-head span,
    .npb-player-pro-card p,
    .npb-player-pro-card strong,
    .npb-player-pro-card small {
        overflow-wrap: anywhere;
    }

    .npb-player-pro-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .npb-player-pro-actions > * {
        min-width: 0;
    }
}

@media (max-width: 390px) {
    .npb-player-pro-card {
        padding-left: 13px;
        padding-right: 13px;
    }

    .npb-player-pro-card dl > div {
        grid-template-columns: minmax(96px, 36%) minmax(0, 1fr);
        gap: 8px;
    }

    .npb-player-pro-tournament-stats,
    .npb-player-pro-tournament-match-summary {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* 5.4.43 - Player Card photo controls */
.npb-card-photo-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.npb-card-photo-options button,.npb-card-custom-photo button{min-height:36px;border:1px solid #cbd9e7;border-radius:8px;background:#fff;color:#173b60;font-weight:800;cursor:pointer}
.npb-card-photo-options button.is-active{border-color:#ff7900;color:#e66d00;box-shadow:0 0 0 1px rgba(255,121,0,.12)}
.npb-card-custom-photo{border:1px dashed #cbd9e7!important;border-radius:10px;padding:12px!important;margin-top:12px!important}
.npb-card-custom-photo button{padding:7px 12px;margin-top:8px;margin-right:6px}
.npb-card-custom-photo [data-card-custom-photo-reset]{color:#b23b3b}


/* ========================================================================== 5.4.45 - compact Player Card configurator + inline agenda edit */
.npb-player-card-config{padding:12px 13px}
.npb-player-card-config>strong{font-size:16px;line-height:1.15}
.npb-player-card-config>small{margin:2px 0 8px;font-size:10px;line-height:1.25}
.npb-card-config-switch{padding:8px 0;gap:8px}
.npb-card-config-switch b{font-size:12px}.npb-card-config-switch small{font-size:10px;margin-top:1px}
.npb-card-config-switch i{width:34px;height:20px}.npb-card-config-switch i:after{width:14px;height:14px}.npb-card-config-switch input:checked+i:after{transform:translateX(14px)}
.npb-card-config-block{padding-top:8px;margin-top:2px}.npb-card-config-block>b{margin-bottom:4px;font-size:12px}
.npb-card-config-block>small{margin-top:1px;font-size:10px;line-height:1.2}
.npb-card-layout-options,.npb-card-logo-options,.npb-card-photo-options{margin-top:5px!important;gap:6px!important}
.npb-card-layout-options button,.npb-card-logo-options button,.npb-card-photo-options button{min-height:30px!important;padding:5px 7px!important;font-size:11px}
.npb-card-theme-options{gap:6px}.npb-card-theme-options button{width:31px;height:27px;border-radius:7px}
.npb-card-custom-photo button{padding:5px 8px!important;font-size:11px}
.npb-card-custom-photo [data-card-custom-photo-controls]{margin-top:7px!important}
.npb-card-custom-photo [data-card-custom-photo-controls] label{margin-top:4px!important;font-size:10px}
.npb-card-custom-photo [data-card-photo-position-reset]{margin-top:5px!important}
.npb-event-action{gap:7px;flex-wrap:wrap}
.npb-agenda-edit-cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #d8e2ec;border-radius:8px;background:#fff;color:#173b60!important;font-size:12px;font-weight:900;text-decoration:none!important;white-space:nowrap;box-shadow:0 1px 2px rgba(12,43,70,.05)}
.npb-agenda-edit-cta:hover{border-color:#ed741d;color:#d9650f!important;background:#fff8f2}
@media(max-width:700px){.npb-month-event .npb-event-action{display:grid;grid-template-columns:1fr;gap:6px}.npb-month-event .npb-agenda-edit-cta,.npb-month-event .npb-cuescore-cta{width:100%;box-sizing:border-box}}


/* NPB Beheer 5.4.47 - Agenda edit actions */
.npb-agenda-delete-block{margin-top:18px;padding-top:16px;border-top:1px solid #e1e8f0}
.npb-button-danger,.npb-agenda-delete-button{background:#c62828!important;border-color:#c62828!important;color:#fff!important;width:100%;justify-content:center}
.npb-button-danger:hover,.npb-agenda-delete-button:hover{background:#a91f1f!important;border-color:#a91f1f!important;color:#fff!important}
.npb-form-actions .npb-button-primary:disabled{background:#f3b07c!important;border-color:#f3b07c!important;color:#fff!important;opacity:.65}


/* NPB Agenda PRO 5.4.50 - YOOtheme navy #051D35 */
.npb-agenda-page.npb-agenda-pro{max-width:1180px;margin:-4px auto 0;padding-top:0;--npb-blue:#051d35;--npb-orange:#f57a16;--npb-line:#e5e7eb;color:#051d35}
.npb-agenda-pro .npb-agenda-header{margin:0 0 18px;padding:24px 28px;border:1px solid rgba(5,29,53,.08);border-radius:8px;background:#051d35;color:#fff;box-shadow:0 8px 24px rgba(5,29,53,.10)}
.npb-agenda-pro .npb-agenda-header h1{margin:3px 0 4px;color:#fff;font-size:30px;font-weight:900;font-style:italic;text-transform:uppercase}
.npb-agenda-pro .npb-agenda-header p{color:rgba(255,255,255,.82)}
.npb-agenda-pro .npb-agenda-header .npb-eyebrow{color:#f57a16;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.npb-agenda-pro .npb-button{border-radius:6px;font-weight:800}
.npb-agenda-pro .npb-button-primary{background:#f57a16!important;border-color:#f57a16!important;color:#fff!important}
.npb-agenda-pro .npb-button-primary:hover{background:#df6810!important;border-color:#df6810!important}
.npb-agenda-pro .npb-button-light{background:#fff!important;border:1px solid #e5e7eb!important;color:#051d35!important}
.npb-agenda-pro .npb-agenda-controls{gap:12px;margin-bottom:12px}
.npb-agenda-pro .npb-agenda-search label,.npb-agenda-pro .npb-agenda-filter label,.npb-agenda-pro .npb-control-label{color:#051d35;font-weight:800}
.npb-agenda-pro .npb-agenda-search input,.npb-agenda-pro .npb-agenda-filter select,.npb-agenda-pro .npb-show-older-button{border:1px solid #dfe3ea;border-radius:6px;background:#fff;color:#051d35;box-shadow:none}
.npb-agenda-pro .npb-agenda-search input:focus,.npb-agenda-pro .npb-agenda-filter select:focus{border-color:#f57a16;outline:0;box-shadow:0 0 0 2px rgba(245,122,22,.10)}
.npb-agenda-pro .npb-view-switch{margin-bottom:12px;padding:8px 10px;border-color:#e5e7eb;border-radius:7px;box-shadow:none}
.npb-agenda-pro .npb-view-switch>span{color:#051d35}
.npb-agenda-pro .npb-view-switch>div{background:#f4f5f7;border-radius:6px}
.npb-agenda-pro .npb-view-switch button{border-radius:5px}
.npb-agenda-pro .npb-view-switch button.is-active{background:#051d35;color:#fff;box-shadow:none}
.npb-agenda-pro .npb-agenda-legend{gap:7px;margin-bottom:14px}
.npb-agenda-pro .npb-legend-item{padding:6px 10px;border-color:#e5e7eb;border-radius:999px;box-shadow:none;color:#39445a}
.npb-agenda-pro .npb-month-timeline{gap:18px}
.npb-agenda-pro .npb-month-group{border-color:#e5e7eb;border-radius:8px;box-shadow:0 6px 18px rgba(5,29,53,.06)}
.npb-agenda-pro .npb-month-header{padding:14px 18px;background:#051d35}
.npb-agenda-pro .npb-month-header span{color:#f57a16}
.npb-agenda-pro .npb-month-header h2{font-size:21px;font-weight:900;font-style:italic;text-transform:uppercase}
.npb-agenda-pro .npb-month-header>strong{background:rgba(255,255,255,.12)}
.npb-agenda-pro .npb-month-event{padding:14px 16px;border-color:#eceef2;background:#fff}
.npb-agenda-pro .npb-month-event:hover{background:#fbfbfc}
.npb-agenda-pro .npb-month-date{border-radius:7px;background:#f3f5f8;color:#051d35}
.npb-agenda-pro .npb-event-title,.npb-agenda-pro .npb-agenda-title-link{color:#051d35}
.npb-agenda-pro a.npb-event-title:hover,.npb-agenda-pro .npb-agenda-title-link:hover{color:#f57a16}
.npb-agenda-pro .npb-week-pill{background:#f2f3f5;color:#626c7d}
.npb-agenda-pro .npb-edit-agenda-button,.npb-agenda-pro .npb-agenda-edit-button{border-color:#dfe3ea!important;border-radius:6px!important;background:#fff!important;color:#051d35!important}
.npb-agenda-pro .npb-edit-agenda-button:hover,.npb-agenda-pro .npb-agenda-edit-button:hover{border-color:#f57a16!important;color:#f57a16!important}
@media(max-width:760px){.npb-agenda-page.npb-agenda-pro{margin-top:0}.npb-agenda-pro .npb-agenda-header{padding:19px 17px}.npb-agenda-pro .npb-agenda-header h1{font-size:25px}.npb-agenda-pro .npb-month-header{padding:13px 14px}}

/* NPB Beheer 5.4.51 - Agenda PRO billiard dashboard */
.npb-agenda-page.npb-agenda-pro{max-width:1240px;margin:-10px auto 0;padding:0 18px 30px;box-sizing:border-box}
.npb-agenda-pro .npb-agenda-header{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:118px;margin:0 0 22px;padding:20px 28px;overflow:hidden;background:#051d35;border-radius:10px}
.npb-agenda-hero-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:3px solid #f57a16;border-radius:9px;color:#f57a16;font-size:31px;font-weight:900;line-height:1}
.npb-agenda-hero-copy{position:relative;z-index:2}.npb-agenda-pro .npb-agenda-header h1{font-size:31px;line-height:1.05}.npb-agenda-pro .npb-agenda-header-actions{position:relative;z-index:3;display:flex;gap:12px;align-items:center}.npb-agenda-pro .npb-agenda-header-actions .npb-button{min-height:44px;padding:0 18px;gap:8px;white-space:nowrap}
.npb-agenda-hero-balls{position:absolute;right:330px;bottom:-23px;width:210px;height:100px;opacity:.42;filter:drop-shadow(0 10px 10px rgba(0,0,0,.35));pointer-events:none}.npb-agenda-hero-balls i{position:absolute;display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;box-shadow:inset -10px -12px 18px rgba(0,0,0,.32),inset 8px 8px 14px rgba(255,255,255,.18);font-style:normal;font-weight:950;font-size:20px}.npb-agenda-hero-balls i:nth-child(1){left:16px;top:22px;background:#f1e2b8}.npb-agenda-hero-balls i:nth-child(2){left:68px;top:3px;background:#a72822}.npb-agenda-hero-balls i:nth-child(3){left:112px;top:28px;background:#111;color:#111}.npb-agenda-hero-balls i:nth-child(3):after{content:'8';display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#111;font-size:14px}
.npb-agenda-pro .npb-agenda-controls{grid-template-columns:minmax(0,1.35fr) minmax(210px,.7fr) minmax(260px,.85fr);gap:20px;margin-bottom:18px}.npb-agenda-pro .npb-agenda-search,.npb-agenda-pro .npb-agenda-filter{margin:0}.npb-agenda-pro .npb-agenda-search input,.npb-agenda-pro .npb-agenda-filter select,.npb-agenda-pro .npb-show-older-button{min-height:48px;padding:0 14px;border-radius:8px}.npb-agenda-pro .npb-agenda-history-control small{margin-top:5px}
.npb-agenda-displaybar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px;padding-top:14px;border-top:1px solid #e5e7eb}.npb-agenda-display-left{min-width:0}.npb-display-label{display:block;margin:0 0 8px 4px;font-weight:900;color:#051d35}.npb-agenda-pro .npb-agenda-legend{margin:0}.npb-agenda-pro .npb-legend-item{padding:7px 12px;background:#fff}.npb-agenda-pro .npb-view-switch{flex:0 0 auto;margin:0;padding:4px;border:0;background:#f5f6f8}.npb-agenda-pro .npb-view-switch>div{padding:0}.npb-agenda-pro .npb-view-switch button{min-height:40px;padding:8px 15px}.npb-agenda-pro .npb-view-switch button.is-active{background:#051d35}
/* Weekly cards: compact dark week rail + white event content */
.npb-agenda-pro .npb-week-timeline{gap:12px}.npb-agenda-pro .npb-week-group{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 7px 20px rgba(5,29,53,.07)}.npb-agenda-pro .npb-week-header{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;min-height:100%;padding:14px 10px;background:#051d35;color:#fff}.npb-agenda-pro .npb-week-number{width:auto;height:auto;border:0;background:transparent}.npb-agenda-pro .npb-week-number span{font-size:10px;color:#fff}.npb-agenda-pro .npb-week-number strong{margin-top:3px;font-size:32px}.npb-agenda-pro .npb-week-number:after{content:'▦';margin-top:8px;color:#f57a16;font-size:20px}.npb-agenda-pro .npb-week-header>div:nth-child(2){display:none}.npb-agenda-pro .npb-week-count{position:absolute;right:18px;top:14px;z-index:3;padding:6px 10px;background:#051d35;color:#fff}.npb-agenda-pro .npb-week-items{grid-column:2;grid-row:1}.npb-agenda-pro .npb-event-card{grid-template-columns:minmax(0,1fr) auto;gap:18px;min-height:92px;padding:16px 18px 14px 22px}.npb-agenda-pro .npb-event-marker{display:none}.npb-agenda-pro .npb-event-main{padding-right:78px}.npb-agenda-pro .npb-event-category{display:inline-flex;padding:4px 8px;border-radius:5px;background:#687487;color:#fff;font-size:9px}.npb-agenda-pro .npb-category-competition .npb-event-category{background:#2f66a3}.npb-agenda-pro .npb-category-cup .npb-event-category{background:#f17821}.npb-agenda-pro .npb-category-tournament .npb-event-category{background:#278a72}.npb-agenda-pro .npb-category-event .npb-event-category{background:#7353a4}.npb-agenda-pro .npb-category-holiday .npb-event-category{background:#b72d2d}.npb-agenda-pro .npb-event-title{font-size:16px;font-style:italic;text-transform:uppercase}.npb-agenda-pro .npb-event-meta{margin-top:7px;color:#051d35}.npb-agenda-pro .npb-event-meta b{color:#051d35}.npb-agenda-pro .npb-event-action{align-self:center}.npb-agenda-pro .npb-agenda-edit-cta{padding:9px 13px;border-radius:7px;color:#051d35!important}
@media(max-width:1000px){.npb-agenda-pro .npb-agenda-header{grid-template-columns:58px minmax(0,1fr)}.npb-agenda-pro .npb-agenda-header-actions{grid-column:1/-1}.npb-agenda-hero-balls{right:20px}.npb-agenda-displaybar{align-items:stretch;flex-direction:column}.npb-agenda-pro .npb-view-switch{align-self:flex-start}}
@media(max-width:760px){.npb-agenda-page.npb-agenda-pro{padding:0 10px 24px}.npb-agenda-pro .npb-agenda-header{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:16px}.npb-agenda-hero-icon{width:40px;height:40px;font-size:23px}.npb-agenda-pro .npb-agenda-header-actions{display:grid;grid-template-columns:1fr}.npb-agenda-pro .npb-agenda-header-actions .npb-button{width:100%;box-sizing:border-box;justify-content:center}.npb-agenda-hero-balls{display:none}.npb-agenda-pro .npb-agenda-controls{grid-template-columns:1fr;gap:12px}.npb-agenda-pro .npb-agenda-history-control{width:100%;justify-self:stretch}.npb-agenda-pro .npb-view-switch{width:100%;box-sizing:border-box}.npb-agenda-pro .npb-view-switch>div{display:grid;grid-template-columns:repeat(3,1fr)}.npb-agenda-pro .npb-week-group{grid-template-columns:76px minmax(0,1fr)}.npb-agenda-pro .npb-week-header{padding:10px 6px}.npb-agenda-pro .npb-week-number strong{font-size:27px}.npb-agenda-pro .npb-event-card{grid-template-columns:1fr;padding:14px}.npb-agenda-pro .npb-event-main{padding-right:0}.npb-agenda-pro .npb-week-count{display:none}.npb-agenda-pro .npb-event-action{justify-content:flex-start}.npb-agenda-pro .npb-agenda-edit-cta{width:auto!important}}

/* NPB Beheer 5.4.52 - Agenda month/week visual parity */
.npb-agenda-pro .npb-agenda-header{grid-template-columns:72px minmax(0,1fr) auto;padding-right:28px}
.npb-agenda-pro .npb-agenda-header-actions{margin-left:250px}
.npb-agenda-pro .npb-agenda-hero-balls{right:365px;bottom:-18px;opacity:.58}
.npb-agenda-pro .npb-month-group{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 7px 20px rgba(5,29,53,.07)}
.npb-agenda-pro .npb-month-header{padding:13px 18px;background:#051d35}
.npb-agenda-pro .npb-month-header h2{font-size:20px}
.npb-agenda-pro .npb-month-items{background:#fff}
.npb-agenda-pro .npb-month-event{grid-template-columns:96px minmax(0,1fr) auto;gap:20px;min-height:98px;padding:0 16px 0 0;background:#fff}
.npb-agenda-pro .npb-month-event:hover{background:#fbfcfd}
.npb-agenda-pro .npb-month-date{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:98px;border-radius:0;background:#051d35;color:#fff}
.npb-agenda-pro .npb-month-date:before{content:'DATUM';margin-bottom:3px;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;opacity:.78}
.npb-agenda-pro .npb-month-date strong{font-size:30px;line-height:1;color:#fff}
.npb-agenda-pro .npb-month-date span{margin-top:4px;color:#f57a16;font-size:11px;font-weight:900;text-transform:uppercase}
.npb-agenda-pro .npb-month-event-body{padding:14px 0}
.npb-agenda-pro .npb-month-event .npb-event-title{margin-top:5px;font-size:16px;font-style:italic;text-transform:uppercase;color:#051d35}
.npb-agenda-pro .npb-month-event .npb-event-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:8px;color:#051d35}
.npb-agenda-pro .npb-month-event .npb-event-meta span{display:inline-flex;align-items:center;gap:6px}
.npb-agenda-pro .npb-month-event .npb-event-meta span:first-child:before{content:'▦';color:#051d35;font-size:13px}
.npb-agenda-pro .npb-month-event .npb-event-meta span:nth-child(2):before{content:'⌖';color:#051d35;font-size:15px}
.npb-agenda-pro .npb-month-event .npb-event-action{align-self:center;display:flex;gap:8px;justify-content:flex-end}
.npb-agenda-pro .npb-month-event .npb-agenda-edit-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid #dfe3ea;border-radius:7px;background:#fff;color:#051d35!important}
.npb-agenda-pro .npb-month-event .npb-agenda-edit-cta:hover{border-color:#f57a16;color:#f57a16!important}
@media(max-width:1100px){.npb-agenda-pro .npb-agenda-header-actions{margin-left:80px}.npb-agenda-pro .npb-agenda-hero-balls{right:300px}}
@media(max-width:900px){.npb-agenda-pro .npb-agenda-header-actions{margin-left:0}.npb-agenda-pro .npb-agenda-hero-balls{right:18px;opacity:.28}.npb-agenda-pro .npb-month-event{grid-template-columns:76px minmax(0,1fr)}.npb-agenda-pro .npb-month-event .npb-event-action{grid-column:2;justify-content:flex-start;padding-bottom:14px}}
@media(max-width:600px){.npb-agenda-pro .npb-month-event{grid-template-columns:64px minmax(0,1fr);gap:12px}.npb-agenda-pro .npb-month-date strong{font-size:25px}.npb-agenda-pro .npb-month-event .npb-event-meta{display:grid;gap:5px}.npb-agenda-pro .npb-month-event .npb-event-action{grid-column:1/-1;padding:0 12px 12px}.npb-agenda-pro .npb-month-event .npb-agenda-edit-cta{width:100%;justify-content:center;box-sizing:border-box}}

/* NPB Beheer 5.4.53 - Agenda PRO definitive 6ft hero */
.npb-agenda-page.npb-agenda-pro{max-width:1240px}
.npb-agenda-pro .npb-agenda-header{
    grid-template-columns:72px minmax(0,1fr) auto;
    min-height:112px;
    padding:18px 28px;
    margin-bottom:20px;
    background:
        linear-gradient(90deg,rgba(5,29,53,.98) 0%,rgba(5,29,53,.93) 27%,rgba(5,29,53,.58) 58%,rgba(5,29,53,.72) 100%),
        url('../images/agenda-hero-6ft.png') center 56%/cover no-repeat;
    box-shadow:0 10px 28px rgba(5,29,53,.13);
}
.npb-agenda-pro .npb-agenda-header:after{content:none}
.npb-agenda-pro .npb-agenda-hero-copy{align-self:center}
.npb-agenda-pro .npb-agenda-header h1{margin:4px 0 0;font-size:32px;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.npb-agenda-pro .npb-agenda-header .npb-eyebrow{color:#f57a16;text-shadow:0 1px 5px rgba(0,0,0,.25)}
.npb-agenda-pro .npb-agenda-header-actions{margin-left:0;align-self:center}
.npb-agenda-pro .npb-agenda-hero-balls{display:none!important}
.npb-agenda-pro .npb-agenda-history-control small{display:none!important}
.npb-agenda-pro .npb-agenda-controls{align-items:end;margin-bottom:14px}
.npb-agenda-pro .npb-agenda-history-control{gap:0}
.npb-agenda-pro .npb-show-older-button{margin-bottom:0}
@media(max-width:900px){
 .npb-agenda-pro .npb-agenda-header{background-position:center center}
}
@media(max-width:760px){
 .npb-agenda-pro .npb-agenda-header{min-height:auto;padding:16px;background-position:58% center}
 .npb-agenda-pro .npb-agenda-header h1{font-size:26px}
}


/* NPB Beheer 5.4.54 - Agenda title first + aligned category/week badges */
.npb-agenda-pro .npb-month-event-body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.npb-agenda-pro .npb-month-event .npb-event-headingline{display:flex;align-items:center;gap:14px;min-width:0}
.npb-agenda-pro .npb-month-event .npb-event-headingline>.npb-event-title{flex:0 1 auto;margin:0;font-size:18px;line-height:1.2;white-space:normal}
.npb-agenda-pro .npb-month-event .npb-event-topline{display:grid;grid-template-columns:96px 70px auto;align-items:center;gap:8px;flex:0 0 auto;margin:0}
.npb-agenda-pro .npb-month-event .npb-event-category,.npb-agenda-pro .npb-month-event .npb-week-pill{box-sizing:border-box;justify-content:center;text-align:center;white-space:nowrap}
.npb-agenda-pro .npb-month-event .npb-event-category{width:96px}
.npb-agenda-pro .npb-month-event .npb-week-pill{width:70px}
.npb-agenda-pro .npb-month-event .npb-event-meta{margin-top:9px}
@media(max-width:900px){.npb-agenda-pro .npb-month-event .npb-event-headingline{align-items:flex-start;flex-direction:column;gap:7px}.npb-agenda-pro .npb-month-event .npb-event-topline{grid-template-columns:96px 70px auto}.npb-agenda-pro .npb-month-event .npb-event-headingline>.npb-event-title{font-size:17px}}
@media(max-width:600px){.npb-agenda-pro .npb-month-event .npb-event-headingline>.npb-event-title{font-size:16px}.npb-agenda-pro .npb-month-event .npb-event-topline{display:flex;flex-wrap:wrap}}

/* NPB Beheer 5.4.55 - clickable category pills; dropdown removed */
.npb-agenda-pro .npb-agenda-controls{grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);gap:20px}
.npb-agenda-pro .npb-legend-item{font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}
.npb-agenda-pro .npb-legend-item:hover{border-color:#f57a16;transform:translateY(-1px)}
.npb-agenda-pro .npb-legend-item.is-active{border-color:#f57a16;background:#fff7f0;box-shadow:0 0 0 2px rgba(245,122,22,.12);color:#051d35}
.npb-agenda-pro .npb-legend-item.is-active i{box-shadow:0 0 0 2px #fff,0 0 0 4px #f57a16}
@media(max-width:760px){.npb-agenda-pro .npb-agenda-controls{grid-template-columns:1fr}}


/* ==========================================================================
   5.4.69 - Invaller registreren · YOOtheme-style frontend
   ========================================================================== */

.npb-register-page{
    max-width:1280px;
}
.npb-register-page .npb-panel{
    border:1px solid #dce5ee;
    border-radius:14px;
    box-shadow:0 10px 32px rgba(25,57,94,.08);
}
.npb-register-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:28px;
    align-items:center;
    overflow:hidden;
    margin:0 0 18px;
    padding:38px 42px;
    border-radius:16px;
    background:
      radial-gradient(circle at 82% 30%,rgba(255,121,0,.28),transparent 25%),
      linear-gradient(125deg,#17365e 0%,#284d7e 56%,#17365e 100%);
    box-shadow:0 14px 38px rgba(16,46,82,.18);
    color:#fff;
}
.npb-register-hero::after{
    content:"";
    position:absolute;
    right:-55px;
    bottom:-100px;
    width:330px;
    height:330px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018);
}
.npb-register-hero-copy{
    position:relative;
    z-index:2;
}
.npb-register-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:#ff8a1d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.npb-register-hero h1{
    margin:0 0 8px;
    color:#fff;
    font-size:clamp(34px,4vw,54px);
    font-style:italic;
    line-height:1;
    text-transform:uppercase;
}
.npb-register-hero p{
    max-width:760px;
    margin:0;
    color:#eaf1f8;
    font-size:16px;
    line-height:1.65;
}
.npb-register-hero-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}
.npb-register-hero-badges span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(5,27,52,.28);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.npb-register-hero-badges i{
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#28a965;
    color:#fff;
    font-style:normal;
}
.npb-register-hero-mark{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:145px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:15px;
    background:rgba(7,31,57,.34);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.npb-register-hero-icon{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    margin-bottom:8px;
    border-radius:50%;
    background:#ff7900;
    color:#fff;
    font-size:28px;
    font-weight:900;
}
.npb-register-hero-mark strong{
    color:#fff;
    font-size:18px;
    font-style:italic;
    letter-spacing:.04em;
}
.npb-register-hero-mark span{
    color:#a9bdd2;
    font-size:10px;
    font-weight:900;
    letter-spacing:.18em;
}
.npb-register-how{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}
.npb-register-how article{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:17px 18px;
    border:1px solid #dce6f0;
    border-radius:13px;
    background:#fff;
    box-shadow:0 5px 18px rgba(24,61,99,.05);
}
.npb-register-step{
    display:grid;
    place-items:center;
    flex:0 0 35px;
    width:35px;
    height:35px;
    border-radius:10px;
    background:#284d7e;
    color:#fff;
    font-weight:900;
}
.npb-register-how strong,
.npb-register-how small{
    display:block;
}
.npb-register-how strong{
    margin:1px 0 4px;
    color:#173b60;
    font-size:13px;
}
.npb-register-how small{
    color:#6f8295;
    font-size:11px;
    line-height:1.45;
}
.npb-register-rules{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    padding:16px 18px;
    border:1px solid #f2d2b1;
    border-radius:13px;
    background:linear-gradient(90deg,#fff8f1,#fff);
}
.npb-register-rules-title strong{
    display:block;
    color:#28405d;
    font-size:13px;
}
.npb-register-page .npb-register-rulechips{
    margin:0;
    justify-content:flex-end;
}
.npb-register-page .npb-register-rulechips span{
    border-color:#ead3bd;
    background:#fff;
    color:#6a4d31;
}
.npb-register-page .npb-captain-register{
    padding:0;
    border-radius:15px;
}
.npb-register-page .npb-captain-login{
    padding:30px 32px;
    background:
      linear-gradient(110deg,#fff 0%,#fff 52%,#f3f8fd 100%);
}
.npb-register-page .npb-captain-login > div{
    position:relative;
    padding-left:58px;
}
.npb-register-page .npb-captain-login > div::before{
    content:"🔐";
    position:absolute;
    left:0;
    top:2px;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:12px;
    background:#e9f2fb;
    font-size:21px;
}
.npb-register-page .npb-captain-login h2{
    color:#f36f00;
    font-size:30px;
    font-style:italic;
    text-transform:uppercase;
}
.npb-register-page .npb-captain-login-form{
    padding:18px;
    border:1px solid #d9e5ef;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 22px rgba(20,58,94,.07);
}
.npb-register-page .npb-pin-row input{
    border-radius:9px;
    border-color:#bcd0e3;
}
.npb-register-page .npb-button{
    min-height:42px;
    border-radius:9px;
    background:#284d7e;
    font-weight:900;
}
.npb-register-page .npb-button:hover{
    background:#1f3d65;
}
.npb-register-page .npb-captain-session{
    padding:22px 24px 16px;
    background:#f8fbfd;
}
.npb-register-page .npb-register-toolbar{
    padding:0 24px;
}
.npb-register-page .npb-player-register-list{
    padding:0 24px 24px;
}
.npb-register-page .npb-register-player{
    border-radius:12px;
    background:linear-gradient(90deg,#fff,#f8fbfe);
}
.npb-register-page .npb-register-player:hover{
    border-color:#89afd0;
    box-shadow:0 7px 20px rgba(31,73,110,.10);
}
.npb-register-page .npb-register-avatar{
    background:linear-gradient(135deg,#dcecff,#edf6ff);
    color:#1f65a0;
}
@media(max-width:850px){
    .npb-register-hero{
        grid-template-columns:1fr;
        padding:28px 24px;
    }
    .npb-register-hero-mark{
        display:none;
    }
    .npb-register-how{
        grid-template-columns:1fr;
    }
    .npb-register-rules{
        align-items:flex-start;
        flex-direction:column;
    }
    .npb-register-page .npb-register-rulechips{
        justify-content:flex-start;
    }
}
@media(max-width:650px){
    .npb-register-hero h1{
        font-size:34px;
    }
    .npb-register-page .npb-captain-login{
        padding:22px 18px;
    }
    .npb-register-page .npb-captain-login > div{
        padding-left:0;
    }
    .npb-register-page .npb-captain-login > div::before{
        position:static;
        margin-bottom:10px;
    }
}

/* 5.4.79 - Invaller registreren: secundaire acties duidelijk zichtbaar */
.npb-register-page #npb-captain-logout,
.npb-register-page .npb-register-confirm-actions [data-register-close]{
    background:#ffffff!important;
    color:#173e70!important;
    border:1px solid #9fb4cc!important;
    opacity:1!important;
    box-shadow:0 2px 7px rgba(23,62,112,.08)!important;
}
.npb-register-page #npb-captain-logout:hover,
.npb-register-page .npb-register-confirm-actions [data-register-close]:hover{
    background:#eef4fa!important;
    color:#102f57!important;
    border-color:#6f8eaf!important;
}


/* ==========================================================================
   5.4.79 - Audit invalbeurten: leesbaarheid + geen horizontale desktop-scroll
   ========================================================================== */
.npb-inval #npb-export-csv{
    background:#ffffff!important;
    color:#173b68!important;
    border:1px solid #8fa9c3!important;
    opacity:1!important;
    font-weight:800!important;
    box-shadow:0 2px 6px rgba(23,59,104,.08);
}
.npb-inval #npb-export-csv:hover,
.npb-inval #npb-export-csv:focus{
    background:#edf4fb!important;
    color:#0b2d55!important;
    border-color:#52779d!important;
}

/* Audit PRO 5.28.06 - compact overzicht: alleen kerninformatie per speler.
   Doelteam/Doelklasse en lange statustoelichtingen zijn bewust uit de tabel gehaald. */
.npb-inval .npb-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:visible;
}
.npb-inval .npb-audit-table{
    width:100%;
    min-width:0!important;
    table-layout:fixed;
}
.npb-inval .npb-audit-table th,
.npb-inval .npb-audit-table td{
    padding:12px 12px;
    font-size:14px;
    line-height:1.4;
    overflow-wrap:normal;
    word-break:normal;
    white-space:normal;
    vertical-align:middle;
}
.npb-inval .npb-audit-table th:nth-child(1),
.npb-inval .npb-audit-table td:nth-child(1){width:5%;text-align:center}
.npb-inval .npb-audit-table th:nth-child(2),
.npb-inval .npb-audit-table td:nth-child(2){width:14%}
.npb-inval .npb-audit-table th:nth-child(3),
.npb-inval .npb-audit-table td:nth-child(3){width:15%}
.npb-inval .npb-audit-table th:nth-child(4),
.npb-inval .npb-audit-table td:nth-child(4){width:24%}
.npb-inval .npb-audit-table th:nth-child(5),
.npb-inval .npb-audit-table td:nth-child(5){width:18%}
.npb-inval .npb-audit-table th:nth-child(6),
.npb-inval .npb-audit-table td:nth-child(6){width:13%}
.npb-inval .npb-audit-table th:nth-child(7),
.npb-inval .npb-audit-table td:nth-child(7){width:11%}
.npb-inval .npb-audit-table td:nth-child(7) small{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
}
.npb-inval .npb-audit-status-compact{
    white-space:normal;
}
.npb-inval .npb-audit-status-compact .npb-type-badge,
.npb-inval .npb-audit-status-compact .npb-status{
    display:inline-flex;
    margin:2px 5px 2px 0;
    vertical-align:middle;
}
.npb-inval .npb-audit-counts{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
}
.npb-inval .npb-audit-counts > *{flex:0 0 auto}
@media (max-width:900px){
    .npb-inval .npb-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .npb-inval .npb-audit-table{min-width:820px!important;table-layout:fixed}
    .npb-inval .npb-audit-table th,
    .npb-inval .npb-audit-table td{font-size:13px;padding:10px 9px}
}


/* ==========================================================================
   5.4.83 - Player Center teamlink + Team Center compacte overgang
   ========================================================================== */
#npb-player-pro a[data-player-pro-team-link]{
    color:#dbefff!important;
    font-weight:800!important;
    text-decoration:none!important;
    text-decoration-thickness:1px!important;
    text-underline-offset:3px!important;
    transition:color .15s ease, text-decoration-color .15s ease!important;
}
#npb-player-pro a[data-player-pro-team-link]:hover,
#npb-player-pro a[data-player-pro-team-link]:focus-visible{
    color:#ff8a1f!important;
    text-decoration:underline!important;
    text-decoration-color:#ff8a1f!important;
    outline:none!important;
}
#npb-player-pro[data-player-theme="light"] a[data-player-pro-team-link],
.npb-competitions-public[data-competition-theme="light"] #npb-player-pro a[data-player-pro-team-link]{
    color:#174b7a!important;
}
#npb-player-pro[data-player-theme="light"] a[data-player-pro-team-link]:hover,
#npb-player-pro[data-player-theme="light"] a[data-player-pro-team-link]:focus-visible,
.npb-competitions-public[data-competition-theme="light"] #npb-player-pro a[data-player-pro-team-link]:hover,
.npb-competitions-public[data-competition-theme="light"] #npb-player-pro a[data-player-pro-team-link]:focus-visible{
    color:#d85f00!important;
}

/* Verborgen centra mogen nooit resterende hoogte/marges veroorzaken. */
#npb-player-pro[hidden],
.npb-team-center[hidden]{
    display:none!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}


/* ==========================================================================
   5.4.83 - Live Center: Live Card PNG + afgelopen 7 dagen
   ========================================================================== */
.npb-livecenter-completed-section{
    margin-top:12px;
}
.npb-livecenter-completed-days{
    display:grid;
    gap:10px;
}
.npb-livecenter-completed-match{
    grid-template-columns:70px minmax(110px,.75fr) minmax(0,1fr) 86px minmax(0,1fr)!important;
}
.npb-livecenter-completed-score{
    justify-self:center;
    min-width:74px;
    padding:5px 8px;
    border-radius:8px;
    text-align:center;
    font-weight:950;
    color:#fff;
    background:#ff7900;
}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-completed-score{
    color:#fff;
}
.npb-livecenter-share-menu [data-npb-live-card-png]{
    color:#ffb36b!important;
    font-weight:900!important;
}
.npb-livecenter-share-menu [data-npb-live-card-png]:hover{
    color:#fff!important;
    background:rgba(255,121,0,.16)!important;
}
@media (max-width:700px){
    .npb-livecenter-completed-match{
        grid-template-columns:58px minmax(0,1fr) 70px!important;
        grid-template-rows:auto auto!important;
        row-gap:4px!important;
    }
    .npb-livecenter-completed-match .npb-livecenter-upcoming-competition{
        grid-column:2 / 4!important;
        grid-row:1!important;
    }
    .npb-livecenter-completed-match .npb-livecenter-upcoming-home{
        grid-column:1 / 2!important;
        grid-row:2!important;
    }
    .npb-livecenter-completed-match .npb-livecenter-completed-score{
        grid-column:2!important;
        grid-row:2!important;
    }
    .npb-livecenter-completed-match .npb-livecenter-upcoming-away{
        grid-column:3!important;
        grid-row:2!important;
    }
}

/* 5.4.87 Live Card configurator */
.npb-livecard-config[hidden]{display:none!important}.npb-livecard-config{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px}.npb-livecard-config-backdrop{position:absolute;inset:0;background:rgba(1,13,25,.82);backdrop-filter:blur(7px)}.npb-livecard-config-dialog{position:relative;width:min(1180px,96vw);max-height:94vh;overflow:auto;background:#071f34;color:#fff;border:1px solid rgba(122,181,224,.28);border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.npb-livecard-config-head{display:flex;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid rgba(255,255,255,.12)}.npb-livecard-config-head small{color:#ff7900;font-weight:900}.npb-livecard-config-head h2{margin:3px 0 2px;font-size:28px;font-weight:950;font-style:italic}.npb-livecard-config-head p{margin:0;color:#9fbbd1}.npb-livecard-config-head>button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#0d3555;color:#fff;font-size:28px;cursor:pointer}.npb-livecard-config-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;padding:24px}.npb-livecard-preview{display:grid;place-items:center;align-self:start;background:#031321;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px}.npb-livecard-preview canvas{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.35)}.npb-livecard-options{display:grid;gap:13px;align-content:start}.npb-livecard-options>label{display:grid;gap:6px;font-weight:850;font-size:13px;color:#c9dbea}.npb-livecard-options select{width:100%;background:#0c304e;color:#fff;border:1px solid #315a78;border-radius:9px;padding:10px}.npb-livecard-checks{display:grid;gap:8px;padding:12px;background:#0a2a45;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.npb-livecard-checks label{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:800}.npb-livecard-checks input{accent-color:#ff7900}.npb-livecard-config-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid rgba(255,255,255,.1)}.npb-livecard-config-actions button{border-radius:10px;padding:11px 18px;font-weight:900;cursor:pointer}.npb-livecard-secondary{border:1px solid #456780;background:transparent;color:#fff}.npb-livecard-primary{border:1px solid #ff7900;background:#ff7900;color:#fff}.npb-livecard-config-open{overflow:hidden}@media(max-width:850px){.npb-livecard-config{padding:8px}.npb-livecard-config-body{grid-template-columns:1fr;padding:14px}.npb-livecard-options{grid-template-columns:1fr 1fr}.npb-livecard-checks{grid-column:1/-1}.npb-livecard-config-head{padding:16px}.npb-livecard-config-head h2{font-size:21px}}@media(max-width:520px){.npb-livecard-options{grid-template-columns:1fr}}


/* 5.4.87 - Live Card partijen optie */
.npb-livecard-options label:has(input[data-lc-option="games"]){
    border-color:rgba(255,121,0,.32)!important;
}


/* 5.4.87 - Live Card 12 partijen + delen met URL */
.npb-livecard-share{
    border-color:#3f6f94!important;
    color:#dceeff!important;
}
.npb-livecard-share:hover{
    border-color:#ff7900!important;
    color:#ffb36b!important;
}


/* ==========================================================================
   5.5.00 - iPad/Tablet Team Center readability + layout
   ========================================================================== */
@media (min-width: 701px) and (max-width: 1500px) {
  #npb-team-pro .npb-team-pro-actions {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #npb-team-pro .npb-team-pro-grid {grid-template-columns:1fr !important;gap:16px !important;padding:18px 20px 0 !important;}
  #npb-team-pro .npb-team-pro-main {grid-row:1 !important;order:1 !important;width:100% !important;min-height:0 !important;}
  #npb-team-pro .npb-team-pro-sidebar {grid-row:2 !important;order:2 !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;width:100% !important;}
  #npb-team-pro .npb-team-pro-card-head {display:grid !important;grid-template-columns:1fr !important;align-items:start !important;gap:12px !important;}
  #npb-team-pro .npb-team-pro-card-head h3 {width:100% !important;margin:0 !important;}
  #npb-team-pro .npb-team-pro-card-head-actions {width:100% !important;justify-content:flex-start !important;flex-wrap:wrap !important;}
  #npb-team-pro .npb-team-pro-stats {grid-template-columns:repeat(5,minmax(82px,1fr)) !important;gap:8px !important;}
  #npb-team-pro .npb-team-pro-stats span {overflow:visible !important;white-space:normal !important;text-overflow:clip !important;font-size:.76rem !important;line-height:1.2 !important;font-weight:700 !important;}
  #npb-team-pro[data-theme="dark"] .npb-team-pro-stats span {color:#bcd0e1 !important;}
  #npb-team-pro[data-theme="dark"] .npb-team-pro-card dd,
  #npb-team-pro[data-theme="dark"] .npb-team-pro-results-table td,
  #npb-team-pro[data-theme="dark"] .npb-team-pro-action small {color:#b8cde0 !important;}
}
@media (min-width:701px) and (max-width:900px) {
  #npb-team-pro .npb-team-pro-sidebar {grid-template-columns:1fr !important;}
  #npb-team-pro .npb-team-pro-stats {grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}


/* ==========================================================================
   5.5.00 - Positieverloop teamvergelijking
   ========================================================================== */
.npb-team-pro-position-compare{
    display:grid;
    grid-template-columns:minmax(220px,320px) minmax(0,1fr);
    gap:10px 18px;
    align-items:end;
    margin:12px 0 6px;
}
.npb-team-pro-position-compare>label{
    display:grid;
    gap:5px;
}
.npb-team-pro-position-compare>label>span{
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
}
.npb-team-pro-position-compare select{
    width:100%;
    min-height:38px;
    padding:6px 34px 6px 10px;
    border:1px solid #315d7b;
    border-radius:8px;
    background:#082a46;
    color:#f4f9fd;
    font-weight:800;
}
.npb-team-pro-position-legend{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    align-items:center;
    min-height:38px;
}
.npb-team-pro-position-legend>span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:.78rem;
    font-weight:850;
}
.npb-team-pro-position-legend i{
    width:11px;
    height:11px;
    border-radius:50%;
    background:#ff7900;
    box-shadow:0 0 0 3px rgba(255,121,0,.14);
}
.npb-team-pro-position-legend .is-compare i{
    background:#4db4ff;
    box-shadow:0 0 0 3px rgba(77,180,255,.14);
}
.npb-team-pro-position-compare-summary{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    padding:8px;
    border:1px solid rgba(77,180,255,.22);
    border-radius:9px;
    background:rgba(77,180,255,.07);
}
.npb-team-pro-position-compare-summary>span{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
    padding:5px 8px;
}
.npb-team-pro-position-compare-summary small{
    font-size:.68rem;
    opacity:.82;
}
.npb-team-pro-position-compare-summary strong{
    color:#4db4ff;
    font-size:.9rem;
}
#npb-team-pro[data-theme="light"] .npb-team-pro-position-compare select{
    background:#fff;
    color:#173b68;
    border-color:#b9cad9;
}
#npb-team-pro[data-theme="light"] .npb-team-pro-position-compare-summary{
    background:#eef7ff;
    border-color:#bfddf6;
}
#npb-team-pro[data-theme="light"] .npb-team-pro-position-compare-summary strong{
    color:#1976d2;
}

/* 5.5.00 - Team Center compacte tablet-topbar */
@media (min-width:601px) and (max-width:1180px){
    #npb-team-pro .npb-team-pro-topbar{
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        min-height:0!important;
        padding:8px 10px!important;
    }
    #npb-team-pro .npb-team-pro-top-actions{
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        width:100%!important;
        margin:0!important;
    }
    #npb-team-pro .npb-team-pro-theme-toggle,
    #npb-team-pro .npb-team-pro-close{
        margin:0!important;
        flex:0 0 auto!important;
    }
}
@media (max-width:760px){
    .npb-team-pro-position-compare{
        grid-template-columns:1fr;
    }
    .npb-team-pro-position-compare-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* ==========================================================================
   5.5.00 - Locaties PRO dark-theme contrast
   ========================================================================== */
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf,
[data-competition-theme="dark"] .npb-location-matches-pdf {
    background: #ff7900 !important;
    border-color: #ff7900 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf span,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf span,
[data-competition-theme="dark"] .npb-location-matches-pdf span {
    color: #ffffff !important;
    opacity: 1 !important;
}
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf svg,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf svg,
[data-competition-theme="dark"] .npb-location-matches-pdf svg {
    color: #ffffff !important;
    fill: none !important;
    stroke: #ffffff !important;
    opacity: 1 !important;
}
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf:hover,
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf:focus,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf:hover,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf:focus,
[data-competition-theme="dark"] .npb-location-matches-pdf:hover,
[data-competition-theme="dark"] .npb-location-matches-pdf:focus {
    background: #e96f00 !important;
    border-color: #e96f00 !important;
    color: #ffffff !important;
}

/* Oranje primaire acties in Locaties PRO: houd tekst/icoon leesbaar in donker thema. */
.npb-location-page[data-theme="dark"] a[class*="primary"],
.npb-location-page[data-theme="dark"] button[class*="primary"] {
    opacity: 1;
}


/* ==========================================================================
   5.5.00 - Locaties PRO PDF button definitieve dark-theme fix
   ========================================================================== */

/* Basis: forceer altijd leesbare witte content op de oranje PDF-knop. */
.npb-location-matches-pdf,
.npb-location-matches-pdf:link,
.npb-location-matches-pdf:visited,
.npb-location-matches-pdf:hover,
.npb-location-matches-pdf:focus,
.npb-location-matches-pdf:active {
    background: #ff7900 !important;
    border-color: #ff7900 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

.npb-location-matches-pdf span,
.npb-location-matches-pdf:link span,
.npb-location-matches-pdf:visited span,
.npb-location-matches-pdf:hover span,
.npb-location-matches-pdf:focus span,
.npb-location-matches-pdf:active span {
    color: #ffffff !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}

.npb-location-matches-pdf svg,
.npb-location-matches-pdf:link svg,
.npb-location-matches-pdf:visited svg,
.npb-location-matches-pdf:hover svg,
.npb-location-matches-pdf:focus svg,
.npb-location-matches-pdf:active svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
    fill: none !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Dark-theme hover/focus: iets donkerder oranje, wit blijft wit. */
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf:hover,
.npb-location-page[data-theme="dark"] .npb-location-matches-pdf:focus,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf:hover,
.npb-location-page.npb-theme-dark .npb-location-matches-pdf:focus,
html.dark .npb-location-matches-pdf:hover,
html.dark .npb-location-matches-pdf:focus,
body.dark .npb-location-matches-pdf:hover,
body.dark .npb-location-matches-pdf:focus {
    background: #e96f00 !important;
    border-color: #e96f00 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}


/* ==========================================================================
   5.5.00 - Locaties PRO agenda-abonnement
   ========================================================================== */
.npb-location-calendar-subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #2e628c;
    border-radius: 8px;
    background: #0d3557;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700;
    white-space: nowrap;
    opacity: 1 !important;
    -webkit-text-fill-color: #ffffff !important;
}
.npb-location-calendar-subscribe svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #ff7900;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}
.npb-location-calendar-subscribe:hover,
.npb-location-calendar-subscribe:focus,
.npb-location-calendar-subscribe:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.npb-location-calendar-subscribe:hover,
.npb-location-calendar-subscribe:focus {
    background: #12466f;
    border-color: #ff7900;
}
.npb-location-calendar-subscribe:hover svg,
.npb-location-calendar-subscribe:focus svg,
.npb-location-calendar-subscribe:visited svg {
    stroke: #ff7900 !important;
}
[data-location-theme="light"] .npb-location-calendar-subscribe {
    background: #ffffff;
    border-color: #ff7900;
    color: #07304f !important;
    -webkit-text-fill-color: #07304f !important;
}
[data-location-theme="light"] .npb-location-calendar-subscribe:hover,
[data-location-theme="light"] .npb-location-calendar-subscribe:focus {
    background: #fff4e9;
    color: #07304f !important;
    -webkit-text-fill-color: #07304f !important;
}
@media (max-width: 760px) {
    .npb-location-team-actions {
        flex-wrap: wrap;
    }
    .npb-location-calendar-subscribe,
    .npb-location-matches-pdf {
        flex: 1 1 auto;
    }
}


/* ==========================================================================
   5.5.00 - Live Center iPhone / smalle mobiele layout
   ========================================================================== */
@media (max-width: 680px) {
    .npb-livecenter {
        padding: 8px 10px 28px !important;
    }

    /* Toolbar compacter en beter leesbaar. */
    .npb-livecenter-toolbar {
        gap: 10px !important;
        padding: 10px !important;
    }
    .npb-livecenter-tools {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .npb-livecenter-theme-toggle,
    .npb-livecenter-refresh {
        min-height: 42px !important;
        font-size: .82rem !important;
    }

    /* Live wedstrijd: vaste mobiele structuur.
       Regel 1 = LIVE + competitie/meta
       Regel 2 = thuis | score | uit
       Delen blijft smalle vaste kolom rechts. */
    .npb-livecenter-match-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    .npb-livecenter-match-main {
        display: grid !important;
        grid-template-columns: minmax(78px, auto) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 10px 10px !important;
        align-items: center !important;
        min-width: 0 !important;
        padding: 12px 10px 13px !important;
    }

    .npb-livecenter-live-badge {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: max-content !important;
        padding: 6px 10px !important;
        font-size: .76rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .npb-livecenter-match-meta {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        align-self: center !important;
    }
    .npb-livecenter-match-meta strong {
        display: block !important;
        max-width: 100% !important;
        color: #72b8ff !important;
        font-size: .82rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .npb-livecenter-match-meta small {
        display: block !important;
        margin-top: 3px !important;
        color: var(--lc-muted) !important;
        font-size: .75rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Wedstrijdscore krijgt de volledige tweede rij met drie nette kolommen. */
    .npb-livecenter-home {
        grid-column: 1 !important;
        grid-row: 2 !important;
        align-self: center !important;
        text-align: left !important;
        padding: 0 !important;
        min-width: 0 !important;
        font-size: .84rem !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }

    .npb-livecenter-score {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        justify-self: center !important;
        z-index: 2 !important;
        min-width: 68px !important;
        padding: 7px 10px !important;
        gap: 6px !important;
        font-size: 1rem !important;
        line-height: 1 !important;
        border-radius: 10px !important;
        pointer-events: none !important;
    }

    .npb-livecenter-away {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
        align-self: center !important;
        text-align: right !important;
        min-width: 0 !important;
        max-width: 44% !important;
        font-size: .84rem !important;
        line-height: 1.12 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }

    /* Geef thuisteam links voldoende veilige ruimte naast de gecentreerde score. */
    .npb-livecenter-home {
        max-width: 44% !important;
    }

    .npb-livecenter-progress,
    .npb-livecenter-chevron {
        display: none !important;
    }

    .npb-livecenter-share-toggle {
        width: 44px !important;
        min-width: 44px !important;
        min-height: 100% !important;
        padding: 0 !important;
        border-left: 1px solid var(--lc-line) !important;
    }
    .npb-livecenter-share-toggle .npb-share-icon {
        width: 21px !important;
        height: 21px !important;
    }

    /* Details: mobiel leesbaar, geen samengeperste spelersnamen. */
    .npb-livecenter-details {
        padding: 9px !important;
    }
    .npb-livecenter-game {
        grid-template-columns: 24px minmax(0, 1fr) 48px minmax(0, 1fr) !important;
        gap: 7px !important;
        min-height: 46px !important;
        padding: 6px 7px !important;
    }
    .npb-livecenter-game-player {
        font-size: .78rem !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* Hero iets compacter maar niet ten koste van leesbaarheid. */
    .npb-livecenter-hero {
        padding: 17px 16px !important;
        gap: 12px !important;
    }
    .npb-livecenter-hero h1 {
        font-size: 1.72rem !important;
    }
    .npb-livecenter-hero p {
        font-size: .84rem !important;
        line-height: 1.45 !important;
    }

    .npb-livecenter-section {
        padding: 13px 10px !important;
    }
}

/* Extra smalle iPhones */
@media (max-width: 390px) {
    .npb-livecenter-match-main {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 9px 8px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .npb-livecenter-live-badge {
        font-size: .72rem !important;
        padding: 6px 8px !important;
    }
    .npb-livecenter-match-meta strong {
        font-size: .78rem !important;
    }
    .npb-livecenter-match-meta small {
        font-size: .7rem !important;
    }
    .npb-livecenter-home,
    .npb-livecenter-away {
        font-size: .78rem !important;
        max-width: 42% !important;
    }
    .npb-livecenter-score {
        font-size: .94rem !important;
        min-width: 64px !important;
        padding: 7px 8px !important;
    }
}


/* ==========================================================================
   5.5.00 - Live Center iPhone final alignment
   ========================================================================== */
@media (max-width: 680px) {
    .npb-livecenter-match-main {
        grid-template-columns: minmax(78px,auto) minmax(0,1fr) !important;
        grid-template-rows: auto auto auto !important;
        row-gap: 9px !important;
        column-gap: 10px !important;
        padding: 12px 11px 14px !important;
    }
    .npb-livecenter-home,
    .npb-livecenter-away {
        grid-row: 2 !important;
        max-width: none !important;
        width: 100% !important;
        font-size: .84rem !important;
        line-height: 1.16 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .npb-livecenter-home {
        grid-column: 1 !important;
        justify-self: stretch !important;
        text-align: left !important;
    }
    .npb-livecenter-away {
        grid-column: 2 !important;
        justify-self: stretch !important;
        text-align: right !important;
    }
    .npb-livecenter-score {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        position: static !important;
        justify-self: center !important;
        min-width: 76px !important;
        padding: 8px 12px !important;
        font-size: 1.04rem !important;
        border-radius: 10px !important;
    }
}
@media (max-width: 390px) {
    .npb-livecenter-match-main {
        grid-template-columns: minmax(82px,.9fr) minmax(0,1.1fr) !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
    .npb-livecenter-home,
    .npb-livecenter-away {
        font-size: .79rem !important;
    }
}


/* =========================================================
   NPB Beheer 5.5.04 — Live Center Pool Header
   Goedgekeurde rood/geel poolbiljart afbeelding daadwerkelijk meegeleverd.
   ========================================================= */
.npb-livecenter-hero{
    position:relative;
    overflow:hidden;
    min-height:210px;
    align-items:flex-end;
    background:
      linear-gradient(90deg,rgba(2,29,51,.96) 0%,rgba(2,29,51,.88) 42%,rgba(2,29,51,.42) 72%,rgba(2,29,51,.24) 100%),
      url('../images/livecenter-pool-header.png') center 25%/cover no-repeat !important;
}
.npb-livecenter-hero > *{position:relative;z-index:1}
.npb-livecenter[data-npb-theme="light"] .npb-livecenter-hero{
    background:
      linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(245,250,255,.86) 43%,rgba(245,250,255,.38) 74%,rgba(245,250,255,.18) 100%),
      url('../images/livecenter-pool-header.png') center 25%/cover no-repeat !important;
}
@media (max-width:680px){
 .npb-livecenter-hero{min-height:190px;background-position:62% center !important}
}


/* ==========================================================================
   5.5.04 - Live Center brede poolfoto hero
   ========================================================================== */

/* De foto staat nu los van de Live Center titelkaart. */
.npb-livecenter-photo-hero {
    position: relative;
    min-height: 270px;
    overflow: hidden;
    border: 1px solid var(--lc-line);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(2,18,31,.10) 0%, rgba(2,18,31,.10) 52%, rgba(2,18,31,.62) 100%),
        url('../images/livecenter-pool-header.png') center 48% / cover no-repeat;
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

/* Bediening bovenop de foto, zoals in het goedgekeurde voorbeeld. */
.npb-livecenter-photo-hero .npb-livecenter-toolbar {
    position: absolute !important;
    z-index: 3;
    top: 16px;
    left: 16px;
    right: auto;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 1px solid rgba(129,188,232,.30) !important;
    border-radius: 999px !important;
    background: rgba(3,28,49,.82) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.npb-livecenter-photo-hero .npb-livecenter-tools {
    width: auto !important;
    gap: 8px !important;
}

/* Eén enkele echte Live Center kaart; geen foto of dubbele content meer in deze kaart. */
.npb-livecenter .npb-livecenter-hero {
    position: relative !important;
    z-index: 4;
    min-height: 0 !important;
    margin: -54px 18px 12px !important;
    padding: 20px 22px !important;
    overflow: visible !important;
    align-items: center !important;
    background: linear-gradient(120deg,#0a355a 0%,#0d4d83 100%) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.20);
}

.npb-livecenter[data-npb-theme="light"] .npb-livecenter-photo-hero {
    background:
        linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 56%, rgba(230,240,248,.55) 100%),
        url('../images/livecenter-pool-header.png') center 48% / cover no-repeat;
}

.npb-livecenter[data-npb-theme="light"] .npb-livecenter-photo-hero .npb-livecenter-toolbar {
    background: rgba(248,252,255,.88) !important;
    border-color: rgba(95,139,173,.35) !important;
}

.npb-livecenter[data-npb-theme="light"] .npb-livecenter-hero {
    background: linear-gradient(120deg,#f7fbff 0%,#e9f3fb 100%) !important;
}

/* Desktop: foto mag echt als brede header ademen. */
@media (min-width: 1001px) {
    .npb-livecenter-photo-hero {
        min-height: 290px;
        background-position: center 46%;
    }
}

/* Tablet */
@media (max-width: 1000px) {
    .npb-livecenter-photo-hero {
        min-height: 230px;
        background-position: 58% 48%;
    }
    .npb-livecenter .npb-livecenter-hero {
        margin: -44px 14px 12px !important;
    }
}

/* iPhone / mobiel: lagere hero, ballen blijven zichtbaar rechts. */
@media (max-width: 680px) {
    .npb-livecenter-photo-hero {
        min-height: 178px;
        border-radius: 12px;
        background-position: 62% center;
    }

    .npb-livecenter-photo-hero .npb-livecenter-toolbar {
        top: 10px;
        left: 10px;
        right: 10px;
        width: auto !important;
        border-radius: 12px !important;
        padding: 7px !important;
    }

    .npb-livecenter-photo-hero .npb-livecenter-tools {
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }

    .npb-livecenter .npb-livecenter-hero {
        margin: -30px 8px 10px !important;
        padding: 16px !important;
        border-radius: 12px !important;
    }
}


/* ==========================================================================
   5.5.04 - Live Center hero structure FIX
   Fotohero bevat uitsluitend de toolbar; alle Live Center inhoud staat eronder.
   ========================================================================== */

.npb-livecenter-photo-hero {
    position: relative !important;
    display: block !important;
    min-height: 290px !important;
    margin: 0 0 0 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--lc-line) !important;
    border-radius: 14px !important;
    background:
        linear-gradient(180deg, rgba(2,18,31,.06) 0%, rgba(2,18,31,.10) 55%, rgba(2,18,31,.62) 100%),
        url('../images/livecenter-pool-header.png') center 46% / cover no-repeat !important;
}

.npb-livecenter-photo-hero > *:not(.npb-livecenter-toolbar) {
    display: none !important;
}

.npb-livecenter-photo-hero .npb-livecenter-toolbar {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 5 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 7px 9px !important;
}

/* De enige Live Center titelkaart. */
.npb-livecenter > .npb-livecenter-hero {
    position: relative !important;
    z-index: 6 !important;
    margin: -54px 18px 12px !important;
}

/* De live sectie mag nooit in/achter de fotohero terechtkomen. */
.npb-livecenter > .npb-livecenter-section,
.npb-livecenter > section:not(.npb-livecenter-photo-hero):not(.npb-livecenter-toolbar) {
    position: relative;
    z-index: 2;
}

@media (max-width: 1000px) {
    .npb-livecenter-photo-hero {
        min-height: 230px !important;
        background-position: 58% center !important;
    }
    .npb-livecenter > .npb-livecenter-hero {
        margin: -44px 14px 12px !important;
    }
}

@media (max-width: 680px) {
    .npb-livecenter-photo-hero {
        min-height: 178px !important;
        background-position: 62% center !important;
    }
    .npb-livecenter-photo-hero .npb-livecenter-toolbar {
        top: 10px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
    }
    .npb-livecenter > .npb-livecenter-hero {
        margin: -30px 8px 10px !important;
    }
}

/* 5.5.04 definitive Live Center pool hero */
.npb-livecenter-photo-hero{
 background-image:url('../images/livecenter-pool-header.png')!important;
 background-size:100% auto!important;
 background-repeat:no-repeat!important;
 background-position:center 16.7%!important;
 background-color:#031b2d!important;
}
.npb-livecenter-photo-hero::after{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
 background:linear-gradient(180deg,rgba(1,15,26,.04),rgba(1,15,26,.08) 58%,rgba(1,15,26,.58));
}
.npb-livecenter-photo-hero .npb-livecenter-toolbar{z-index:5!important}
@media(max-width:1000px){
 .npb-livecenter-photo-hero{background-size:auto 430%!important;background-position:57% 16.7%!important}
}
@media(max-width:680px){
 .npb-livecenter-photo-hero{background-size:auto 500%!important;background-position:62% 16.4%!important}
}


/* ==========================================================================
   NPB Beheer 5.6.21 - Mededelingen PRO
   ========================================================================== */
.npb-mededelingen-pro{--med-navy:#082f52;--med-blue:#0d4d83;--med-orange:#ff7900;--med-line:#dbe5ed;--med-bg:#f4f7fa;--med-text:#20394d;max-width:1440px;margin:0 auto;padding:18px}
.npb-med-hero,.npb-med-editor-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border-radius:15px;background:linear-gradient(135deg,#082f52,#0d4d83);color:#fff;margin-bottom:16px}
.npb-med-hero span,.npb-med-editor-head span,.npb-med-side-card>span{color:#ff9a36;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.npb-med-hero h1,.npb-med-editor-head h1{margin:3px 0 7px;color:#fff;font-size:2rem}.npb-med-hero p,.npb-med-editor-head p{margin:0;color:#c7dced}
.npb-med-editor-head a{display:inline-block;margin-bottom:9px;color:#fff;text-decoration:none;font-weight:800}
.npb-med-primary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #ff7900;border-radius:9px;background:#ff7900;color:#fff!important;text-decoration:none!important;font-weight:850;cursor:pointer}.npb-med-primary.full{width:100%}
.npb-med-panel,.npb-med-template-panel,.npb-med-fields,.npb-med-editor-shell,.npb-med-side-card{border:1px solid var(--med-line);border-radius:13px;background:#fff;box-shadow:0 8px 25px rgba(19,59,91,.05)}
.npb-med-panel{padding:16px}.npb-med-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.npb-med-chips{display:flex;gap:7px;flex-wrap:wrap}.npb-med-chips a{padding:8px 12px;border:1px solid var(--med-line);border-radius:999px;color:#315a78;text-decoration:none;font-size:.78rem;font-weight:800}.npb-med-chips a.is-active{background:#082f52;border-color:#082f52;color:#fff}.npb-med-search{display:flex;gap:7px}.npb-med-search input{min-width:240px;padding:9px 11px;border:1px solid var(--med-line);border-radius:8px}.npb-med-search button{border:0;border-radius:8px;padding:8px 13px;background:#0d4d83;color:#fff;font-weight:800}
.npb-med-table-wrap{overflow:auto}.npb-med-table{width:100%;border-collapse:collapse}.npb-med-table th{padding:10px;text-align:left;color:#6a7e8e;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--med-line)}.npb-med-table td{padding:12px 10px;border-bottom:1px solid #edf1f4;vertical-align:top;color:#294358}.npb-med-title{display:block;color:#0b3558!important;font-weight:850;text-decoration:none!important}.npb-med-table td small{display:block;color:#8293a1;margin-top:3px}.npb-med-cat,.npb-med-state{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf4fa;color:#315b7d;font-size:.7rem;font-weight:800}.npb-med-state.is-published{background:#eaf8ef;color:#287346}.npb-med-state.is-draft{background:#f3f4f5;color:#66727b}.npb-med-actions{display:flex;flex-wrap:wrap;gap:5px}.npb-med-actions a,.npb-med-actions button{min-height:31px;padding:6px 8px;border:1px solid #d6e1e9;border-radius:7px;background:#fff;color:#315a78!important;text-decoration:none!important;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}.npb-med-actions form{display:inline}.npb-med-actions .is-danger{color:#b23b3b!important;border-color:#efd1d1}.npb-med-empty{padding:32px;text-align:center;color:#718391}
.npb-med-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.npb-med-template-panel,.npb-med-fields{padding:18px;margin-bottom:14px}.npb-med-section-title{display:flex;gap:10px;align-items:center;margin-bottom:13px}.npb-med-section-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ff7900;color:#fff;font-weight:900}.npb-med-section-title strong,.npb-med-section-title small{display:block}.npb-med-section-title small{color:#778997}
.npb-med-template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.npb-med-template-grid button{text-align:left;padding:12px;border:1px solid var(--med-line);border-radius:9px;background:#f9fbfc;color:#25435b;cursor:pointer}.npb-med-template-grid button strong,.npb-med-template-grid button small{display:block}.npb-med-template-grid button small{margin-top:5px;color:#7a8c99;font-size:.69rem;line-height:1.3}.npb-med-template-grid button:hover,.npb-med-template-grid button.is-active{border-color:#ff7900;box-shadow:inset 0 0 0 1px #ff7900}
.npb-med-fields>label,.npb-med-fields-row label,.npb-med-side-card label{display:grid;gap:6px;color:#3b5367;font-size:.77rem;font-weight:800}.npb-med-fields input,.npb-med-fields select,.npb-med-side-card input,.npb-med-side-card select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid var(--med-line);border-radius:8px;background:#fff;color:#263e52;font:inherit}.npb-med-fields>label>span,.npb-med-fields-row label>span{font-weight:850}.npb-med-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.npb-med-editor-shell{overflow:hidden}.npb-med-modebar{display:flex;gap:5px;padding:10px 12px 0}.npb-med-modebar button{padding:7px 12px;border:1px solid var(--med-line);background:#fff;color:#315a78;font-weight:800;cursor:pointer}.npb-med-modebar button.is-active{background:#082f52;color:#fff;border-color:#082f52}.npb-med-toolbar{position:sticky;top:4px;z-index:20;display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--med-line);background:rgba(248,251,253,.96);backdrop-filter:blur(8px)}.npb-med-toolbar button,.npb-med-toolbar label{min-height:34px;padding:6px 9px;border:1px solid #d5e0e8;border-radius:6px;background:#fff;color:#294c68;font:inherit;font-size:.73rem;font-weight:800;cursor:pointer}.npb-med-toolbar>span{width:1px;height:24px;background:#d8e3ea}.npb-med-upload-status{padding:9px 13px;border-bottom:1px solid #e5edf3;background:#f1f8f4;color:#547064;font-size:.72rem}.npb-med-upload-status kbd{padding:2px 5px;border:1px solid #cbd8df;border-radius:4px;background:#fff}
.npb-med-image-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:8px 12px;background:#fff8f1;border-bottom:1px solid #f1d9c3}.npb-med-image-tools button{padding:5px 8px;border:1px solid #e4cdb9;background:#fff;border-radius:6px;color:#805126;font-size:.7rem;font-weight:800;cursor:pointer}.npb-med-image-tools .danger{color:#a93f3f}
#npb-med-editor{min-height:650px;padding:28px;outline:none;color:#283f52;line-height:1.7}#npb-med-editor img{max-width:100%;height:auto}#npb-med-editor h2,#npb-med-editor h3{color:#0b3558}#npb-med-code{display:none;width:100%;min-height:650px;box-sizing:border-box;padding:24px;border:0;background:#101827;color:#e8eef8;font:13px/1.55 Consolas,monospace;resize:vertical}
.npb-med-side-card{padding:15px;margin-bottom:12px}.npb-med-side-card h3{margin:3px 0 13px;color:#0b3558}.npb-med-side-card label{margin:10px 0}.npb-med-side-card small{color:#758794;line-height:1.45}.npb-med-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}.npb-med-check input{width:auto!important}.npb-med-feature-preview{display:grid;place-items:center;min-height:120px;margin:10px 0;border:1px dashed #cad8e2;border-radius:9px;background:#f6f9fb;overflow:hidden}.npb-med-feature-preview img{width:100%;max-height:180px;object-fit:cover}.npb-med-feature-preview em{color:#8394a1;font-size:.75rem}.npb-med-upload-button{display:flex!important;align-items:center;justify-content:center;padding:9px;border:1px solid #ff7900;border-radius:8px;color:#ff7900!important;cursor:pointer}.npb-med-side-card button:not(.npb-med-primary){padding:8px 10px;border:1px solid #d4e0e8;border-radius:8px;background:#fff;color:#315a78;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}.npb-med-save-card a{display:block;text-align:center;margin-top:10px;color:#60798c;text-decoration:none;font-weight:800;font-size:.75rem}
@media(max-width:1050px){.npb-med-editor-grid{grid-template-columns:1fr}.npb-med-template-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.npb-mededelingen-pro{padding:8px}.npb-med-hero,.npb-med-editor-head{align-items:flex-start;flex-direction:column;padding:18px}.npb-med-filters{align-items:stretch;flex-direction:column}.npb-med-search input{min-width:0;flex:1}.npb-med-template-grid{grid-template-columns:1fr}.npb-med-fields-row{grid-template-columns:1fr}.npb-med-table thead{display:none}.npb-med-table,.npb-med-table tbody,.npb-med-table tr,.npb-med-table td{display:block}.npb-med-table tr{padding:9px 0;border-bottom:1px solid var(--med-line)}.npb-med-table td{display:grid;grid-template-columns:105px 1fr;gap:8px;border:0;padding:5px 4px}.npb-med-table td:before{content:attr(data-label);font-size:.66rem;color:#80919e;font-weight:850;text-transform:uppercase}#npb-med-editor{min-height:520px;padding:18px}.npb-med-toolbar{position:relative;top:auto}}


/* ==========================================================================
   5.6.21 - Nieuws / Joomla artikelen: uniforme uitlichtfoto's
   Houdt kaarten strak uitgelijnd, ongeacht de originele fotoverhouding.
   Ondersteunt de gangbare Joomla blog- en YOOtheme grid/card markup.
   ========================================================================== */
.npb-news-grid .uk-card-media-top,
.npb-news-grid .uk-card-media-top > a,
.npb-news-grid .item-image,
.npb-news-grid figure,
.npb-article-grid .uk-card-media-top,
.npb-article-grid .item-image,
.com-content-category-blog .item-image,
.com-content-category-blog figure.item-image {
    aspect-ratio: 16 / 8;
    overflow: hidden;
}

.npb-news-grid .uk-card-media-top img,
.npb-news-grid .item-image img,
.npb-news-grid figure img,
.npb-article-grid .uk-card-media-top img,
.npb-article-grid .item-image img,
.com-content-category-blog .item-image img,
.com-content-category-blog figure.item-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: block;
    object-fit: cover !important;
    object-position: center center;
}

/* YOOtheme Pro grids: toepassen op kaartafbeeldingen zonder de bronafbeelding te wijzigen. */
.npb-uniform-news-images .el-image,
.npb-uniform-news-images img.el-image,
.npb-uniform-news-images .uk-card-media-top img {
    width: 100% !important;
    aspect-ratio: 16 / 8;
    height: auto !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
}

@media (max-width: 640px) {
    .npb-news-grid .uk-card-media-top,
    .npb-news-grid .item-image,
    .npb-article-grid .uk-card-media-top,
    .npb-article-grid .item-image,
    .com-content-category-blog .item-image,
    .npb-uniform-news-images .el-image,
    .npb-uniform-news-images img.el-image {
        aspect-ratio: 16 / 8;
    }
}


/* ==========================================================================
   5.6.21 - Mededelingen PRO: zwevende editorwerkbalk + opslaan
   ========================================================================== */

/* Sticky werkt niet binnen een ancestor met overflow:hidden. */
.npb-med-editor-shell{
    overflow:visible!important;
}

/* Visueel/Code blijft samen met de werkbalk bovenaan bereikbaar. */
.npb-med-modebar{
    position:sticky;
    top:8px;
    z-index:61;
    padding:8px 12px 6px!important;
    margin:0;
    border:1px solid var(--med-line);
    border-bottom:0;
    border-radius:10px 10px 0 0;
    background:rgba(248,251,253,.97);
    box-shadow:0 8px 22px rgba(8,47,82,.08);
    backdrop-filter:blur(10px);
}

.npb-med-toolbar{
    position:sticky!important;
    top:57px!important;
    z-index:60!important;
    border:1px solid var(--med-line)!important;
    border-top:0!important;
    border-radius:0 0 10px 10px;
    box-shadow:0 10px 24px rgba(8,47,82,.10);
    background:rgba(248,251,253,.98)!important;
    backdrop-filter:blur(10px);
}

/* Rechter opslaan-paneel blijft op desktop zichtbaar. */
.npb-med-editor-grid > aside{
    position:sticky;
    top:12px;
    align-self:start;
}

.npb-med-save-card{
    position:sticky;
    bottom:12px;
    z-index:45;
    box-shadow:0 12px 30px rgba(8,47,82,.12);
}

/* Extra compacte opslaan-knop rechtsonder tijdens lang bewerken. */
.npb-med-floating-save{
    position:fixed;
    right:28px;
    bottom:28px;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border:1px solid #ff7900;
    border-radius:10px;
    background:#ff7900;
    color:#fff;
    font:inherit;
    font-weight:900;
    box-shadow:0 14px 34px rgba(8,47,82,.24),0 5px 16px rgba(255,121,0,.22);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transform:translateY(14px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.npb-med-floating-save.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.npb-med-floating-save:hover{
    background:#e96f00;
    border-color:#e96f00;
}

@media(max-width:1050px){
    .npb-med-editor-grid > aside{
        position:relative;
        top:auto;
    }
    .npb-med-save-card{
        position:sticky;
        bottom:8px;
    }
}

@media(max-width:760px){
    /* Ook op tablet/mobiel blijft de editorwerkbalk nu meelopen. */
    .npb-med-modebar{
        top:4px!important;
    }
    .npb-med-toolbar{
        position:sticky!important;
        top:52px!important;
        max-height:116px;
        overflow:auto;
    }
    .npb-med-floating-save{
        right:12px;
        bottom:14px;
        min-height:44px;
        padding:0 15px;
        font-size:13px;
    }
}


/* ==========================================================================
   5.6.21 - Mededelingen PRO: editorwerkbalk blijft in beide scrollrichtingen
   ========================================================================== */

/*
 * Sticky kan door browser/YOOtheme scroll-containers bij omhoog scrollen loslaten.
 * Daarom schakelt JS de werkbalk tijdens het editorgebied over naar position:fixed.
 */
.npb-med-editor-shell.npb-med-editor-tools-fixed{
    padding-top:102px;
}

.npb-med-editor-shell.npb-med-editor-tools-fixed .npb-med-modebar{
    position:fixed!important;
    left:var(--npb-med-tools-left)!important;
    top:8px!important;
    width:var(--npb-med-tools-width)!important;
    box-sizing:border-box;
    z-index:10020!important;
    margin:0!important;
}

.npb-med-editor-shell.npb-med-editor-tools-fixed .npb-med-toolbar{
    position:fixed!important;
    left:var(--npb-med-tools-left)!important;
    top:55px!important;
    width:var(--npb-med-tools-width)!important;
    box-sizing:border-box;
    z-index:10019!important;
    margin:0!important;
}

/* Geen dubbele schaduw/ruimte wanneer de fixed modus actief is. */
.npb-med-editor-shell.npb-med-editor-tools-fixed .npb-med-upload-status{
    border-top:0;
}

@media(max-width:760px){
    .npb-med-editor-shell.npb-med-editor-tools-fixed{
        padding-top:154px;
    }

    .npb-med-editor-shell.npb-med-editor-tools-fixed .npb-med-modebar{
        top:4px!important;
    }

    .npb-med-editor-shell.npb-med-editor-tools-fixed .npb-med-toolbar{
        top:50px!important;
        max-height:102px!important;
        overflow:auto!important;
    }
}


/* ==========================================================================
   5.6.21 - Mededelingen PRO: tekstkleur / markeerkleur
   ========================================================================== */
.npb-med-color-control{
    display:inline-flex!important;
    align-items:center;
    gap:5px;
    min-height:34px;
    padding:4px 7px!important;
    border:1px solid #d5e0e8!important;
    border-radius:6px;
    background:#fff!important;
    color:#294c68!important;
    cursor:pointer;
}
.npb-med-color-control>span{
    font-weight:900;
    line-height:1;
}
.npb-med-color-control input[type="color"]{
    width:25px!important;
    height:23px!important;
    min-width:25px!important;
    padding:0!important;
    border:0!important;
    border-radius:4px;
    background:transparent!important;
    cursor:pointer;
}
.npb-med-color-control input[type="color"]::-webkit-color-swatch-wrapper{padding:1px}
.npb-med-color-control input[type="color"]::-webkit-color-swatch{border:1px solid #c9d6df;border-radius:3px}
.npb-med-quick-colors{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:34px;
    padding:4px 6px;
    border:1px solid #d5e0e8;
    border-radius:6px;
    background:#fff;
}
.npb-med-toolbar .npb-med-quick-colors button{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    padding:0!important;
    border:1px solid #bfcbd4!important;
    border-radius:50%!important;
    background:var(--swatch)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}


/* ==========================================================================
   5.6.21 - Mededelingen PRO: multi-foto slideshow
   ========================================================================== */
.npb-med-slideshow-button{
    background:#0d4d83!important;
    border-color:#0d4d83!important;
    color:#fff!important;
}
.npb-med-slideshow-modal{
    position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:18px;
}
.npb-med-slideshow-modal.is-open{display:flex}
.npb-med-slideshow-backdrop{
    position:absolute;inset:0;background:rgba(3,20,35,.72);backdrop-filter:blur(5px)
}
.npb-med-slideshow-dialog{
    position:relative;z-index:2;width:min(980px,100%);max-height:92vh;overflow:auto;
    border-radius:15px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.30)
}
.npb-med-slideshow-head{
    position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;gap:20px;
    padding:18px 20px;background:linear-gradient(135deg,#082f52,#0d4d83);color:#fff
}
.npb-med-slideshow-head span{color:#ff9a36;font-size:11px;font-weight:900;letter-spacing:.1em}
.npb-med-slideshow-head h2{margin:2px 0;color:#fff}
.npb-med-slideshow-head p{margin:4px 0 0;color:#c8ddeb}
.npb-med-slideshow-head>button{
    flex:none;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:8px;
    background:transparent;color:#fff;font-size:23px;cursor:pointer
}
.npb-med-slideshow-body{padding:18px}
.npb-med-slideshow-drop{
    display:grid;place-items:center;gap:6px;padding:24px;border:2px dashed #c7d7e2;border-radius:12px;
    background:#f6f9fb;text-align:center;color:#36566f;transition:.15s ease
}
.npb-med-slideshow-drop.is-dragover{border-color:#ff7900;background:#fff7ef}
.npb-med-slideshow-drop>button{
    margin-top:7px;padding:9px 14px;border:1px solid #0d4d83;border-radius:8px;background:#0d4d83;color:#fff;font-weight:800;cursor:pointer
}
.npb-med-slideshow-list{display:grid;gap:9px;margin-top:14px}
.npb-med-slideshow-empty{padding:16px;text-align:center;color:#8293a1}
.npb-med-slideshow-row{
    display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;
    padding:9px;border:1px solid #dce6ed;border-radius:10px;background:#fff
}
.npb-med-slideshow-row>img{width:110px;height:72px;object-fit:cover;border-radius:7px}
.npb-med-slideshow-row-main{display:grid;gap:5px}
.npb-med-slideshow-row-main input{
    width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #d6e1e9;border-radius:7px
}
.npb-med-slideshow-row-main small{color:#8293a1}
.npb-med-slideshow-row-actions{display:flex;gap:5px}
.npb-med-slideshow-row-actions button{
    width:34px;height:34px;border:1px solid #d5e0e7;border-radius:7px;background:#fff;color:#315a78;font-weight:900;cursor:pointer
}
.npb-med-slideshow-row-actions .danger{color:#b43f3f}
.npb-med-slideshow-row-actions button:disabled{opacity:.35;cursor:not-allowed}
.npb-med-slideshow-options{
    display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid #e2eaf0
}
.npb-med-slideshow-options label{display:grid;gap:6px;color:#40596d;font-size:12px;font-weight:800}
.npb-med-slideshow-options input,.npb-med-slideshow-options select{
    padding:9px 10px;border:1px solid #d5e0e8;border-radius:8px;background:#fff
}
.npb-med-slideshow-progress{min-height:22px;margin-top:10px;color:#526d81;font-size:12px;font-weight:700}
.npb-med-slideshow-footer{
    position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;
    border-top:1px solid #dce5ec;background:#f8fafc
}
.npb-med-slideshow-footer>button{
    min-height:40px;padding:8px 14px;border:1px solid #d3dee6;border-radius:8px;background:#fff;color:#315a78;font-weight:800;cursor:pointer
}
body.npb-med-modal-open{overflow:hidden}
@media(max-width:700px){
    .npb-med-slideshow-modal{padding:6px}
    .npb-med-slideshow-row{grid-template-columns:80px 1fr}
    .npb-med-slideshow-row>img{width:80px;height:62px}
    .npb-med-slideshow-row-actions{grid-column:2}
    .npb-med-slideshow-options{grid-template-columns:1fr}
}


/* ==========================================================================
   5.6.21 - Mededelingen PRO: visueel afbeelding-resize + uitlijnen
   ========================================================================== */
.npb-med-image-resize-overlay{
    display:none;
    position:fixed;
    z-index:11050;
    pointer-events:none;
    box-sizing:border-box;
    border:2px solid #ff7900;
    border-radius:3px;
    box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.npb-med-image-resize-overlay.is-visible{display:block}
.npb-med-image-resize-handle{
    position:absolute;
    right:-10px;
    bottom:-10px;
    width:20px;
    height:20px;
    border:2px solid #fff;
    border-radius:50%;
    background:#ff7900;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
    cursor:nwse-resize;
    pointer-events:auto;
    touch-action:none;
}
.npb-med-image-resize-label{
    position:absolute;
    right:0;
    top:-31px;
    padding:4px 7px;
    border-radius:5px;
    background:#082f52;
    color:#fff;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
body.npb-med-image-resizing{
    cursor:nwse-resize!important;
    user-select:none!important;
}
#npb-med-editor img{
    cursor:pointer;
}

/* 5.6.21 artikel slideshow */
.npb-article-slideshow [data-npb-slide-stage]{touch-action:pan-y}
.npb-article-slideshow button[data-npb-slide-prev],
.npb-article-slideshow button[data-npb-slide-next]{display:grid;place-items:center}


/* ==========================================================================
   5.6.21 - Mededelingen slideshow UI FIX
   ========================================================================== */
.npb-med-slideshow-dialog{
    width:min(980px,calc(100vw - 32px))!important;
    overflow-x:hidden!important;
}
.npb-med-slideshow-body,
.npb-med-slideshow-list,
.npb-med-slideshow-row,
.npb-med-slideshow-row-main{
    min-width:0;
    box-sizing:border-box;
}
.npb-med-slideshow-row{
    width:100%;
    grid-template-columns:110px minmax(0,1fr) 116px!important;
}
.npb-med-slideshow-row-actions{
    width:116px;
    flex:0 0 116px;
    justify-content:flex-end;
    flex-wrap:wrap;
}
.npb-med-slideshow-row-actions button{
    flex:0 0 34px;
}
.npb-med-slideshow-footer{
    z-index:6;
    padding-right:20px!important;
}
#npb-med-slideshow-insert{
    background:#ff7900!important;
    border-color:#ff7900!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(255,121,0,.24);
}
@media(max-width:700px){
    .npb-med-slideshow-dialog{width:calc(100vw - 12px)!important}
    .npb-med-slideshow-row{grid-template-columns:80px minmax(0,1fr)!important}
    .npb-med-slideshow-row-actions{
        grid-column:1 / -1!important;
        width:100%;
        justify-content:flex-end;
    }
    .npb-med-slideshow-footer{
        flex-wrap:wrap;
    }
    .npb-med-slideshow-footer>button{
        flex:1 1 160px;
    }
}


/* ==========================================================================
   5.6.21 - Stabiele UIkit slideshow
   ========================================================================== */
.npb-article-slideshow .npb-slideshow-nav{
    border:0!important;
    background:transparent!important;
    padding:0!important;
    cursor:pointer!important;
    color:#fff!important;
    appearance:none;
    -webkit-appearance:none;
}
.npb-article-slideshow .uk-slideshow-items{
    width:100%;
}
.npb-article-slideshow .uk-slideshow-items>li{
    overflow:hidden;
}
.npb-article-slideshow .uk-slideshow-items img[uk-cover]{
    width:100%;
    height:100%;
    object-fit:cover;
}


/* ==========================================================================
   5.6.21 - Slideshow foto's altijd zichtbaar
   ========================================================================== */
/*
 * UIkit beheert alleen de slideshow/animatie/hoogte.
 * De afbeelding zelf wordt absoluut in elk slide-item geplaatst.
 * Hierdoor zijn we niet meer afhankelijk van uk-cover initialisatie of
 * Joomla/YOOtheme filtering van het uk-cover attribuut.
 */
.npb-article-slideshow .uk-slideshow-items > li{
    position:absolute;
    overflow:hidden;
}
.npb-article-slideshow .uk-slideshow-items > li > img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    
    object-position:center center!important;
    display:block!important;
}


/* ==========================================================================
   5.6.21 - UIkit slide child-height fix
   ========================================================================== */
.npb-article-slideshow .uk-slideshow-items > li{
    height:100%!important;
    min-height:100%!important;
    top:0!important;
    bottom:0!important;
}
.npb-article-slideshow .uk-slideshow-items > li > img{
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:1!important;
}
.npb-article-slideshow .uk-slideshow-items > li > .uk-overlay{
    z-index:2!important;
}


/* ==========================================================================
   5.6.21 - Slideshow volledige foto
   ========================================================================== */
.npb-med-slideshow-options{
    grid-template-columns:2fr 1fr 1fr!important;
}
@media(max-width:850px){
    .npb-med-slideshow-options{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
    .npb-med-slideshow-options{grid-template-columns:1fr!important}
}


/* 5.6.21 Mailing PRO + fullscreen editor */
.npb-mail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.npb-mail-stats>div{background:#fff;border:1px solid #dbe5ed;border-radius:14px;padding:18px}.npb-mail-stats b{display:block;font-size:30px;color:#0b3558}.npb-mail-stats span{color:#607789}.npb-mail-cron{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccd9e2;border-radius:8px;font-family:monospace}.npb-med-secondary{display:inline-flex;align-items:center;padding:11px 15px;border-radius:9px;background:#0b3558;color:#fff!important;text-decoration:none;font-weight:800;margin-left:auto}.npb-med-mail-check{margin-top:14px!important;padding:12px;background:#fff7ef;border:1px solid #ffd0a6;border-radius:9px}
body.npb-med-fullscreen-active{overflow:hidden}.npb-med-fullscreen-active .npb-med-editor-page{position:fixed!important;inset:0!important;z-index:12000!important;background:#eef3f7!important;overflow:auto!important;padding:12px!important}.npb-med-fullscreen-active .npb-med-editor-head,.npb-med-fullscreen-active .npb-med-editor-grid>aside,.npb-med-fullscreen-active .npb-med-template-panel,.npb-med-fullscreen-active .npb-med-fields{display:none!important}.npb-med-fullscreen-active .npb-med-editor-grid{display:block!important;max-width:none!important}.npb-med-fullscreen-active .npb-med-editor-shell{height:calc(100vh - 24px)!important;display:flex!important;flex-direction:column!important;margin:0!important}.npb-med-fullscreen-active #npb-med-editor,.npb-med-fullscreen-active #npb-med-code{flex:1!important;min-height:0!important;overflow:auto!important}.npb-med-fullscreen-active .npb-med-modebar,.npb-med-fullscreen-active .npb-med-toolbar{position:sticky!important;top:0!important;z-index:10!important}.npb-med-fullscreen-active #npb-med-floating-save{display:block!important;z-index:12020!important}
@media(max-width:800px){.npb-mail-stats{grid-template-columns:1fr 1fr}}
/* 5.6.21 Mailing PRO - handmatige/testabonnees */
.npb-mail-add-form{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;align-items:end}.npb-mail-add-form label{display:block;font-weight:800;color:#29465f;margin-bottom:6px}.npb-mail-add-form input[type=text],.npb-mail-add-form input[type=email]{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cbd9e3;border-radius:9px;background:#fff}.npb-mail-checks{display:flex;gap:18px;align-items:center;grid-column:1/-1}.npb-mail-checks label,.npb-mail-cat-grid label{font-weight:700;margin:0}.npb-test-check{padding:8px 12px;background:#fff7ef;border:1px solid #ffd0a6;border-radius:8px}.npb-mail-add-form details{grid-column:1/-1;background:#f7fafc;border:1px solid #dbe5ed;border-radius:9px;padding:10px 12px}.npb-mail-add-form summary{cursor:pointer;font-weight:800;color:#0b3558}.npb-mail-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:12px}.npb-test-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0df;color:#a44b00;font-weight:900}.npb-testmail-btn{border:0;border-radius:8px;background:#ff7900;color:#fff;padding:8px 11px;font-weight:900;cursor:pointer;white-space:nowrap}.npb-mail-actions{display:flex;gap:6px;align-items:center}.npb-mail-actions form{margin:0}.npb-mail-actions button{border:1px solid #cbd9e3;border-radius:7px;background:#fff;padding:7px 9px;cursor:pointer}.npb-mail-actions button.danger{color:#b42318;border-color:#f0b4af}@media(max-width:760px){.npb-mail-add-form{grid-template-columns:1fr}.npb-mail-checks,.npb-mail-add-form details{grid-column:1}.npb-mail-cat-grid{grid-template-columns:1fr 1fr}}

/* Mailing PRO 5.6.30 */
.npb-mailing-pro .npb-med-panel{border-radius:16px;box-shadow:0 8px 24px rgba(11,53,88,.05)}
.npb-mail-grid-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;align-items:start}.npb-mail-grid-main .npb-med-panel{margin:0}
.npb-mail-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.npb-mail-panel-head h2{margin-bottom:4px}.npb-mail-panel-head p{margin:0;color:#657b8d}.npb-mail-count{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#edf5fb;color:#0b3558;font-weight:800;white-space:nowrap}
.npb-mail-ghost{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd9e3;border-radius:8px;background:#fff;color:#29465f!important;padding:8px 11px;text-decoration:none;font-weight:800;cursor:pointer;white-space:nowrap}.npb-mail-ghost:hover{border-color:#0b3558;background:#f4f8fb}
.npb-mail-tags{display:flex;flex-wrap:wrap;gap:8px}.npb-mail-tags code{background:#eef5fa;border:1px solid #dbe6ee;border-radius:8px;padding:7px 9px;color:#0b3558;font-weight:800}.npb-mail-hint{font-size:13px;color:#6b7f90;margin-bottom:0}
.npb-sponsor-form{display:grid;grid-template-columns:1fr 1.7fr 1.3fr 110px auto;gap:10px;align-items:end;margin-bottom:18px}.npb-sponsor-form label{display:block;font-size:12px;font-weight:900;color:#617789;margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}.npb-sponsor-form input{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd9e3;border-radius:8px;background:#fff}
.npb-sponsor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.npb-sponsor-card{border:1px solid #dce6ee;border-radius:12px;padding:12px;background:#fff;display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center}.npb-sponsor-card.is-off{opacity:.6;background:#f7f8f9}.npb-sponsor-logo{width:86px;height:64px;border-radius:8px;background:#f5f7f9;display:flex;align-items:center;justify-content:center;overflow:hidden}.npb-sponsor-logo img{max-width:100%;max-height:100%;object-fit:contain}.npb-sponsor-meta{min-width:0}.npb-sponsor-meta strong{display:block;color:#0b3558;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npb-sponsor-meta small{display:block;color:#73879a;margin-top:4px}.npb-sponsor-actions{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.npb-sponsor-actions form{margin:0}.npb-sponsor-actions button{border:1px solid #cbd9e3;border-radius:7px;background:#fff;padding:7px 9px;cursor:pointer;font-weight:700}.npb-sponsor-actions button.danger{color:#b42318;border-color:#efb8b3}
.npb-mail-cron-help{margin-top:14px;border:1px solid #dbe5ed;border-radius:10px;background:#f8fbfd;padding:11px 13px}.npb-mail-cron-help summary{cursor:pointer;font-weight:900;color:#0b3558}.npb-mail-cron-help>div{padding-top:12px}.npb-cron-fields{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.npb-cron-fields code{background:#fff;border:1px solid #dbe5ed;padding:6px 8px;border-radius:7px}
.npb-mail-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.npb-mail-row-actions form{margin:0}.npb-mail-row-actions button{border:1px solid #cbd9e3;border-radius:8px;background:#fff;padding:8px 10px;cursor:pointer;font-weight:800;white-space:nowrap}.npb-mail-row-actions button.danger,.npb-mail-danger{color:#b42318!important;border-color:#efb8b3!important;background:#fff!important}.npb-mail-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.npb-mail-status.sent{background:#edf7f1;color:#14733c}.npb-mail-status.queued{background:#edf5fb;color:#245b7b}.npb-mail-status.cancelled,.npb-mail-status.stopped{background:#fff0ef;color:#a92b21}.npb-mailings-table td:first-child small{display:block;color:#8293a1;margin-top:3px}
.npb-subscriber-filters{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(135px,.6fr)) auto auto;gap:9px;align-items:center;margin:0 0 16px}.npb-subscriber-filters select,.npb-subscriber-filters input{height:42px;border:1px solid #cbd9e3;border-radius:9px;background:#fff;padding:0 10px}.npb-searchbox{position:relative}.npb-searchbox span{position:absolute;left:12px;top:8px;font-size:22px;color:#7f91a0;pointer-events:none}.npb-searchbox input{width:100%;padding-left:38px}.npb-source-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1f4f6;color:#607789;font-size:12px;font-weight:800}
.npb-mail-import{opacity:.96}
@media(max-width:1100px){.npb-mail-grid-main{grid-template-columns:1fr}.npb-sponsor-form{grid-template-columns:1fr 1fr}.npb-sponsor-form .npb-med-primary{grid-column:1/-1}.npb-subscriber-filters{grid-template-columns:1fr 1fr 1fr}.npb-searchbox{grid-column:1/-1}.npb-sponsor-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.npb-mail-panel-head{flex-direction:column}.npb-sponsor-form{grid-template-columns:1fr}.npb-sponsor-form .npb-med-primary{grid-column:1}.npb-sponsor-cards{grid-template-columns:1fr}.npb-subscriber-filters{grid-template-columns:1fr}.npb-searchbox{grid-column:1}.npb-subscriber-table{min-width:950px}.npb-mailings-table{min-width:900px}}

/* Wedstrijdmonitor 5.6.31 - actieve livetickers altijd zichtbaar */
.npb-stat-live{border-left:5px solid #dc2626}
.npb-stat-live strong{color:#dc2626}
.npb-row-live{background:#fff7f7!important}
.npb-status-live{background:#dc2626;color:#fff;box-shadow:0 0 0 3px rgba(220,38,38,.10)}


/* ==========================================================================
   5.6.32 - Mededelingen PRO artikel wizard
   ========================================================================== */
.npb-med-wizard{margin:0 auto 24px;max-width:1320px;color:#0b3558}
.npb-med-wizard-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#0b3558;color:#fff;padding:22px 28px 42px;border-radius:18px 18px 0 0}
.npb-med-wizard-top h2{margin:10px 0 5px;color:#fff;font-size:32px}.npb-med-wizard-top p{margin:0;color:#dceaf5;font-size:15px}.npb-med-wizard-breadcrumb{font-size:12px;color:#b8d1e4}.npb-med-wizard-demo{background:#ff7900;color:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap}
.npb-med-wizard-steps{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:-24px 18px 20px;background:#fff;border:1px solid #dbe5ed;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(11,53,88,.09);position:relative;z-index:2}
.npb-med-wizard-step{min-width:0;border:0;border-right:1px solid #e3eaf0;background:#fff;padding:13px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;color:#687f91;font-weight:800}.npb-med-wizard-step:last-child{border-right:0}.npb-med-wizard-step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f0f6;color:#517089}.npb-med-wizard-step span{font-size:12px;text-align:center;white-space:normal}.npb-med-wizard-step.is-active,.npb-med-wizard-step.is-done{color:#0b3558}.npb-med-wizard-step.is-active b,.npb-med-wizard-step.is-done b{background:#ff7900;color:#fff}
.npb-med-wizard-card{background:#fff;border:1px solid #dbe5ed;border-radius:16px;overflow:hidden;box-shadow:0 12px 34px rgba(11,53,88,.07)}
.npb-med-wizard-card-head{padding:24px 28px 20px;border-bottom:1px solid #e4ebf0}.npb-med-wizard-kicker{color:#ff7900;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:12px;margin-bottom:7px}.npb-med-wizard-card-head h2{margin:0 0 6px;color:#0b3558;font-size:26px}.npb-med-wizard-card-head p{margin:0;color:#607789}
.npb-med-wizard-stage{padding:28px}.npb-med-wizard-pane{display:none}.npb-med-wizard-pane.is-active{display:block}.npb-med-wizard-pane>.npb-med-template-panel,.npb-med-wizard-pane>.npb-med-side-card,.npb-med-wizard-pane>.npb-med-editor-shell{margin:0!important;box-shadow:none!important}.npb-med-wizard-pane>.npb-med-side-card{max-width:none;width:100%;box-sizing:border-box}
.npb-med-wizard-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 28px;border-top:1px solid #e4ebf0;background:#fbfcfd}.npb-med-wizard-footer-right{display:flex;gap:10px}.npb-med-wizard-btn{border:0;border-radius:10px;padding:11px 18px;font-weight:900;cursor:pointer;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}.npb-med-wizard-btn.primary{background:#ff7900;color:#fff!important}.npb-med-wizard-btn.secondary{background:#edf4f8;color:#0b3558!important}.npb-med-wizard-btn.ghost{background:#fff;border:1px solid #d7e2ea;color:#0b3558!important}
.npb-med-wizard-legacy-hidden{display:none!important}.npb-med-wizard-advanced{margin-top:18px;background:#f7fafc;border:1px solid #dce6ee;border-radius:10px;padding:10px 12px}.npb-med-wizard-advanced summary{cursor:pointer;font-weight:800;color:#49667d}.npb-med-wizard-advanced label{display:block;margin-top:12px}.npb-med-wizard-hint{padding:13px 15px;border-radius:10px;background:#eef6fb;border:1px solid #cfe3f1;color:#0b3558;margin:0 0 16px}
.npb-med-wizard-preview-tools{margin-bottom:18px}.npb-med-wizard-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.npb-med-wizard-preview{background:#edf3f7;border:1px solid #d7e2ea;border-radius:12px;padding:18px;min-height:100px}.npb-med-wizard-web-preview{max-width:900px;margin:auto;background:#fff;border-radius:12px;padding:30px}.npb-med-wizard-web-preview h1{color:#0b3558}.npb-med-wizard-web-cat{color:#ff7900;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.npb-med-wizard-email-preview{max-width:680px;margin:auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.08)}.npb-med-wizard-mailhead{display:block;width:100%;height:auto}.npb-med-wizard-email-body{padding:26px 28px}.npb-med-wizard-email-body h1{color:#0b3558}.npb-med-wizard-email-extra{margin-top:25px;background:#f0f6fa;border-radius:10px;padding:16px}.npb-med-wizard-email-sponsors{margin-top:14px;background:#0b3558;color:#fff;border-radius:10px;padding:16px}.npb-med-wizard-email-body small{display:block;color:#7890a3;margin-top:22px}.npb-med-wizard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.npb-med-wizard-summary>div{background:#f7fafc;border:1px solid #dce6ee;border-radius:10px;padding:13px 15px}.npb-med-wizard-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7890a3;font-weight:900;margin-bottom:4px}.npb-med-wizard-summary strong{color:#0b3558}
.npb-med-wizard #npb-med-step-feature .npb-med-feature-preview{max-width:760px}.npb-med-wizard #npb-med-step-publication{margin-top:18px!important}.npb-med-wizard #npb-med-step-save{display:flex;justify-content:space-between;gap:12px;align-items:center}.npb-med-wizard #npb-med-step-save .npb-med-primary{width:auto!important;min-width:220px}.npb-med-wizard #npb-med-step-save>a{margin-left:auto}
@media(max-width:900px){.npb-med-wizard-top{padding:20px 18px 38px}.npb-med-wizard-steps{overflow-x:auto;grid-auto-columns:minmax(115px,1fr);justify-content:start}.npb-med-wizard-stage{padding:20px}.npb-med-wizard-card-head,.npb-med-wizard-footer{padding-left:20px;padding-right:20px}.npb-med-wizard-summary{grid-template-columns:1fr}}
@media(max-width:620px){.npb-med-wizard-top{display:block}.npb-med-wizard-demo{display:inline-flex;margin-top:12px}.npb-med-wizard-top h2{font-size:27px}.npb-med-wizard-steps{margin-left:8px;margin-right:8px}.npb-med-wizard-stage{padding:14px}.npb-med-wizard-footer{align-items:stretch;flex-direction:column}.npb-med-wizard-footer-right{display:grid;grid-template-columns:1fr 1fr}.npb-med-wizard-footer>#npb-med-wizard-prev{align-self:flex-start}.npb-med-wizard-preview{padding:8px}.npb-med-wizard-email-body{padding:18px}.npb-med-wizard #npb-med-step-save{display:block}.npb-med-wizard #npb-med-step-save .npb-med-primary{width:100%!important}.npb-med-wizard #npb-med-step-save>a{display:block;text-align:center;margin-top:10px}}


/* ==========================================================================
   5.6.34 - Mededelingen PRO: rustige titelstap
   ========================================================================== */
.npb-med-wizard .npb-med-title-field{display:grid;gap:9px;width:100%;max-width:none;color:#0b3558;font-size:14px;font-weight:900}
.npb-med-wizard .npb-med-title-field>span{font-size:14px;font-weight:900;color:#0b3558}
.npb-med-wizard #npb-med-title{width:100%;min-height:58px;box-sizing:border-box;padding:15px 18px;border:1px solid #cfdde8;border-radius:12px;background:#fff;color:#0b3558;font-size:18px;font-weight:750;line-height:1.25;box-shadow:0 5px 18px rgba(11,53,88,.05);outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.npb-med-wizard #npb-med-title::placeholder{color:#9aabb8;font-weight:500}
.npb-med-wizard #npb-med-title:focus{border-color:#ff7900;box-shadow:0 0 0 4px rgba(255,121,0,.12),0 7px 22px rgba(11,53,88,.06)}
.npb-med-wizard .npb-med-title-field>small{color:#71899b;font-size:12px;font-weight:600;line-height:1.45}
.npb-med-wizard-pane[data-key="title"]{max-width:none}

/* 5.6.44 Mededelingen PRO - YouTube */
.npb-med-toolbar .npb-med-youtube-button{background:#fff7f2;border-color:#ffc89f;color:#b84c00}.npb-med-toolbar .npb-med-youtube-button:hover{background:#ff7900;border-color:#ff7900;color:#fff}

/* Tournament Pro 5.16.5 - rustige publiekslayout */
.npb-tournament-pro.tp-public{--bg:#f7fafc;--panel:#fff;--card:#fff;--line:#d8e4ed;--txt:#082f52;--muted:#657e93;--orange:#f57600;max-width:1180px;background:transparent;color:var(--txt);padding:8px}
.npb-tournament-pro.tp-public[data-tp-theme="dark"]{--bg:#061d33;--panel:#08243d;--card:#0b2b48;--line:#28516e;--txt:#f4f8fb;--muted:#a8c2d5;background:var(--bg);border-radius:16px}
.tp-public-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-radius:16px;background:linear-gradient(110deg,#07355b,#165f8d);color:#fff;box-shadow:0 10px 28px rgba(7,53,91,.10)}
.tp-public-hero h1{margin:1px 0 3px;font-size:2.15rem;line-height:1}.tp-public-hero p{margin:0;color:#d9e9f4}.tp-public .tp-theme{flex:0 0 auto}
.tp-public-tabs{display:flex;gap:7px;align-items:center;margin:12px 0 14px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:auto}
.tp-public-tabs button,.tp-public-tabs a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:0;border-radius:8px;padding:9px 13px;background:transparent;color:var(--txt)!important;text-decoration:none!important;font-weight:850;cursor:pointer}
.tp-public-tabs button:hover,.tp-public-tabs a:hover,.tp-public-tabs button.is-active{background:#083a62;color:#fff!important}.tp-public-tabs span{font-size:.68rem;opacity:.72}
.tp-public-section{margin:12px 0;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.tp-public-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.tp-public-title h2,.tp-public-ranking h2{margin:1px 0;font-size:1.25rem;color:var(--txt)}.tp-public-title>span{min-width:30px;text-align:center;padding:5px 8px;border-radius:999px;background:#fff1e5;color:var(--orange);font-weight:900}
.tp-public-list{display:grid}.tp-public-row{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 8px;border-top:1px solid var(--line);color:var(--txt)!important;text-decoration:none!important}.tp-public-row:first-child{border-top:0}.tp-public-row:hover,.tp-public-row.is-active{background:rgba(245,118,0,.055)}
.tp-public-date{font-weight:900;color:var(--orange);font-size:.82rem}.tp-public-main{display:flex;flex-direction:column;gap:2px}.tp-public-main strong{font-size:.92rem;color:var(--txt)}.tp-public-main small{color:var(--muted);font-size:.73rem}.tp-public-open{color:var(--orange);font-weight:900;font-size:.78rem}
.tp-public-ranking{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0;padding:15px 18px;border-radius:14px;background:#fff7ef;border:1px solid #ffd3aa}.tp-public-ranking p{margin:3px 0 0;color:#6f7e8b;font-size:.78rem}.tp-public-ranking>a{flex:0 0 auto;padding:9px 13px;border-radius:8px;background:var(--orange);color:#fff!important;text-decoration:none!important;font-weight:900;font-size:.78rem}
.npb-tournament-pro.tp-public[data-tp-theme="dark"] .tp-public-ranking{background:#102b43;border-color:#6c4929}.npb-tournament-pro.tp-public[data-tp-theme="dark"] .tp-public-ranking p{color:var(--muted)}
.tp-public-results{scroll-margin-top:20px}.tp-public [hidden]{display:none!important}
@media(max-width:700px){.tp-public-hero{padding:16px 17px;align-items:flex-start;flex-direction:column}.tp-public-hero h1{font-size:1.7rem}.tp-public .tp-theme{align-self:flex-end}.tp-public-tabs{margin-top:9px}.tp-public-section{padding:12px}.tp-public-row{grid-template-columns:78px minmax(0,1fr);gap:9px}.tp-public-open{grid-column:2}.tp-public-ranking{align-items:flex-start;flex-direction:column}.tp-public-ranking>a{width:100%;text-align:center}.tp-public-title{align-items:flex-start}.tp-result-actions{flex-wrap:wrap}}

/* NPB Beheer 5.17.4 - Actiecentrum */
.npb-action-center{margin:0 0 26px;padding:22px;border:1px solid #d9e2e9;border-radius:16px;background:linear-gradient(145deg,#f8fbfd,#fff);box-shadow:0 8px 24px rgba(11,53,88,.07)}
.npb-action-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.npb-action-center-head h2{margin:3px 0 5px;color:#0b3558;font-size:24px}.npb-action-center-head p{margin:0;color:#6b7e8c}.npb-action-eyebrow{color:#ff7900;font-size:11px;font-weight:900;letter-spacing:.09em}.npb-action-season{padding:7px 11px;border-radius:999px;background:#0b3558;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
.npb-action-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:16px}.npb-action-stat{display:flex;flex-direction:column;padding:13px 14px;border:1px solid #dce5eb;border-radius:12px;background:#fff;color:#0b3558!important;text-decoration:none!important}.npb-action-stat b{font-size:25px;line-height:1}.npb-action-stat span{margin-top:5px;color:#687e8d;font-size:11px;font-weight:800}.npb-action-stat.danger{border-left:4px solid #d72d2d;background:#fff7f7}.npb-action-stat.warning{border-left:4px solid #ff7900;background:#fffaf5}.npb-action-stat:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(11,53,88,.08)}
.npb-action-list{display:grid;gap:7px}.npb-action-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1e8ed;border-radius:10px;background:#fff;color:#163b57!important;text-decoration:none!important}.npb-action-row.urgent{border-left:4px solid #d72d2d}.npb-action-row.warning{border-left:4px solid #ff7900}.npb-action-row-icon{font-size:18px;text-align:center}.npb-action-row-text b,.npb-action-row-text small{display:block}.npb-action-row-text b{font-size:13px}.npb-action-row-text small{margin-top:2px;color:#718593;font-size:11px}.npb-action-row-go{color:#315f8d;font-size:11px;font-weight:900}.npb-action-allgood{padding:17px;border-radius:10px;background:#eef9f2;color:#187246;font-weight:800;text-align:center}
@media(max-width:1050px){.npb-action-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.npb-action-center{padding:15px}.npb-action-center-head{flex-direction:column}.npb-action-stats{grid-template-columns:repeat(2,1fr)}.npb-action-row{grid-template-columns:28px minmax(0,1fr)}.npb-action-row-go{display:none}}


/* 5.20.25 - Mededelingen PRO communicatieknoppen */
.npb-med-hero-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.npb-med-hero-actions .npb-med-secondary,
.npb-med-hero-actions .npb-med-primary{
  white-space:nowrap;
}
.npb-med-hero-actions .npb-med-communication{
  background:#126ca1;
  border-color:#126ca1;
  color:#fff!important;
}
.npb-med-hero-actions .npb-med-feedback{
  background:#fff;
  border-color:#d8e4ec;
  color:#0b3558!important;
}
@media(max-width:1100px){
  .npb-med-hero{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .npb-med-hero-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
}
@media(max-width:650px){
  .npb-med-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .npb-med-hero-actions .npb-med-secondary,
  .npb-med-hero-actions .npb-med-primary{
    width:100%;
    text-align:center;
  }
}


/* 5.20.35 - Mededelingen PRO actiebalk strak uitgelijnd */
.npb-med-hero-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
.npb-med-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:9px;
  text-decoration:none!important;
  font-weight:800;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
  box-sizing:border-box;
  border:1px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.npb-med-action:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(0,0,0,.10);
  text-decoration:none!important;
}
.npb-med-action-light{
  background:#fff;
  color:#0b3558!important;
  border-color:#d7e2ea;
}
.npb-med-action-dark{
  background:#0b3558;
  color:#fff!important;
  border-color:#0b3558;
}
.npb-med-action-primary{
  background:#ff7900;
  color:#fff!important;
  border-color:#ff7900;
}
@media(max-width:1050px){
  .npb-med-hero{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .npb-med-hero-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:650px){
  .npb-med-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .npb-med-action{
    width:100%;
  }
}

/* 5.20.36 - Mailing PRO cron live status */
.npb-cron-live-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0}
.npb-cron-live-stats>div{padding:13px 14px;border:1px solid #d9e4ec;border-radius:10px;background:#f7fafc}
.npb-cron-live-stats b{display:block;color:#0b3558;font-size:20px;line-height:1.15}
.npb-cron-live-stats span{display:block;margin-top:4px;color:#6b8192;font-size:11px;font-weight:700}
@media(max-width:800px){.npb-cron-live-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.npb-cron-live-stats{grid-template-columns:1fr}}


/* ============================================================
   5.20.40 — YOOtheme typography alignment
   ------------------------------------------------------------
   NPB Beheer volgt voortaan de actieve YOOtheme font family.
   De schuine/Black sportstijl wordt alleen nog als accent gebruikt
   voor grote hero-titels; kleine koppen, knoppen en labels blijven
   rustig en goed leesbaar.
   ============================================================ */

.npb-app,
.npb-dashboard,
.npb-mijnnpb,
.npb-competities,
.npb-agenda-pro,
.npb-livecenter,
.npb-tournament-pro,
.npb-mededelingen-pro,
.npb-mailing-pro,
.npb-feedback-beheer,
.npb-messagecenter,
.npb-messagecenter-beheer,
.npb-locaties,
.npb-documenten,
.npb-action-center,
[class*="npb-"],
[class*="mn-"]{
  font-family:inherit;
}

/* Lopende tekst altijd leesbaar en conform Theme typography */
.npb-app p,
.npb-dashboard p,
.npb-mijnnpb p,
.npb-competities p,
.npb-agenda-pro p,
.npb-livecenter p,
.npb-tournament-pro p,
.npb-mededelingen-pro p,
.npb-mailing-pro p,
[class*="npb-"] p,
[class*="mn-"] p{
  font-family:inherit;
  font-style:normal;
  font-weight:400;
  text-transform:none;
  letter-spacing:normal;
}

/* Kleine/middelgrote koppen niet langer standaard Black Italic */
.npb-app h3,.npb-app h4,.npb-app h5,.npb-app h6,
.npb-dashboard h3,.npb-dashboard h4,.npb-dashboard h5,.npb-dashboard h6,
.npb-mijnnpb h3,.npb-mijnnpb h4,.npb-mijnnpb h5,.npb-mijnnpb h6,
.npb-competities h3,.npb-competities h4,.npb-competities h5,.npb-competities h6,
.npb-mededelingen-pro h3,.npb-mededelingen-pro h4,.npb-mededelingen-pro h5,.npb-mededelingen-pro h6,
.npb-mailing-pro h3,.npb-mailing-pro h4,.npb-mailing-pro h5,.npb-mailing-pro h6,
[class*="npb-"] h3,[class*="npb-"] h4,[class*="npb-"] h5,[class*="npb-"] h6,
[class*="mn-"] h3,[class*="mn-"] h4,[class*="mn-"] h5,[class*="mn-"] h6{
  font-family:inherit;
  font-style:normal;
  font-weight:700;
  letter-spacing:normal;
}

/* Interface-elementen: geen cursief, geen geforceerde Black-weight */
.npb-app button,.npb-app input,.npb-app select,.npb-app textarea,
[class*="npb-"] button,[class*="npb-"] input,[class*="npb-"] select,[class*="npb-"] textarea,
[class*="mn-"] button,[class*="mn-"] input,[class*="mn-"] select,[class*="mn-"] textarea{
  font-family:inherit;
  font-style:normal;
}

/* Knoppen blijven krachtig maar beter leesbaar */
.npb-app button,
[class*="npb-"] button,
[class*="npb-"] .uk-button,
[class*="mn-"] button,
[class*="mn-"] .uk-button{
  font-weight:700;
  letter-spacing:0;
}

/* Informatieve labels / badges mogen uppercase blijven, maar niet cursief/Black */
.npb-type-badge,
.npb-eyebrow,
.npb-kicker,
.mn-kicker,
.npb-livecenter-kicker,
.npb-livecenter-eyebrow,
.npb-med-hero span,
.npb-med-editor-head span,
.npb-med-side-card>span,
.npb-med-wizard-kicker,
.npb-team-center-header span,
.npb-team-center-meta span{
  font-family:inherit;
  font-style:normal;
  font-weight:700;
}

/* Lange of inhoudelijke titels niet volledig uppercase forceren */
.npb-event-title,
.npb-agenda-pro .npb-month-event .npb-event-title,
.npb-agenda-title-link,
.npb-team-card-dialog h3,
.npb-action-center h2,
.npb-mailing-pro h2,
.npb-mededelingen-pro h2{
  font-family:inherit;
  font-style:normal;
  text-transform:none;
  letter-spacing:normal;
}

/* Sportieve displaystijl bewust behouden voor echte hero-titels */
.npb-agenda-pro .npb-agenda-header h1,
.npb-livecenter-hero h1,
.npb-tournament-pro .tp-hero h1,
.mn-hero h1{
  font-family:inherit;
  font-weight:800;
  line-height:1.05;
}

/* Mijn NPB: belangrijke kaarttitels rustiger */
.mn-card h3,
.mn-card h2,
.mn-captain-center h2,
.mn-roster h3,
.mn-next h3{
  font-family:inherit;
  font-style:normal!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}

/* Team Center / Player Center */
.npb-team-pro h2,
.npb-team-pro h3,
.npb-player-pro h2,
.npb-player-pro h3,
.npb-team-center h2,
.npb-team-center h3{
  font-family:inherit;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:normal!important;
}

/* Tabellarische headers mogen compact uppercase blijven */
.npb-agenda-table th,
.npb-med-table th{
  font-family:inherit;
  font-style:normal;
  font-weight:700;
}

/* Mobiel iets ruimere regelhoogte voor leesbaarheid */
@media(max-width:700px){
  [class*="npb-"] p,[class*="mn-"] p{line-height:1.55}
  [class*="npb-"] button,[class*="mn-"] button{line-height:1.2}
}


/* 5.20.42 - Teamagenda onder de laatste wedstrijd: download + abonnement */
.npb-competitions-public .npb-team-calendar-footer,
#npb-team-pro .npb-team-pro-calendar-footer {
  margin-top:18px;padding:16px;border:1px solid #d7e2ec;border-radius:12px;background:#f7fafc;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.npb-competitions-public .npb-team-calendar-footer[hidden],
#npb-team-pro .npb-team-pro-calendar-footer[hidden]{display:none!important}
.npb-team-calendar-choice{display:flex;flex-direction:column;gap:5px;min-width:0}
.npb-team-calendar-choice small{font-size:.78rem;line-height:1.35;color:#64748b}
.npb-team-calendar-action,
#npb-team-pro .npb-team-pro-calendar-footer .npb-team-pro-calendar-button{
 display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 12px;
 border:1px solid #ff7900;border-radius:9px;background:#ff7900;color:#fff!important;font-weight:700;text-decoration:none!important;text-align:center
}
.npb-team-calendar-action.is-subscribe{background:#0b4e80;border-color:#0b4e80}
.npb-team-calendar-action:hover{filter:brightness(.96);color:#fff!important}
.npb-competitions-public[data-competition-theme="dark"] .npb-team-calendar-footer,
#npb-team-pro[data-theme="dark"] .npb-team-pro-calendar-footer{background:#102a40;border-color:#31506a}
.npb-competitions-public[data-competition-theme="dark"] .npb-team-calendar-choice small,
#npb-team-pro[data-theme="dark"] .npb-team-calendar-choice small{color:#c9d7e4}
@media(max-width:700px){
 .npb-competitions-public .npb-team-calendar-footer,#npb-team-pro .npb-team-pro-calendar-footer{grid-template-columns:1fr}
}


/* 5.20.45 — uniforme YOOtheme typografie voor cards */
.npb-card,
[class*="npb-"][class*="card"],
[class*="mn-"][class*="card"]{
  font-family:inherit;
}
.npb-card h3,.npb-card h4,
[class*="npb-"][class*="card"] h3,
[class*="npb-"][class*="card"] h4,
[class*="mn-"][class*="card"] h3,
[class*="mn-"][class*="card"] h4{
  font-family:inherit!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:0!important;
}


/* =========================================================
   5.20.69 - Spelersranking typografie & leesbaarheid
   ========================================================= */
.npb-player-statistics-page,
.npb-player-statistics-page *{
    font-family: Inter, Roboto, "Segoe UI", Arial, sans-serif !important;
}

.npb-player-statistics-page .npb-competition-filter label{
    font-size:12px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    color:#64748B!important;
}
.npb-player-statistics-page .npb-season-control select{
    min-width:150px!important;
    width:150px!important;
    font-size:14px!important;
    font-weight:500!important;
    padding-right:34px!important;
}
.npb-player-statistics-page .npb-league-chip,
.npb-player-statistics-page .npb-pool-chip{
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.2!important;
}
.npb-player-statistics-page .npb-competition-theme-choice{
    font-size:13px!important;
    font-weight:600!important;
}

.npb-player-statistics-page .npb-ranking-list-header .npb-eyebrow{
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.5px!important;
    text-transform:uppercase!important;
    color:#EA580C!important;
}
.npb-player-statistics-page .npb-ranking-list-header h2{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:24px!important;
    font-style:normal!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-transform:none!important;
    letter-spacing:0!important;
}
.npb-player-statistics-page .npb-ranking-search input{
    font-size:14px!important;
}
.npb-player-statistics-page .npb-count-badge{
    font-size:12px!important;
    font-weight:700!important;
}

.npb-player-statistics-page .npb-player-statistics-simple-table thead th{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    color:#64748B!important;
    line-height:1.3!important;
}
.npb-player-statistics-page .npb-player-statistics-simple-table tbody th,
.npb-player-statistics-page .npb-player-statistics-simple-table tbody td{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-variant-numeric:tabular-nums!important;
}
.npb-player-statistics-page .npb-ranking-player-copy strong{
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.25!important;
    color:#0F172A!important;
}
.npb-player-statistics-page .npb-ranking-player-copy small{
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.25!important;
    color:#64748B!important;
}
.npb-player-statistics-page .npb-player-stat-position-badge{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:700!important;
}
.npb-player-statistics-page .npb-ranking-played,
.npb-player-statistics-page .npb-ranking-saldo,
.npb-player-statistics-page .npb-ranking-percentage,
.npb-player-statistics-page .is-win,
.npb-player-statistics-page .is-loss{
    font-variant-numeric:tabular-nums!important;
}

/* Rechter infoblokken */
.npb-player-statistics-page .npb-ranking-sidecard-title h3,
.npb-player-statistics-page .npb-ranking-sidecard>h3{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:14px!important;
    font-style:normal!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    line-height:1.3!important;
}
.npb-player-statistics-page .npb-ranking-sidecard dl{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
}
.npb-player-statistics-page .npb-ranking-sidecard dl>div{
    grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr)!important;
    gap:12px!important;
    align-items:start!important;
}
.npb-player-statistics-page .npb-ranking-sidecard dt{
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.4!important;
    color:#475569!important;
}
.npb-player-statistics-page .npb-ranking-sidecard dd{
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.4!important;
    text-align:right!important;
    overflow-wrap:anywhere!important;
}
.npb-player-statistics-page .npb-ranking-sidecard-legend dl>div{
    grid-template-columns:78px minmax(0,1fr)!important;
}
.npb-player-statistics-page .npb-ranking-sidecard-legend dt{
    font-size:13px!important;
    font-weight:700!important;
}
.npb-player-statistics-page .npb-ranking-sidecard-legend dd{
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.45!important;
    text-align:left!important;
}

/* Licht thema: leesbare labels/waarden in rechter sidebar */
.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard dt,
.npb-player-statistics-page[data-ranking-theme="light"] .npb-ranking-sidecard dt{
    color:#475569!important;
}
.npb-player-statistics-page[data-competition-theme="light"] .npb-ranking-sidecard dd,
.npb-player-statistics-page[data-ranking-theme="light"] .npb-ranking-sidecard dd{
    color:#0F172A!important;
}

@media(max-width:700px){
    .npb-player-statistics-page .npb-season-control select{
        min-width:140px!important;
        width:100%!important;
    }
    .npb-player-statistics-page .npb-ranking-list-header h2{
        font-size:21px!important;
    }
    .npb-player-statistics-page .npb-ranking-sidecard dl>div{
        grid-template-columns:1fr!important;
        gap:3px!important;
    }
    .npb-player-statistics-page .npb-ranking-sidecard dd{
        text-align:left!important;
    }
}


/* =========================================================
   5.20.70 - Player Center detail: consistente sans-serif typografie
   ========================================================= */
#npb-player-pro,
#npb-player-pro *{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
}
#npb-player-pro .npb-player-pro-breadcrumbs,
#npb-player-pro .npb-player-pro-breadcrumbs a,
#npb-player-pro .npb-player-pro-breadcrumbs strong{
    font-size:12px!important;
    font-weight:500!important;
    color:#64748B!important;
}
#npb-player-pro .npb-player-pro-identity h1{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:28px!important;
    line-height:1.15!important;
    font-style:normal!important;
    font-weight:800!important;
    text-transform:none!important;
    letter-spacing:0!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-badges span,
#npb-player-pro .npb-player-pro-badges b{
    font-size:13px!important;
    font-weight:600!important;
}
#npb-player-pro .npb-player-pro-facts span{
    font-size:11px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.45px!important;
    color:#64748B!important;
}
#npb-player-pro .npb-player-pro-facts strong{
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.35!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-season-control span{
    font-size:11px!important;
    font-weight:600!important;
    color:#64748B!important;
}
#npb-player-pro .npb-player-pro-season-control select{
    font-size:13px!important;
    font-weight:500!important;
}
#npb-player-pro .npb-player-pro-ranking-card>span{
    font-size:11px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    color:rgba(255,255,255,.82)!important;
}
#npb-player-pro .npb-player-pro-ranking-card>strong{
    font-size:32px!important;
    font-weight:800!important;
    line-height:1!important;
}
#npb-player-pro .npb-player-pro-ranking-card>b,
#npb-player-pro .npb-player-pro-ranking-card>small{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:12px!important;
    line-height:1.4!important;
    color:#fff!important;
}
#npb-player-pro .npb-player-pro-action strong{
    font-size:14px!important;
    font-weight:700!important;
}
#npb-player-pro .npb-player-pro-action small{
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.35!important;
    color:#E2E8F0!important;
}
#npb-player-pro .npb-player-pro-card>h2,
#npb-player-pro .npb-player-pro-stats-heading h2{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:15px!important;
    font-style:normal!important;
    font-weight:700!important;
    line-height:1.3!important;
    color:#C2410C!important;
}
#npb-player-pro .npb-player-pro-card dl dt{
    font-size:13px!important;
    font-weight:600!important;
    color:#334155!important;
}
#npb-player-pro .npb-player-pro-card dl dd,
#npb-player-pro .npb-player-pro-card dl dd a{
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.4!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-stats span{
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important;
    color:#64748B!important;
}
#npb-player-pro .npb-player-pro-stats strong{
    font-size:17px!important;
    font-weight:800!important;
    font-variant-numeric:tabular-nums!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-card-head>div>span{
    font-size:11px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    color:#EA580C!important;
}
#npb-player-pro .npb-player-pro-card-head h2,
#npb-player-pro .npb-player-pro-card-head h2 b{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:19px!important;
    font-style:normal!important;
    font-weight:800!important;
    line-height:1.25!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-match-list,
#npb-player-pro .npb-player-pro-match-list *{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
}
#npb-player-pro .npb-player-pro-match-list strong{
    font-size:14px!important;
    font-weight:700!important;
    color:#0F172A!important;
}
#npb-player-pro .npb-player-pro-match-list small{
    font-size:12px!important;
    line-height:1.4!important;
    color:#64748B!important;
}
#npb-player-pro .npb-player-pro-match-list .npb-player-pro-match-score,
#npb-player-pro .npb-player-pro-match-list [data-score]{
    font-size:14px!important;
    font-weight:800!important;
    font-variant-numeric:tabular-nums!important;
}
#npb-player-pro .npb-player-pro-status{
    font-size:12px!important;
    font-weight:700!important;
}
#npb-player-pro .npb-player-pro-all-results{
    font-size:14px!important;
    font-weight:700!important;
    color:#EA580C!important;
}
@media(max-width:700px){
    #npb-player-pro .npb-player-pro-identity h1{font-size:24px!important}
    #npb-player-pro .npb-player-pro-card-head h2,
    #npb-player-pro .npb-player-pro-card-head h2 b{font-size:18px!important}
}


/* =========================================================
   5.20.71 - Competitie PRO: moderne, uniforme typografie
   ========================================================= */

/* Competitie PRO volledig sans-serif */
.npb-competition-pro,
.npb-competition-pro *,
.npb-competitie-pro,
.npb-competitie-pro *,
.npb-standings,
.npb-standings *,
.npb-competition,
.npb-competition *{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
}

/* Titelblokken: geen cursief/condensed effect */
.npb-competition-pro h1,
.npb-competition-pro h2,
.npb-competition-pro h3,
.npb-competitie-pro h1,
.npb-competitie-pro h2,
.npb-competitie-pro h3,
.npb-standings h1,
.npb-standings h2,
.npb-standings h3,
.npb-competition h1,
.npb-competition h2,
.npb-competition h3{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-style:normal!important;
}

/* STAND / kleine bovenlabels */
.npb-competition-pro .eyebrow,
.npb-competition-pro .npb-eyebrow,
.npb-competitie-pro .eyebrow,
.npb-standings .eyebrow{
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.5px!important;
    color:#64748B!important;
}

/* Competitienaam zoals Super League */
.npb-competition-pro .competition-title,
.npb-competition-pro .npb-title,
.npb-competitie-pro .competition-title,
.npb-standings .competition-title,
.npb-standings header h2{
    font-size:22px!important;
    line-height:1.2!important;
    font-weight:800!important;
    font-style:normal!important;
    text-transform:none!important;
    letter-spacing:0!important;
}

/* League-keuze + Stand/Wedstrijden tabs */
.npb-competition-pro button,
.npb-competition-pro .uk-button,
.npb-competition-pro .tab,
.npb-competition-pro .tabs a,
.npb-competitie-pro button,
.npb-competitie-pro .uk-button,
.npb-standings button,
.npb-standings .tab,
.npb-standings .tabs a{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:600!important;
    font-style:normal!important;
}

/* Tabellen */
.npb-competition-pro table,
.npb-competitie-pro table,
.npb-standings table,
.npb-competition table{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-variant-numeric:tabular-nums!important;
}
.npb-competition-pro table th,
.npb-competitie-pro table th,
.npb-standings table th,
.npb-competition table th{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:700!important;
    font-style:normal!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important;
    color:#64748B!important;
    vertical-align:middle!important;
}
.npb-competition-pro table td,
.npb-competitie-pro table td,
.npb-standings table td,
.npb-competition table td{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:500!important;
    font-style:normal!important;
    font-variant-numeric:tabular-nums!important;
    vertical-align:middle!important;
}
.npb-competition-pro table td:nth-child(n+3),
.npb-competition-pro table th:nth-child(n+3),
.npb-competitie-pro table td:nth-child(n+3),
.npb-competitie-pro table th:nth-child(n+3),
.npb-standings table td:nth-child(n+3),
.npb-standings table th:nth-child(n+3){
    text-align:center!important;
}
.npb-competition-pro table td:nth-child(2),
.npb-competitie-pro table td:nth-child(2),
.npb-standings table td:nth-child(2){
    font-weight:650!important;
    color:#0F172A!important;
}

/* Rechter informatiekaarten */
.npb-competition-pro aside,
.npb-competition-pro .info-card,
.npb-competition-pro .legend-card,
.npb-competitie-pro aside,
.npb-standings aside,
.npb-standings .info-card,
.npb-standings .legend-card{
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
}
.npb-competition-pro aside h3,
.npb-competition-pro .info-card h3,
.npb-competition-pro .legend-card h3,
.npb-competitie-pro aside h3,
.npb-standings aside h3{
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:800!important;
    font-style:normal!important;
    text-transform:uppercase!important;
    letter-spacing:.3px!important;
}
.npb-competition-pro aside dt,
.npb-competition-pro .info-card dt,
.npb-competitie-pro aside dt,
.npb-standings aside dt{
    font-size:13px!important;
    line-height:1.6!important;
    font-weight:500!important;
}
.npb-competition-pro aside dd,
.npb-competition-pro .info-card dd,
.npb-competitie-pro aside dd,
.npb-standings aside dd{
    font-size:13px!important;
    line-height:1.6!important;
    font-weight:700!important;
}
.npb-competition-pro .legend-card,
.npb-competition-pro .legend-card *,
.npb-competitie-pro .legend-card,
.npb-standings .legend-card,
.npb-standings .legend-card *{
    line-height:1.5!important;
}
.npb-competition-pro .legend-card b,
.npb-competitie-pro .legend-card b,
.npb-standings .legend-card b{
    font-size:13px!important;
    font-weight:800!important;
}
.npb-competition-pro .legend-card span,
.npb-competitie-pro .legend-card span,
.npb-standings .legend-card span{
    font-size:13px!important;
    font-weight:500!important;
}

@media(max-width:900px){
    .npb-competition-pro table td,
    .npb-competitie-pro table td,
    .npb-standings table td{font-size:13px!important}
    .npb-competition-pro .competition-title,
    .npb-competitie-pro .competition-title,
    .npb-standings .competition-title{font-size:20px!important}
}


/* =========================================================
   5.20.72 - YOOtheme typografie blijft leidend buiten NPB component
   =========================================================
   Geen globale .tm-header / .uk-navbar font overrides vanuit NPB Beheer.
   Alle NPB typografie-aanpassingen blijven voortaan scoped binnen
   de componentcontainers zelf.
*/


/* 5.20.75 - Team Center: moderne NPB sport-dashboard styling (veilig gescoped) */
#npb-team-pro,
#npb-team-pro * { box-sizing:border-box; }
#npb-team-pro {
  --tc-navy:#0b3558; --tc-ink:#0f172a; --tc-muted:#64748b; --tc-line:#e2e8f0;
  --tc-bg:#f1f5f9; --tc-orange:#f97316; --tc-green:#10b981; --tc-red:#ef4444;
  background:var(--tc-bg); color:var(--tc-ink);
  font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;
}
#npb-team-pro button,#npb-team-pro input,#npb-team-pro select,#npb-team-pro textarea{font-family:inherit}
#npb-team-pro .npb-team-pro-breadcrumbs{font-size:13px;color:var(--tc-muted)}
#npb-team-pro .npb-team-pro-breadcrumbs strong{color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-identity h1{font-family:inherit;font-style:normal;text-transform:none;font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-badges span{font-size:13px;font-weight:600;color:#334155}
#npb-team-pro .npb-team-pro-facts span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;color:var(--tc-muted)}
#npb-team-pro .npb-team-pro-facts strong{font-size:14px;font-weight:700;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-captain{background:linear-gradient(135deg,#0b3558,#164f7c);box-shadow:0 12px 28px rgba(11,53,88,.16)}
#npb-team-pro .npb-team-pro-captain span{font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;color:#fed7aa}
#npb-team-pro .npb-team-pro-captain h2{font-family:inherit;font-style:normal;font-size:24px;line-height:1.15;font-weight:800;color:#fff}
#npb-team-pro .npb-team-pro-captain a{font-size:13px;font-weight:600;color:#e2e8f0}
#npb-team-pro .npb-team-pro-captain-avatar{background:#fff;color:var(--tc-navy);box-shadow:0 0 0 4px rgba(255,255,255,.18)}
#npb-team-pro .npb-team-pro-actions button,#npb-team-pro .npb-team-pro-actions a{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#npb-team-pro .npb-team-pro-actions button:not(:disabled):hover,#npb-team-pro .npb-team-pro-actions a:hover{transform:translateY(-2px);border-color:#fdba74;box-shadow:0 10px 15px -3px rgba(15,23,42,.12)}
#npb-team-pro .npb-team-pro-action-icon{padding:7px;border-radius:50%;background:#ffedd5;color:#c2410c}
#npb-team-pro .npb-team-pro-actions strong{font-size:14px;font-weight:700;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-actions small{font-size:12px;line-height:1.4;color:var(--tc-muted)}
#npb-team-pro .npb-team-pro-position-panel,#npb-team-pro .npb-team-pro-card{border-color:var(--tc-line);box-shadow:0 8px 22px rgba(15,23,42,.055)}
#npb-team-pro .npb-team-pro-position-head>div>span,#npb-team-pro .npb-team-pro-card h3{font-family:inherit;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#475569}
#npb-team-pro .npb-team-pro-position-head h3{font-family:inherit;font-style:normal;font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-position-stats small{font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:var(--tc-muted)}
#npb-team-pro .npb-team-pro-position-stats strong{font-family:inherit;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-position-stats div:last-child strong{color:var(--tc-green)}
#npb-team-pro .npb-team-pro-position-compare label>span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#475569}
#npb-team-pro .npb-team-pro-position-compare select{font-size:13px;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-position-note{font-family:inherit;font-size:13px;line-height:1.5;color:#475569}
#npb-team-pro .npb-team-pro-card dt{font-size:13px;font-weight:700;color:#334155}
#npb-team-pro .npb-team-pro-card dd,#npb-team-pro .npb-team-pro-card dd a{font-size:13px;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-stats span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;color:var(--tc-muted)}
#npb-team-pro .npb-team-pro-stats strong{font-family:inherit;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--tc-ink)}
#npb-team-pro .npb-team-pro-main table{font-family:inherit;font-size:13px}
#npb-team-pro .npb-team-pro-main th{font-family:inherit;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}
#npb-team-pro .npb-team-pro-main td{font-family:inherit;color:var(--tc-ink);font-variant-numeric:tabular-nums}
@media(max-width:700px){#npb-team-pro .npb-team-pro-identity h1{font-size:23px}#npb-team-pro .npb-team-pro-captain h2{font-size:20px}}


/* NPB Beheer 5.20.78 - Team Center loading/hidden state fix */
#npb-team-pro .npb-team-pro-results-empty[hidden],
#npb-team-pro [data-pro-results-empty][hidden]{
    display:none!important;
}

/* 5.20.81 — moderne NPB UI + vierkante afgeronde spelersfoto's */
#npb-team-pro,
.npb-ranking-page,
.npb-player-pro,
.npb-competitions-public{font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif!important}
#npb-team-pro .npb-team-pro-captain img,
#npb-team-pro .npb-team-pro-captain-photo,
#npb-team-pro [class*="captain"] img{
  border-radius:12px!important;
  object-fit:cover!important;
}
.npb-ranking-page .npb-ranking-player-photo,
.npb-ranking-page [class*="player-photo"] img,
.npb-ranking-page td img{
  border-radius:9px!important;
  object-fit:cover!important;
}


/* ==========================================================================
   NPB Beheer 5.20.89 - Profielfoto's vierkant met rounded corners
   ========================================================================== */

/* Spelersranking */
.npb-ranking-player-photo,
.npb-player-statistics-simple-table .npb-ranking-player-photo,
.npb-player-ranking-card-player .npb-ranking-player-photo {
    aspect-ratio:1/1 !important;
    border-radius:9px !important;
    object-fit:cover !important;
}

/* Player Center / spelersdetail */
#npb-player-pro .npb-player-pro-photo {
    border-radius:16px !important;
}
#npb-player-pro .npb-player-pro-photo img {
    border-radius:10px !important;
    object-fit:cover !important;
}

/* Team Center - captain */
#npb-team-pro .npb-team-pro-captain-avatar {
    border-radius:16px !important;
    overflow:hidden !important;
}
#npb-team-pro .npb-team-pro-captain-avatar img {
    border-radius:12px !important;
    object-fit:cover !important;
}

/* Mijn NPB - eigen profielfoto */
.npb-mynpb .mn-avatar,
.npb-mynpb .mn-avatar img {
    border-radius:12px !important;
    object-fit:cover !important;
}

/* Mijn NPB - teamleden */
.npb-mynpb .mn-team-member img,
.npb-mynpb .mn-roster-person img {
    aspect-ratio:1/1 !important;
    border-radius:10px !important;
    object-fit:cover !important;
}

/* Captain Center spelerslijsten */
.npb-mynpb .mn-captain-center img,
.npb-mynpb .mn-captain-roster img {
    aspect-ratio:1/1 !important;
    border-radius:10px !important;
    object-fit:cover !important;
}


/* ==========================================================================
   NPB Beheer 5.20.90 - Team Center zijpaneel: vierkante foto's
   ========================================================================== */
.npb-team-center .npb-team-player-photo {
    width:38px !important;
    height:38px !important;
    aspect-ratio:1/1 !important;
    border-radius:9px !important;
    object-fit:cover !important;
    flex:0 0 38px !important;
}
.npb-team-center .npb-team-captain-card {
    grid-template-columns:56px minmax(0,1fr) !important;
}
.npb-team-center .npb-team-captain-photo {
    grid-row:1 / span 3;
    width:52px !important;
    height:52px !important;
    aspect-ratio:1/1 !important;
    border-radius:10px !important;
    object-fit:cover !important;
    align-self:center;
}


/* ==========================================================================
   NPB Beheer 5.20.91 - Team Center captainfoto vierkant met rounded corners
   ========================================================================== */

/* Grote captainkaart in Team Center */
#npb-team-pro .npb-team-pro-captain-avatar,
#npb-team-pro .npb-team-pro-captain-photo,
#npb-team-pro .captain-avatar,
#npb-team-pro .captain-photo {
    border-radius:14px !important;
    overflow:hidden !important;
    aspect-ratio:1/1 !important;
}

#npb-team-pro .npb-team-pro-captain-avatar img,
#npb-team-pro .npb-team-pro-captain-photo img,
#npb-team-pro .captain-avatar img,
#npb-team-pro .captain-photo img {
    width:100% !important;
    height:100% !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    border-radius:12px !important;
}

/* Eventuele directe img in captain-card */
#npb-team-pro .npb-team-pro-captain-card img,
#npb-team-pro .team-captain-card img {
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    border-radius:12px !important;
}

/* Zijpaneel / quick team drawer */
.npb-team-drawer .captain-photo,
.npb-team-drawer .captain-photo img,
.npb-team-drawer .player-photo,
.npb-team-drawer .player-photo img,
.npb-team-panel .captain-photo,
.npb-team-panel .captain-photo img,
.npb-team-panel .player-photo,
.npb-team-panel .player-photo img {
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    border-radius:9px !important;
}


/* ==========================================================================
   NPB Beheer 5.21.01 - Spelersranking: donker thema contrast & leesbaarheid
   ========================================================================== */

/* Algemeen: ranking gebruikt één moderne UI-typografie. */
.npb-player-statistics-page,
.npb-player-statistics-page table,
.npb-player-statistics-page input,
.npb-player-statistics-page select,
.npb-player-statistics-page button {
    font-family: Inter, Roboto, "Segoe UI", Arial, sans-serif !important;
}

/* Donker thema: tabelkoppen helder genoeg, maar secundair. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table thead th {
    color: #9fc7e8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
}

/* Rijteksten en cijfers. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table tbody th,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table tbody td {
    color: #f8fafc !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-player-copy strong {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-player-copy small {
    color: #a9bdd0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-played,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-percentage {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Functionele sportkleuren met voldoende contrast. */
.npb-player-statistics-page[data-competition-theme="dark"] .is-win,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-saldo.is-positive {
    color: #4ade80 !important;
    font-weight: 800 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .is-loss,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-saldo.is-negative {
    color: #fb7185 !important;
    font-weight: 800 !important;
}

/* Positiebadges: donkere tekst op lichte badge. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-stat-position-badge {
    background: #e8f2ff !important;
    color: #0b3558 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-weight: 900 !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-stat-position-badge.is-top-1 {
    background: #fff0d7 !important;
    color: #9a4c00 !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-stat-position-badge.is-top-2 {
    background: #e8edf3 !important;
    color: #3d4c5b !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-stat-position-badge.is-top-3 {
    background: #f5e2d4 !important;
    color: #874018 !important;
}

/* Donkere rijen iets meer onderscheid, plus hover. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table tbody tr {
    background: rgba(255,255,255,.015) !important;
    transition: background .15s ease, transform .15s ease;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table tbody tr:nth-child(even) {
    background: rgba(255,255,255,.035) !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-simple-table tbody tr:hover {
    background: rgba(51,153,255,.10) !important;
}

/* Rechter kaarten: expliciete lichte typografie in donker thema. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard {
    color: #ffffff !important;
    background: linear-gradient(145deg,#0c3b68 0%,#104f86 100%) !important;
    border-color: rgba(255,255,255,.18) !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard h3,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard-title h3 {
    color: #ffffff !important;
    font-weight: 900 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard dt {
    color: #c7d8e7 !important;
    font-weight: 700 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard dd {
    color: #ffffff !important;
    font-weight: 800 !important;
}

.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-sidecard-legend dd {
    color: #e8f1f8 !important;
    font-weight: 600 !important;
}

/* Zoekveld donker thema: invoer zelf licht houden voor maximale leesbaarheid. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-search input {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd9e5 !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-search input::placeholder {
    color: #64748b !important;
}

/* Mobiele rankingkaarten dezelfde contrastregels. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card {
    background: rgba(255,255,255,.035) !important;
    border-color: rgba(255,255,255,.14) !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-player .npb-ranking-player-copy strong {
    color: #fff !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-player .npb-ranking-player-copy small,
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-stat span {
    color: #a9bdd0 !important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-stat strong {
    color: #fff !important;
}

/* Houd foto's vierkant met rounded corners. */
.npb-player-statistics-page .npb-ranking-player-photo {
    border-radius: 9px !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
}


/* ==========================================================================
   NPB Beheer 5.21.02 - Competitie PRO: leesbaarheid, seizoenveld en thema polish
   ========================================================================== */

/* Basis UI-typografie binnen Competitie PRO */
.npb-competitions-public,
.npb-competitions-public table,
.npb-competitions-public input,
.npb-competitions-public select,
.npb-competitions-public button {
    font-family: Inter, Roboto, "Segoe UI", Arial, sans-serif !important;
}

/* Seizoenkeuze: jaartal nooit meer afkappen */
.npb-competitions-public select[name="season"],
.npb-competitions-public .npb-season-select,
.npb-competitions-public .npb-competition-season-select,
.npb-competitions-public [data-season-select] {
    min-width: 132px !important;
    width: auto !important;
    padding-right: 34px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

/* Filter/tab-knoppen */
.npb-competitions-public .npb-league-tab,
.npb-competitions-public .npb-class-tab,
.npb-competitions-public .npb-competition-tab,
.npb-competitions-public .npb-competition-view-tab {
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Standtitel niet schuin, betere hiërarchie */
.npb-competitions-public .npb-competition-heading,
.npb-competitions-public .npb-competition-title,
.npb-competitions-public .npb-stand-title {
    font-style: normal !important;
    letter-spacing: 0 !important;
}

/* Tabelkoppen */
.npb-competitions-public table thead th {
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

/* Teamnamen en cijfers */
.npb-competitions-public table tbody td,
.npb-competitions-public table tbody th {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.npb-competitions-public table tbody td:first-child + td,
.npb-competitions-public table tbody .npb-team-name,
.npb-competitions-public table tbody a {
    font-weight: 700 !important;
}

.npb-competitions-public table {
    font-variant-numeric: tabular-nums !important;
}

/* Rechter infokaarten in licht thema iets krachtiger */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-side-card,
.npb-competitions-public[data-competition-theme="light"] .npb-stand-sidebar-card,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-info-card {
    background: linear-gradient(145deg, #0e5a91 0%, #146aa7 100%) !important;
    color: #fff !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-competition-side-card *,
.npb-competitions-public[data-competition-theme="light"] .npb-stand-sidebar-card *,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-info-card * {
    color: inherit;
}

/* Donker thema: alle tabelteksten echt leesbaar */
.npb-competitions-public[data-competition-theme="dark"] {
    color: #f8fafc !important;
}

.npb-competitions-public[data-competition-theme="dark"] table thead th {
    color: #9fc7e8 !important;
}

.npb-competitions-public[data-competition-theme="dark"] table tbody td,
.npb-competitions-public[data-competition-theme="dark"] table tbody th,
.npb-competitions-public[data-competition-theme="dark"] table tbody a {
    color: #f8fafc !important;
}

.npb-competitions-public[data-competition-theme="dark"] table tbody tr:nth-child(even) {
    background: rgba(255,255,255,.035) !important;
}

.npb-competitions-public[data-competition-theme="dark"] table tbody tr:hover {
    background: rgba(56,189,248,.08) !important;
}

/* Uniforme licht/donker toggle: zelfde maat en iconen */
.npb-competitions-public [data-competition-theme-toggle] {
    min-height: 38px !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.npb-competitions-public .npb-competition-theme-light,
.npb-competitions-public .npb-competition-theme-dark {
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Actieve tab sterker, inactieve duidelijk maar rustiger */
.npb-competitions-public .is-active,
.npb-competitions-public [aria-selected="true"] {
    font-weight: 800 !important;
}

/* Mobiel/kleine desktop: selector en tabs niet afknellen */
@media (max-width: 900px) {
    .npb-competitions-public select[name="season"],
    .npb-competitions-public .npb-season-select,
    .npb-competitions-public .npb-competition-season-select,
    .npb-competitions-public [data-season-select] {
        min-width: 128px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.21.03 - Competitie PRO Light Clean
   ========================================================================== */

/* Lichte modus: schone witte tabel, geen crème/oranje vlak. */
.npb-competitions-public[data-competition-theme="light"] table,
.npb-competitions-public[data-competition-theme="light"] table tbody,
.npb-competitions-public[data-competition-theme="light"] table tbody tr,
.npb-competitions-public[data-competition-theme="light"] table tbody td,
.npb-competitions-public[data-competition-theme="light"] table tbody th {
    background: #ffffff !important;
}

.npb-competitions-public[data-competition-theme="light"] table tbody tr:nth-child(even) td,
.npb-competitions-public[data-competition-theme="light"] table tbody tr:nth-child(even) th {
    background: #f8fafc !important;
}

.npb-competitions-public[data-competition-theme="light"] table tbody tr:hover td,
.npb-competitions-public[data-competition-theme="light"] table tbody tr:hover th {
    background: #f1f5f9 !important;
}

/* Tabelkop licht en rustig. */
.npb-competitions-public[data-competition-theme="light"] table thead,
.npb-competitions-public[data-competition-theme="light"] table thead tr,
.npb-competitions-public[data-competition-theme="light"] table thead th {
    background: #eef4f8 !important;
    color: #475569 !important;
}

/* Teamnamen en cijfers in licht thema. */
.npb-competitions-public[data-competition-theme="light"] table tbody td,
.npb-competitions-public[data-competition-theme="light"] table tbody th,
.npb-competitions-public[data-competition-theme="light"] table tbody a {
    color: #0f172a !important;
}

.npb-competitions-public[data-competition-theme="light"] table tbody a {
    font-weight: 700 !important;
}

.npb-competitions-public[data-competition-theme="light"] table tbody td:last-child {
    color: #f97316 !important;
    font-weight: 800 !important;
}

/* Positiebadges: donker cijfer op lichte badge voor maximaal contrast. */
.npb-competitions-public[data-competition-theme="light"] .npb-position-badge,
.npb-competitions-public[data-competition-theme="light"] .npb-rank-badge,
.npb-competitions-public[data-competition-theme="light"] .npb-place-badge,
.npb-competitions-public[data-competition-theme="light"] tbody td:first-child span {
    background: #fff0d7 !important;
    color: #7c3f00 !important;
    border: 1px solid #f6c88a !important;
    font-weight: 900 !important;
}

/* Rechter infokaarten blijven krachtig donkerblauw, maar met helder witte tekst. */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-side-card,
.npb-competitions-public[data-competition-theme="light"] .npb-stand-sidebar-card,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-info-card,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-legend {
    background: linear-gradient(145deg, #0d5b93 0%, #146ca9 100%) !important;
    color: #ffffff !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-competition-side-card *,
.npb-competitions-public[data-competition-theme="light"] .npb-stand-sidebar-card *,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-info-card *,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-legend * {
    color: inherit !important;
}

/* Oranje titels in rechter kaarten mogen accent blijven. */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-side-card h3,
.npb-competitions-public[data-competition-theme="light"] .npb-stand-sidebar-card h3,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-legend h3 {
    color: #ff9a3d !important;
}

/* Seizoensselectie: ruim genoeg voor volledig jaartal. */
.npb-competitions-public select[name="season"],
.npb-competitions-public .npb-season-select,
.npb-competitions-public .npb-competition-season-select,
.npb-competitions-public [data-season-select] {
    min-width: 148px !important;
    width: 148px !important;
    padding-right: 36px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Actieve/inactieve view-tabs in light theme. */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-view-tab,
.npb-competitions-public[data-competition-theme="light"] .npb-view-tab {
    background: #ffffff !important;
    color: #0f3b66 !important;
    border-color: #cbd9e5 !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-competition-view-tab.is-active,
.npb-competitions-public[data-competition-theme="light"] .npb-view-tab.is-active,
.npb-competitions-public[data-competition-theme="light"] [aria-selected="true"] {
    background: #f97316 !important;
    color: #ffffff !important;
    border-color: #f97316 !important;
}

/* Subtielere borders zodat licht thema één geheel vormt. */
.npb-competitions-public[data-competition-theme="light"] table,
.npb-competitions-public[data-competition-theme="light"] .npb-competition-table-wrap {
    border-color: #dbe5ec !important;
}


/* ==========================================================================
   5.21.04 - Exacte Competitie PRO selectors uit live bron
   ========================================================================== */

.npb-competitions-public[data-competition-theme="light"] .npb-standings-table{
    width:100%;
    background:#fff !important;
    border-collapse:separate;
    border-spacing:0;
}

.npb-competitions-public[data-competition-theme="light"] .npb-standings-table thead th{
    background:#edf4fa !important;
    color:#334155 !important;
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.035em !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row) > th,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row) > td{
    background:#ffffff !important;
    color:#0f172a !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row):nth-of-type(4n+3) > th,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row):nth-of-type(4n+3) > td{
    background:#f8fafc !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row):hover > th,
.npb-competitions-public[data-competition-theme="light"] .npb-standings-table tbody tr:not(.npb-my-team-row):hover > td{
    background:#f1f5f9 !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-team-name{
    color:#0f172a !important;
    font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif !important;
    font-weight:750 !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-position-badge{
    background:#fff0db !important;
    color:#7c3f00 !important;
    border:1px solid #f2c584 !important;
    font-weight:900 !important;
}

.npb-competitions-public[data-competition-theme="light"] .npb-col-points strong{
    color:#f97316 !important;
    font-weight:900 !important;
}

/* Exact de live sidebar classes */
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard{
    background:linear-gradient(145deg,#0f5b91 0%,#156da8 100%) !important;
    color:#fff !important;
    border-color:rgba(11,53,88,.15) !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard h3{
    color:#ff9a3d !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dt{
    color:#d7e7f3 !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-sidecard dd{
    color:#fff !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-standings-pro-legend dd{
    color:#f8fafc !important;
}

/* Exacte seizoen-selector uit live bron */
.npb-competitions-public #npb-season{
    min-width:154px !important;
    width:154px !important;
    max-width:none !important;
    padding-left:14px !important;
    padding-right:38px !important;
    box-sizing:border-box !important;
    font-size:14px !important;
    font-weight:750 !important;
}

/* Toggle-state moet visueel overeenkomen met data-competition-theme */
.npb-competitions-public[data-competition-theme="light"] .npb-competition-theme-light{
    background:#0f6da8 !important;
    color:#fff !important;
}
.npb-competitions-public[data-competition-theme="light"] .npb-competition-theme-dark{
    background:transparent !important;
    color:#64748b !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-theme-dark{
    background:#1677b8 !important;
    color:#fff !important;
}
.npb-competitions-public[data-competition-theme="dark"] .npb-competition-theme-light{
    background:transparent !important;
    color:#9fb4c7 !important;
}


/* 5.22.00 - Thema Manager */
.npb-theme-manager{max-width:1200px;margin:0 auto;padding:24px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:#0b3558}
.npb-theme-manager-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 28px;margin-bottom:18px;border-radius:18px;background:linear-gradient(135deg,#0b3558,#145d8e);color:#fff}
.npb-theme-manager-hero span{color:#ff9a3d;font-size:12px;font-weight:900;letter-spacing:.08em}
.npb-theme-manager-hero h1{color:#fff;margin:4px 0 5px;font-size:30px}
.npb-theme-manager-hero p{margin:0;color:#d9e7f2}
.npb-theme-manager-panel,.npb-theme-editor{background:#fff;border:1px solid #dce7ef;border-radius:16px;box-shadow:0 8px 24px rgba(11,53,88,.06);margin-bottom:16px;overflow:hidden}
.npb-theme-manager-panel{padding:20px}
.npb-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.npb-theme-choice{position:relative;display:block;cursor:pointer}
.npb-theme-choice input{position:absolute;opacity:0}
.npb-theme-preview{display:flex;flex-direction:column;gap:4px;min-height:82px;padding:14px;border:2px solid #dbe6ee;border-radius:13px;background:#f8fafc}
.npb-theme-choice:has(input:checked) .npb-theme-preview{border-color:#ff7900;background:#fff8f1;box-shadow:0 0 0 3px rgba(255,121,0,.1)}
.npb-theme-preview-1{border-top:6px solid #ff7900}.npb-theme-preview-2{border-top:6px solid #2563eb}.npb-theme-preview-3{border-top:6px solid #f97316}.npb-theme-preview-4{border-top:6px solid #071f35}.npb-theme-preview-5{border-top:6px solid #0f766e}
.npb-theme-preview strong{font-size:14px}.npb-theme-preview small{font-size:11px;color:#6b8192}
.npb-theme-editor summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;background:#fbfdff}
.npb-theme-editor summary::-webkit-details-marker{display:none}
.npb-theme-editor summary>b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#0b5688;color:#fff}
.npb-theme-editor summary>span:last-child{margin-left:auto}
.npb-theme-editor summary small{display:block;color:#718599;margin-top:2px}
.npb-theme-editor-body{padding:18px;border-top:1px solid #e3ebf1}
.npb-theme-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}
.npb-theme-form-grid label,.npb-theme-css-field{display:flex;flex-direction:column;gap:7px}
.npb-theme-form-grid input,.npb-theme-css-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd9e5;border-radius:10px;padding:11px 12px}
.npb-theme-css-field textarea{font-family:Consolas,"Courier New",monospace;background:#0b1f31;color:#dceeff;border-color:#1e4666;line-height:1.5}
.npb-theme-manager-actions{display:flex;justify-content:flex-end;padding:2px 0 28px}
@media(max-width:900px){.npb-theme-grid{grid-template-columns:1fr 1fr}.npb-theme-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.npb-theme-grid{grid-template-columns:1fr}.npb-theme-manager{padding:14px}}

/* =========================================================
   5.23.02 - Player Center PRO dark contrast / WCAG polish
   Uitsluitend #npb-player-pro in donkere modus.
   Geen invloed op YOOtheme of overige websitepagina's.
   ========================================================= */
#npb-player-pro[data-theme="dark"] {
    color:#f8fafc !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs,
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs a {
    color:#cbdced !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-breadcrumbs strong {
    color:#f8fafc !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-identity h1 {
    color:#ffffff !important;
    font-weight:800 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-facts span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-season-control label,
#npb-player-pro[data-theme="dark"] .npb-player-pro-season-control small {
    color:#a9bfd3 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-facts strong {
    color:#f8fafc !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-card {
    color:#eef6ff !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-card > h2,
#npb-player-pro[data-theme="dark"] .npb-player-pro-card-head h2,
#npb-player-pro[data-theme="dark"] .npb-player-pro-card-head h2 b {
    color:#f8fafc !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-card > h2,
#npb-player-pro[data-theme="dark"] .npb-player-pro-card-head > div > span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-stats-heading h2 {
    color:#ff8a1b !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-card dt {
    color:#a9bfd3 !important;
    font-weight:700 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-card dd,
#npb-player-pro[data-theme="dark"] .npb-player-pro-card dd a,
#npb-player-pro[data-theme="dark"] .npb-player-pro-card p {
    color:#f1f7fd !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-stats span {
    color:#a9bfd3 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-stats strong {
    color:#ffffff !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-date strong,
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-opponent strong {
    color:#f8fafc !important;
    font-weight:700 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-date span,
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-opponent span {
    color:#a9bfd3 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-homeaway {
    color:#e1edf8 !important;
    background:#103959 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-score {
    font-weight:900 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-score.is-win {
    color:#39d47e !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-score.is-loss {
    color:#ff6b6b !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-result.is-win {
    color:#4ade80 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-result.is-loss {
    color:#ff7474 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-actions button strong,
#npb-player-pro[data-theme="dark"] .npb-player-pro-actions button b {
    color:#ffffff !important;
    font-weight:800 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-actions button small {
    color:#e7f1fb !important;
    opacity:.9 !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-all-results {
    color:#ff9b3d !important;
}


/* =========================================================
   5.23.03 - Player Center wedstrijdhistorie thuis VS uit
   ========================================================= */
.npb-player-pro-match-side strong,
.npb-player-pro-match-side span {
    display: block;
}
.npb-player-pro-match-side strong {
    color: #172b45;
    font-weight: 800;
}
.npb-player-pro-match-side span {
    margin-top: 4px;
    color: #74849a;
    font-size: .74rem;
}
.npb-player-pro-match-vs {
    text-align: center;
    color: #17375f;
    font-weight: 900;
    letter-spacing: .04em;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-side strong,
#npb-player-pro:not([data-theme]) .npb-player-pro-match-side strong,
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-vs,
#npb-player-pro:not([data-theme]) .npb-player-pro-match-vs {
    color: #f8fafc !important;
}
#npb-player-pro[data-theme="dark"] .npb-player-pro-match-side span,
#npb-player-pro:not([data-theme]) .npb-player-pro-match-side span {
    color: #a9bdd1 !important;
}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-side strong,
#npb-player-pro[data-theme="light"] .npb-player-pro-match-vs {
    color: #102a4c !important;
}
#npb-player-pro[data-theme="light"] .npb-player-pro-match-side span {
    color: #687d98 !important;
}
@media(max-width:760px){
    .npb-player-pro-match-row{
        grid-template-columns:1fr 34px 1fr auto!important;
    }
    .npb-player-pro-match-date{
        grid-column:1 / -1;
    }
    .npb-player-pro-match-score{
        align-self:center;
    }
}

/* 5.24.00 Mailing PRO - Verjaardagsautomatisering */
.npb-birthday-stats{margin-bottom:18px}
.npb-birthday-stats>div{background:#fff;border:1px solid #dce7ef;border-radius:14px;padding:18px;display:flex;gap:12px;align-items:center}
.npb-birthday-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.npb-birthday-columns>div{background:#f7fafc;border:1px solid #dce7ef;border-radius:14px;padding:18px}
.npb-birthday-person{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid #e2eaf0}
.npb-birthday-person:last-child{border-bottom:0}
.npb-birthday-person span{font-size:.82rem;color:#6f8395;margin-top:3px}
.npb-birthday-history>div{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(190px,1.4fr) 70px 90px minmax(150px,1fr);gap:12px;padding:12px 4px;border-bottom:1px solid #e2eaf0;align-items:center}
.npb-birthday-history .ok{color:#16804b}.npb-birthday-history .bad{color:#c43d3d}
@media(max-width:760px){.npb-birthday-columns{grid-template-columns:1fr}.npb-birthday-history>div{grid-template-columns:1fr 1fr}.npb-birthday-history small{grid-column:1/-1}}

/* 5.24.02 - Mailing PRO Verjaardagen professionele layout */
.npb-birthday-pro{max-width:1180px;margin:0 auto 40px}
.npb-birthday-pro .npb-birthday-head{margin:0 0 18px;padding:0 4px}
.npb-birthday-pro .npb-birthday-head>span{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#0b3558;font-size:25px;box-shadow:0 8px 18px rgba(11,53,88,.14)}
.npb-birthday-pro .npb-birthday-head h2{margin:0;color:#0b3558;font-size:28px;line-height:1.05}
.npb-birthday-pro .npb-birthday-head p{margin:5px 0 0;color:#6d8194}
.npb-birthday-pro .npb-mail-dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.npb-birthday-pro .npb-mail-dashboard-stats>div{min-height:86px;padding:18px 20px;border:1px solid #d9e5ee;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 7px 20px rgba(16,52,82,.06)}
.npb-birthday-pro .npb-mail-dashboard-stats>div>span{font-size:28px}
.npb-birthday-pro .npb-mail-dashboard-stats b{display:block;color:#0b3558;font-size:25px;line-height:1}
.npb-birthday-pro .npb-mail-dashboard-stats small{display:block;margin-top:6px;color:#72879a;font-size:12px}
.npb-birthday-pro .npb-mail-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}
.npb-birthday-pro .npb-med-panel{border:1px solid #dbe6ee!important;border-radius:18px!important;background:#fff!important;padding:24px!important;box-shadow:0 9px 28px rgba(14,49,77,.07)!important;margin-bottom:18px}
.npb-birthday-pro .npb-mail-dashboard-grid .npb-med-panel{margin-bottom:0}
.npb-birthday-pro .npb-mail-panel-head{margin-bottom:18px}
.npb-birthday-pro .npb-mail-panel-head h2{margin:0 0 5px;color:#ed6b06;font-size:26px}
.npb-birthday-pro .npb-mail-panel-head p{margin:0;color:#657b8f;line-height:1.55}
.npb-birthday-pro .npb-rgrid{display:grid;gap:14px}
.npb-birthday-pro .npb-rgrid label{display:block;color:#18344f;font-weight:700}
.npb-birthday-pro .npb-rgrid input[type=text],
.npb-birthday-pro .npb-rgrid input[type=email],
.npb-birthday-pro .npb-rgrid textarea{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #cbdbe7;border-radius:10px;background:#fbfdff;color:#122e48;padding:11px 13px;font:inherit;outline:none}
.npb-birthday-pro .npb-rgrid textarea{min-height:150px;resize:vertical;line-height:1.55}
.npb-birthday-pro .npb-rgrid input:focus,
.npb-birthday-pro .npb-rgrid textarea:focus{border-color:#f47713;box-shadow:0 0 0 3px rgba(244,119,19,.12);background:#fff}
.npb-birthday-pro input[type=checkbox]{width:18px;height:18px;vertical-align:-4px;margin-right:7px;accent-color:#f47713}
.npb-birthday-pro .npb-mail-tags{display:flex;gap:7px;flex-wrap:wrap}
.npb-birthday-pro .npb-mail-tags code{padding:7px 10px;border:1px solid #d5e2eb;border-radius:8px;background:#eff5f9;color:#0b3558;font-weight:800}
.npb-birthday-pro .npb-med-primary{border:0;border-radius:10px;background:#f47713;color:#fff;font-weight:800;padding:11px 17px;cursor:pointer;box-shadow:0 5px 12px rgba(244,119,19,.18)}
.npb-birthday-pro .npb-mail-hint{padding:14px 16px;border-radius:11px;background:#f1f7fb;border-left:4px solid #0b5d91;color:#60778b;line-height:1.5}
.npb-birthday-pro .npb-birthday-columns{gap:16px}
.npb-birthday-pro .npb-birthday-columns>div{background:#f8fbfd;border:1px solid #d9e5ee;border-radius:14px;padding:18px}
.npb-birthday-pro .npb-birthday-columns h3{margin:0 0 14px;color:#ed6b06;font-size:20px}
.npb-birthday-pro .npb-birthday-person{padding:11px 0}
.npb-birthday-pro .npb-birthday-person b{color:#102f4c}
.npb-birthday-pro .npb-birthday-history>div{border-bottom:1px solid #e3ebf1;padding:12px 6px}
@media(max-width:900px){.npb-birthday-pro .npb-mail-dashboard-grid{grid-template-columns:1fr}.npb-birthday-pro .npb-mail-dashboard-stats{grid-template-columns:1fr}}

/* 5.24.03 - TeamCaptain SMS herinnering */
.mn-sms-reminder{margin-top:9px;padding:9px 10px;border:1px solid #f2c27d;border-radius:9px;background:#fff8ed;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.mn-sms-reminder-title{width:100%;font-size:.72rem;font-weight:900;color:#b65a00;text-transform:uppercase;letter-spacing:.04em}
.mn-sms-reminder-btn{background:#e76f00!important;border-color:#e76f00!important}

/* 5.24.04 - TeamCaptain mobiel synchronisatie + rustige herinneringsflow */
.mn-mobile-sync-form{margin-top:6px}
.mn-mobile-sync-btn{border:1px solid #79a9c7;border-radius:8px;background:#eef7fc;color:#0b5d91;padding:6px 9px;font-size:.72rem;font-weight:800;cursor:pointer}
.mn-mobile-sync-btn:hover{background:#e0f1fb}
.mn-cap-data-list .warn{background:#fff7e8!important;color:#9b5a08!important;border-color:#f1d29a!important}

/* 5.24.05 - Verjaardagen komende 7 dagen */
.npb-birthday-pro .npb-birthday-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.npb-birthday-pro .npb-birthday-upcoming .npb-birthday-date{color:#ed6b06;font-weight:800;margin-top:4px}
@media(max-width:1000px){.npb-birthday-pro .npb-birthday-columns{grid-template-columns:1fr 1fr}.npb-birthday-pro .npb-birthday-columns>div:last-child{grid-column:1/-1}}
@media(max-width:650px){.npb-birthday-pro .npb-birthday-columns{grid-template-columns:1fr}.npb-birthday-pro .npb-birthday-columns>div:last-child{grid-column:auto}}

/* 5.24.06 - TeamCaptain e-mailcontrole en synchronisatie */
.mn-email-sync-form{margin-top:6px}
.mn-email-sync-btn{border:1px solid #79a9c7;border-radius:8px;background:#eef7fc;color:#0b5d91;padding:6px 9px;font-size:.72rem;font-weight:800;cursor:pointer}
.mn-email-sync-btn:hover{background:#e0f1fb}

/* 5.24.07 - Verjaardagsmail verzendhistorie + exacte mailpreview */
.npb-birthday-history-row{display:grid!important;grid-template-columns:minmax(190px,1.5fr) 80px 95px minmax(145px,1fr) auto!important;gap:14px!important;align-items:center!important}
.npb-birthday-history-person{display:flex;flex-direction:column;min-width:0}
.npb-birthday-history-person b{color:#102f4c}
.npb-birthday-history-person small{margin-top:3px;color:#70869a;overflow:hidden;text-overflow:ellipsis}
.npb-birthday-preview-btn{border:1px solid #0b5d91;border-radius:9px;background:#eef7fc;color:#0b5d91;padding:8px 11px;font-size:.76rem;font-weight:900;cursor:pointer;white-space:nowrap}
.npb-birthday-preview-btn:hover{background:#0b5d91;color:#fff}
.npb-birthday-preview-modal[hidden]{display:none!important}
.npb-birthday-preview-modal{position:fixed;z-index:100000;inset:0;background:rgba(4,22,37,.72);display:grid;place-items:center;padding:26px}
.npb-birthday-preview-shell{width:min(900px,96vw);height:min(860px,92vh);display:grid;grid-template-rows:auto 1fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.3)}
.npb-birthday-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:#0b3558;color:#fff}
.npb-birthday-preview-toolbar>div{display:flex;flex-direction:column}
.npb-birthday-preview-toolbar span{color:#ff8a24;font-size:.68rem;font-weight:900;letter-spacing:.09em}
.npb-birthday-preview-toolbar b{font-size:1rem;margin-top:2px}
.npb-birthday-preview-toolbar button{width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:25px;line-height:1;cursor:pointer}
#npbBirthdayPreviewFrame{width:100%;height:100%;border:0;background:#edf2f6}
html.npb-modal-open{overflow:hidden}
@media(max-width:760px){
 .npb-birthday-history-row{grid-template-columns:1fr auto!important}
 .npb-birthday-history-row>small{grid-column:1/-1}
 .npb-birthday-preview-btn{grid-column:1/-1}
 .npb-birthday-preview-modal{padding:8px}
 .npb-birthday-preview-shell{width:100%;height:96vh;border-radius:12px}
}


/* ==========================================================================
   5.24.08 - Locatie-afbeeldingen volledig tonen
   Logo's en foto's worden niet langer afgesneden door object-fit: cover.
   ========================================================================== */

/* Detailpagina: behoud de originele beeldverhouding en toon de hele afbeelding. */
.npb-locations-public .npb-location-hero-image {
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:var(--loc-surface, #f5f8fb) !important;
}

/* Overzichtskaarten: volledig beeld binnen een nette vaste beeldzone. */
.npb-locations-public .npb-location-card > img {
    display:block !important;
    width:100% !important;
    height:190px !important;
    min-height:190px !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#f4f7fa !important;
}

/* Donker thema krijgt een passende achtergrond rond afbeeldingen die niet breed zijn. */
.npb-locations-public[data-location-theme="dark"] .npb-location-card > img,
.npb-locations-public[data-location-theme="dark"] .npb-location-hero-image {
    background:#071d30 !important;
}

/* Mobiel: ook daar nooit terugvallen naar cover. */
@media(max-width:760px) {
    .npb-locations-public .npb-location-card > img {
        height:170px !important;
        min-height:170px !important;
        object-fit:contain !important;
    }

    .npb-locations-public .npb-location-hero-image {
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        object-fit:contain !important;
    }
}

/* ==========================================================================
   5.25.00 - NPB Hulp (gratis kennisbank-chat)
   ========================================================================== */
.npb-help-widget{position:fixed;right:22px;bottom:22px;z-index:9985;font-family:inherit}
.npb-help-fab{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:#0b3558;color:#fff;padding:11px 16px 11px 11px;box-shadow:0 10px 30px rgba(7,31,53,.26);cursor:pointer;font-weight:900}
.npb-help-fab span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ff7900;font-size:18px}
.npb-help-chat{position:absolute;right:0;bottom:62px;width:min(385px,calc(100vw - 24px));height:min(575px,calc(100vh - 110px));display:grid;grid-template-rows:auto 1fr auto auto;background:#fff;border:1px solid #d8e5ed;border-radius:18px;overflow:hidden;box-shadow:0 22px 70px rgba(4,28,48,.28)}
.npb-help-chat[hidden]{display:none!important}
.npb-help-chat>header{display:flex;align-items:center;justify-content:space-between;background:#0b3558;color:#fff;padding:14px 15px}
.npb-help-chat>header>div{display:flex;align-items:center;gap:10px}
.npb-help-chat>header>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ff7900;font-size:20px}
.npb-help-chat>header b,.npb-help-chat>header small{display:block}.npb-help-chat>header small{color:#bcd0df;font-size:10px;margin-top:2px}
.npb-help-chat>header>button{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}
.npb-help-messages{overflow:auto;padding:16px;background:#f3f7fa}
.npb-help-bubble{max-width:85%;margin:0 0 10px;padding:11px 13px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap}
.npb-help-bubble.is-bot{background:#fff;color:#17324d;border:1px solid #dbe6ee;border-bottom-left-radius:5px}
.npb-help-bubble.is-user{margin-left:auto;background:#0b5d91;color:#fff;border-bottom-right-radius:5px}
.npb-help-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:3px 0 13px}
.npb-help-suggestions button{border:1px solid #c9dae6;border-radius:999px;background:#fff;color:#0b5d91;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}
.npb-help-answer-action{margin:-2px 0 13px}
.npb-help-answer-action a{display:inline-block;background:#ff7900;color:#fff!important;text-decoration:none!important;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:900}
.npb-help-ask{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px;background:#fff;border-top:1px solid #dde7ee}
.npb-help-ask input{min-width:0;border:1px solid #cbdbe6;border-radius:10px;padding:10px 11px;font:inherit;color:#17324d}
.npb-help-ask input:focus{outline:none;border-color:#ff7900;box-shadow:0 0 0 3px rgba(255,121,0,.12)}
.npb-help-ask button{width:42px;border:0;border-radius:10px;background:#ff7900;color:#fff;font-size:17px;cursor:pointer}
.npb-help-chat>footer{padding:7px 12px;background:#fff;color:#8a9baa;text-align:center;font-size:9px}
@media(max-width:600px){.npb-help-widget{right:12px;bottom:12px}.npb-help-chat{position:fixed;right:8px;left:8px;bottom:74px;width:auto;height:min(620px,calc(100vh - 90px))}.npb-help-fab b{display:none}.npb-help-fab{padding:8px}}

/* NPB Hulp beheer */
.npb-help-admin{max-width:1320px;margin:0 auto;padding:22px}
.npb-help-admin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-bottom:18px}
.npb-help-settings,.npb-help-edit{display:grid;gap:13px}
.npb-help-settings>label:not(.npb-help-switch),.npb-help-edit label{display:grid;gap:6px;color:#17324d;font-weight:800;font-size:12px}
.npb-help-settings input[type=text],.npb-help-settings textarea,.npb-help-edit input,.npb-help-edit textarea{box-sizing:border-box;width:100%;border:1px solid #cbdbe6;border-radius:9px;background:#fbfdff;padding:10px 11px;font:inherit;color:#17324d}
.npb-help-switch{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dbe6ed;border-radius:11px;background:#f8fbfd}
.npb-help-switch input{width:18px;height:18px;margin-top:2px;accent-color:#ff7900}.npb-help-switch b,.npb-help-switch small{display:block}.npb-help-switch small{color:#73889a;margin-top:3px}
.npb-help-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.npb-help-check{display:flex!important;align-items:center;gap:7px!important}
.npb-help-list article{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 2px;border-bottom:1px solid #e1eaf0}.npb-help-list article.is-off{opacity:.55}.npb-help-list article strong,.npb-help-list article small{display:block}.npb-help-list article strong{color:#0b3558;font-size:16px}.npb-help-list article small{color:#768a9b;margin-top:3px}.npb-help-list article p{margin:9px 0;color:#314d64;line-height:1.5}.npb-help-list article em{font-size:11px;color:#e36d08}
.npb-help-row-actions{display:flex;gap:7px;align-items:flex-start}.npb-help-row-actions form{margin:0}.npb-help-delete{border:1px solid #e3b0b0;border-radius:8px;background:#fff5f5;color:#b73939;padding:8px 10px;font-weight:800;cursor:pointer}
.npb-help-unanswered>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 2px;border-bottom:1px solid #e1eaf0}.npb-help-unanswered b{color:#17324d}.npb-help-unanswered span{color:#7a8d9c;font-size:11px}
@media(max-width:850px){.npb-help-admin-grid{grid-template-columns:1fr}.npb-help-two{grid-template-columns:1fr}.npb-help-list article{grid-template-columns:1fr}.npb-help-unanswered>div{grid-template-columns:1fr}}

/* 5.25.01 - NPB Assistent gebruiksdashboard */
.npb-assistant-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.npb-assistant-stats>div{position:relative;padding:16px 17px;border:1px solid #dbe6ed;border-radius:14px;background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:0 6px 18px rgba(10,45,72,.05)}
.npb-assistant-stats span{position:absolute;right:13px;top:13px;font-size:18px;opacity:.7}.npb-assistant-stats b{display:block;color:#0b3558;font-size:25px}.npb-assistant-stats small{display:block;margin-top:4px;color:#74899b;font-weight:700}
.npb-help-analytics-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:18px}
.npb-assistant-topics>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #e2eaf0}.npb-assistant-topics span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf5fa;color:#0b5d91;font-weight:900}.npb-assistant-topics b{color:#17324d}.npb-assistant-topics strong{color:#e66d08}
.npb-assistant-recent{max-height:500px;overflow:auto}.npb-assistant-recent>div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 3px;border-bottom:1px solid #e2eaf0}.npb-assistant-recent b,.npb-assistant-recent small{display:block}.npb-assistant-recent b{color:#17324d}.npb-assistant-recent small{margin-top:3px;color:#8193a1}.npb-assistant-recent>div>span{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.npb-assistant-recent .is-ok{background:#e9f8ef;color:#237341}.npb-assistant-recent .is-miss{background:#fff1e8;color:#b65416}
.npb-help-unanswered .npb-unanswered-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.npb-unanswered-row>div b,.npb-unanswered-row>div span{display:block}.npb-unanswered-row>div span{margin-top:3px;color:#7a8d9c;font-size:11px}
@media(max-width:1000px){.npb-assistant-stats{grid-template-columns:repeat(2,1fr)}.npb-help-analytics-grid{grid-template-columns:1fr}}@media(max-width:600px){.npb-assistant-stats{grid-template-columns:1fr}.npb-assistant-recent>div,.npb-help-unanswered .npb-unanswered-row{grid-template-columns:1fr}}
/* 5.25.02 - NPB Assistent index */
.npb-assistant-indexbox{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid #dbe6ed;border-radius:11px;background:#f7fafc}.npb-assistant-indexbox b,.npb-assistant-indexbox small{display:block}.npb-assistant-indexbox b{color:#0b3558}.npb-assistant-indexbox small{margin-top:3px;color:#73889a}.npb-assistant-indexbox form{margin:0}@media(max-width:600px){.npb-assistant-indexbox{align-items:stretch;flex-direction:column}}

.npb-help-header-actions{display:flex;align-items:center;gap:4px}
.npb-help-chat header .npb-help-reset{width:30px;height:30px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:18px;font-weight:800;cursor:pointer;line-height:1}
.npb-help-chat header .npb-help-reset:hover{background:rgba(255,255,255,.22)}
.npb-help-bubble.is-context-note{font-size:12px;opacity:.75}


/* ==========================================================================
   5.25.21 - Documenten PRO bibliotheekweergave
   ========================================================================== */
.npb-documents-library{max-width:1180px;margin:0 auto}
.npb-documents-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.npb-documents-hero-count{flex:0 0 auto;min-width:125px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);text-align:center}
.npb-documents-hero-count strong{display:block;color:#fff;font-size:28px;line-height:1}
.npb-documents-hero-count span{display:block;margin-top:5px;color:#c9d8e5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}

.npb-document-library-panel{padding:22px!important}
.npb-document-library-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:18px}
.npb-document-library-head h2{margin:3px 0 4px;color:#0b3558;font-size:28px}
.npb-document-library-head p{margin:0;color:#6d8294}
.npb-document-search-wrap{display:flex;align-items:center;gap:8px;min-width:300px;border:1px solid #cbdbe6;border-radius:11px;background:#fff;padding:0 11px}
.npb-document-search-wrap span{color:#6f8496;font-size:20px}
.npb-document-search-wrap input{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;padding:11px 3px!important;color:#17324d}
.npb-document-search-wrap input:focus{outline:0!important}

.npb-document-category-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.npb-document-category{display:flex;align-items:center;gap:10px;border:1px solid #d7e4ec;border-radius:12px;background:#f8fbfd;padding:11px 12px;color:#153854;text-align:left;cursor:pointer;transition:.18s ease}
.npb-document-category:hover{border-color:#9fc1d6;background:#f2f8fb}
.npb-document-category.is-active{border-color:#0b5d91;background:#eaf5fb;box-shadow:inset 0 0 0 1px #0b5d91}
.npb-document-category-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#fff;color:#ff7900;font-size:16px;box-shadow:0 1px 4px rgba(14,47,72,.08)}
.npb-document-category b,.npb-document-category small{display:block}
.npb-document-category b{font-size:12px}.npb-document-category small{margin-top:2px;color:#718698;font-size:10px;font-weight:600}

.npb-document-list-head{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px 220px;gap:18px;padding:0 14px 8px;color:#7890a2;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.npb-document-list{display:grid;gap:8px}
.npb-document-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px 220px;gap:18px;align-items:center;border:1px solid #dfe8ee;border-radius:13px;background:#fff;padding:13px 14px;box-shadow:0 2px 8px rgba(13,47,72,.035);transition:.18s ease}
.npb-document-row:hover{border-color:#bfd4e2;box-shadow:0 7px 18px rgba(13,47,72,.07);transform:translateY(-1px)}
.npb-document-row[hidden]{display:none!important}
.npb-document-main{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.npb-document-file-icon{display:grid;place-items:center;width:42px;height:52px;border-radius:8px;background:linear-gradient(160deg,#bc291f,#8f1913);box-shadow:0 4px 10px rgba(148,33,26,.18);position:relative;overflow:hidden}
.npb-document-file-icon:after{content:"";position:absolute;right:0;top:0;border-left:10px solid transparent;border-bottom:10px solid rgba(255,255,255,.35)}
.npb-document-file-icon span{color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em}
.npb-document-main h3{margin:0;color:#0b3558;font-size:14px;line-height:1.3}
.npb-document-main p{margin:4px 0 0;color:#708598;font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.npb-document-no-description{font-style:italic;color:#8da0ae!important}
.npb-document-typeyear{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.npb-document-type{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf3f7;color:#526d80;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.npb-document-type-reglementen{background:#eef3ff;color:#365a91}
.npb-document-type-formulieren{background:#fff4e7;color:#a75b0a}
.npb-document-type-alv{background:#f2ecff;color:#6849a9}
.npb-document-typeyear strong{color:#637b8e;font-size:12px}
.npb-document-filemeta b,.npb-document-filemeta small{display:block}
.npb-document-filemeta b{color:#17324d;font-size:12px}
.npb-document-filemeta small{margin-top:3px;color:#8497a6;font-size:10px}
.npb-document-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.npb-doc-action{display:flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;padding:9px 9px;text-decoration:none!important;font-size:11px;font-weight:900;white-space:nowrap}
.npb-doc-view{border:1px solid #c9dbe7;background:#f9fcfe;color:#0b4d79!important}
.npb-doc-view:hover{background:#edf7fc}
.npb-doc-download{border:1px solid #ff7900;background:#ff7900;color:#fff!important}
.npb-doc-download:hover{filter:brightness(.96)}
.npb-document-no-results{text-align:center;padding:36px 15px;color:#75899a}
.npb-document-no-results>span{font-size:30px}.npb-document-no-results h3{margin:7px 0 4px;color:#274b66}.npb-document-no-results p{margin:0}

@media(max-width:900px){
 .npb-document-category-bar{grid-template-columns:1fr 1fr}
 .npb-document-list-head{display:none}
 .npb-document-row{grid-template-columns:minmax(0,1fr) 140px}
 .npb-document-typeyear,.npb-document-filemeta{grid-column:2}
 .npb-document-row-actions{grid-column:1/-1}
}
@media(max-width:640px){
 .npb-documents-hero{align-items:flex-start}
 .npb-documents-hero-count{display:none}
 .npb-document-library-head{display:grid}
 .npb-document-search-wrap{min-width:0;width:100%}
 .npb-document-category-bar{grid-template-columns:1fr 1fr}
 .npb-document-row{grid-template-columns:1fr}
 .npb-document-main,.npb-document-typeyear,.npb-document-filemeta,.npb-document-row-actions{grid-column:1}
 .npb-document-typeyear{flex-direction:row;align-items:center}
 .npb-document-row-actions{grid-template-columns:1fr 1fr}
}

/* 5.25.21 - PDF index diagnose */
.npb-pdf-diagnostics{margin-top:12px;border:1px solid #d5e2eb;border-radius:12px;background:#f8fbfd;overflow:hidden}
.npb-pdf-diagnostics summary{cursor:pointer;padding:12px 14px;color:#123d60;font-weight:900;list-style:none}.npb-pdf-diagnostics summary::-webkit-details-marker{display:none}.npb-pdf-diagnostics summary small{display:block;margin-top:3px;color:#74899a;font-weight:500;font-size:11px}
.npb-pdf-diagnostic-list{display:grid;gap:7px;padding:0 12px 12px}.npb-pdf-diagnostic{display:flex;gap:9px;align-items:center;padding:9px 10px;border:1px solid #dce7ed;border-radius:9px;background:#fff}.npb-pdf-diagnostic>span{font-size:16px}.npb-pdf-diagnostic b,.npb-pdf-diagnostic small{display:block}.npb-pdf-diagnostic b{color:#153c5c;font-size:12px}.npb-pdf-diagnostic small{margin-top:2px;color:#718698;font-size:10px}.npb-pdf-diagnostic.is-ok{border-color:#bfe3ce;background:#f6fcf8}.npb-pdf-diagnostic.is-warning{border-color:#f0d6b5;background:#fffaf4}
/* 5.25.21 - Document Q&A test */
.npb-doc-testbox{margin-top:12px;padding:13px;border:1px solid #d7e4ec;border-radius:12px;background:#f8fbfd}.npb-doc-testbox label b,.npb-doc-testbox label small{display:block}.npb-doc-testbox label b{color:#153854;font-size:13px}.npb-doc-testbox label small{margin-top:2px;color:#72889a;font-size:10px}.npb-doc-testrow{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:9px}.npb-doc-testrow input{min-width:0;border:1px solid #c9dbe7;border-radius:9px;background:#fff;padding:9px 10px;color:#17324d}.npb-doc-testresult{margin-top:10px;border-radius:10px;padding:10px 11px}.npb-doc-testresult strong,.npb-doc-testresult small{display:block}.npb-doc-testresult small{margin-top:2px;opacity:.72}.npb-doc-testresult p{margin:7px 0 0;line-height:1.45}.npb-doc-testresult.is-found{border:1px solid #a9dec0;background:#effaf4;color:#1f6240}.npb-doc-testresult.is-missing{border:1px solid #efc1b8;background:#fff4f1;color:#97432f}@media(max-width:600px){.npb-doc-testrow{grid-template-columns:1fr}}
/* 5.26.40 - PDF extractiemethode en tekstvoorbeeld */
.npb-pdf-preview{display:block;margin-top:4px;color:#60758a;line-height:1.45;max-width:760px}


/* ===========================================================
   5.27.07 - Team Center mobiel: website-hamburgermenu
   =========================================================== */
.npb-team-center-header-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:7px;
}
.npb-team-center-menu{
  display:none;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font:800 1.12rem/1 Arial,sans-serif;cursor:pointer;
}
.npb-team-center-menu:hover,.npb-team-center-menu:focus-visible{
  background:rgba(255,255,255,.25);outline:2px solid rgba(255,255,255,.7);outline-offset:2px;
}
@media (max-width: 960px){
  .npb-team-center-header{grid-template-columns:38px minmax(0,1fr) auto!important;}
  .npb-team-center-menu{display:grid;}
}


/* ===========================================================
   5.27.08 - Player Center mobiel: website-hamburgermenu
   =========================================================== */
.npb-player-pro-menu{
  display:none;place-items:center;flex:0 0 auto;width:40px;height:40px;padding:0;
  border:1px solid rgba(160,195,230,.28);border-radius:12px;
  background:rgba(255,255,255,.08);color:#fff;font:800 1.15rem/1 Arial,sans-serif;cursor:pointer;
}
.npb-player-pro-menu:hover,.npb-player-pro-menu:focus-visible{
  background:rgba(255,255,255,.16);outline:2px solid rgba(255,255,255,.65);outline-offset:2px;
}
@media (max-width:960px){
  .npb-player-pro-menu{display:grid!important;}
  .npb-player-pro-top-actions{display:flex!important;align-items:center!important;gap:7px!important;}
}

/* ===========================================================
   5.27.09 - Player Center mobiel: hamburger contrast
   In licht thema een vaste NPB-donkerblauwe knop met wit icoon.
   =========================================================== */
@media (max-width:960px){
  #npb-player-pro[data-theme="light"] .npb-player-pro-menu{
    background:#0b3b60!important;
    border-color:#0b3b60!important;
    color:#ffffff!important;
    box-shadow:0 2px 7px rgba(11,59,96,.22)!important;
  }
  #npb-player-pro[data-theme="light"] .npb-player-pro-menu:hover,
  #npb-player-pro[data-theme="light"] .npb-player-pro-menu:focus-visible{
    background:#124f7f!important;
    border-color:#124f7f!important;
    color:#ffffff!important;
  }
  #npb-player-pro[data-theme="dark"] .npb-player-pro-menu{
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.35)!important;
    color:#ffffff!important;
  }
}

/* ============================================================
   5.27.10 - Locatie-overzicht: interactieve vereniging/competitie/team links
   ============================================================ */
.npb-locations-public .npb-location-chip-link{
    text-decoration:none!important;
    cursor:pointer!important;
    transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
.npb-locations-public .npb-location-chip-link:hover,
.npb-locations-public .npb-location-chip-link:focus-visible{
    transform:translateY(-1px);
    outline:2px solid rgba(255,126,0,.42)!important;
    outline-offset:2px;
}
.npb-locations-public .npb-location-link-arrow{margin-left:6px;font-size:1.15em;line-height:1}
.npb-locations-public .npb-location-team-row-link{cursor:pointer!important}
.npb-locations-public .npb-location-team-row-link:focus-visible{outline:2px solid #ff851b!important;outline-offset:-3px}
.npb-locations-public .npb-location-team-name,
.npb-locations-public .npb-location-team-association{
    width:fit-content;
    text-decoration:none!important;
}
.npb-locations-public .npb-location-team-name{display:inline-flex;align-items:center;font-weight:800}
.npb-locations-public .npb-location-team-association{opacity:.9}
.npb-locations-public .npb-location-team-name:hover,
.npb-locations-public .npb-location-team-association:hover{text-decoration:underline!important}
.npb-locations-public .npb-location-team-competition{text-decoration:none!important;cursor:pointer!important}
.npb-locations-public .npb-location-team-competition:hover{filter:brightness(1.1);text-decoration:underline!important}
@media(max-width:720px){
  .npb-locations-public .npb-location-chip-link{min-height:44px!important;padding:9px 13px!important}
  .npb-locations-public .npb-location-team-row-link{padding:14px 16px!important}
  .npb-locations-public .npb-location-team-name{font-size:1.04rem}
  .npb-locations-public .npb-location-team-competition{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px!important}
}

/* ========================================================================== 
   5.27.12 - Locaties PRO mobiele thema-schakelaar
   iPhone/Safari: voorkom dat de Licht/Donker-toggle buiten de hero-kaart valt.
   ========================================================================== */
@media (max-width: 700px) {
    .npb-locations-public .npb-location-overview-hero {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .npb-locations-public .npb-location-overview-hero > div:first-child {
        width: 100% !important;
        min-width: 0 !important;
    }

    .npb-locations-public .npb-location-overview-hero .npb-location-hero-actions {
        width: 100% !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        margin: 0 !important;
    }

    .npb-locations-public .npb-location-overview-hero .npb-location-theme-toggle {
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        position: static !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
    }
}


/* 5.27.14 — Locatie-overzicht: alleen echte vervolgpagina's zijn klikbaar. */
.npb-locations-public .npb-location-card > img.npb-location-card-image-link{cursor:pointer;}
.npb-locations-public .npb-location-card > img.npb-location-card-image-link:focus{outline:3px solid rgba(255,121,0,.45);outline-offset:-3px;}
.npb-locations-public .npb-location-team-association{display:block;text-decoration:none;cursor:default;}

/* ==========================================================================
   5.27.31 - YOOtheme / UIkit native mobiel menu
   Houdt de Craft-accordion werking, maar laat UIkit/YOOtheme de visuele basis doen.
   ========================================================================== */
@media (max-width:960px){
  .npb-mobile-menu-redesign.uk-background-muted,
  .npb-mobile-menu-redesign .uk-background-muted,
  .npb-mobile-menu-redesign.npb-mobile-menu-container{
    background:#f7f8fa!important;
  }

  .npb-mobile-menu-redesign.npb-mobile-menu-container{
    max-width:620px!important;
    margin:0 auto!important;
    padding:12px 14px 18px!important;
    border:0!important;
    box-shadow:none!important;
  }

  .npb-mobile-menu-redesign .npb-mobile-menu-nav{
    margin:0!important;
    padding:0!important;
  }

  /* Accordion headers: echte rustige UIkit cards */
  .npb-mobile-menu-redesign .npb-mobile-menu-section.uk-card{
    margin:8px 0!important;
    border:1px solid rgba(14,57,94,.09)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(10,48,80,.06)!important;
    overflow:hidden!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section.uk-card.is-open{
    border-color:rgba(25,106,178,.18)!important;
    box-shadow:0 7px 20px rgba(10,66,116,.09)!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button{
    min-height:46px!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    padding:0 44px 0 15px!important;
    color:#102f50!important;
    font:700 14px/1.2 inherit!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button:before{display:none!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section button:after{
    right:16px!important;
    color:#1e5e93!important;
    font-size:23px!important;
  }

  /* Geopende nav-items: geen losse zware knoppen, maar UIkit-nav regels */
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible>a{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:6px 38px 6px 14px!important;
    border:0!important;
    border-top:1px solid rgba(16,55,86,.075)!important;
    border-radius:0!important;
    background:#fff!important;
    color:#12395e!important;
    box-shadow:none!important;
    font-size:14px!important;
    font-weight:600!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible>a:hover,
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible>a:focus{
    background:rgba(29,112,181,.055)!important;
    color:#0b4f86!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible .npb-mobile-menu-icon{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    display:grid!important;
    place-items:center!important;
    margin-right:8px!important;
    border-radius:8px!important;
    background:rgba(31,107,169,.08)!important;
    color:#12629f!important;
    box-shadow:none!important;
    font-size:13px!important;
  }

  /* Mijn NPB mag persoonlijker zijn zonder een afwijkend mini-design te worden. */
  .npb-mobile-menu-redesign .npb-mobile-menu-personal.npb-accordion-visible>a{
    background:linear-gradient(90deg,rgba(34,118,190,.08),rgba(34,118,190,.025))!important;
    color:#0d4e84!important;
  }

  /* Primaire acties blijven altijd zichtbaar en gebruiken de primary/accent-taal. */
  .npb-mobile-menu-redesign .npb-mobile-menu-action{
    display:block!important;
    margin:7px 0!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-action>a{
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:7px 40px 7px 14px!important;
    border:0!important;
    border-radius:13px!important;
    background:linear-gradient(105deg,#f47700,#ff8d1c)!important;
    color:#fff!important;
    box-shadow:0 6px 16px rgba(244,119,0,.20)!important;
    font-size:14px!important;
    font-weight:800!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-action>a:hover,
  .npb-mobile-menu-redesign .npb-mobile-menu-action>a:focus{
    filter:brightness(1.035);
    transform:translateY(-1px);
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-action .npb-mobile-menu-icon{
    width:30px!important;height:30px!important;flex:0 0 30px!important;
    margin-right:9px!important;border-radius:8px!important;
    background:rgba(255,255,255,.16)!important;color:#fff!important;
  }

  /* Geen los 'ACTIES' accordion-kopje; de CTA's zijn zelf duidelijk genoeg. */
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ACTIES"]{display:none!important;}

  /* De oude zwevende NPB Beheer knop hoort niet in/over het mobiele hoofdmenu. */
  body:has(.npb-mobile-menu-redesign[data-npb-menu-done="1"]) .npb-admin-mobile-toggle,
  body:has(.npb-mobile-menu-redesign[data-npb-menu-done="1"]) .npb-sidebar-mobile-toggle{
    display:none!important;
  }

  @media (max-width:430px){
    .npb-mobile-menu-redesign.npb-mobile-menu-container{padding:8px 10px 13px!important;}
    .npb-mobile-menu-redesign .npb-mobile-menu-section.uk-card{margin:6px 0!important;}
    .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button{min-height:43px!important;font-size:13px!important;}
    .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible>a{min-height:39px!important;font-size:13px!important;}
    .npb-mobile-menu-redesign .npb-mobile-menu-action>a{min-height:47px!important;font-size:13px!important;}
  }
}

/* ========================================================================== 
   5.27.33 - NPB Color Focus mobiel accordionmenu
   Meer visuele hierarchie zonder extra hoogte of afbeeldingen.
   ========================================================================== */
@media (max-width:960px){
  .npb-mobile-menu-redesign.npb-mobile-menu-container{
    background:linear-gradient(180deg,#f2f7fb 0%,#f8fafc 48%,#fff8f1 100%)!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section.uk-card{
    border-color:#dbe6ef!important;
    box-shadow:0 5px 15px rgba(8,42,72,.075)!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button:before{
    display:grid!important;place-items:center!important;flex:0 0 27px!important;
    width:27px!important;height:27px!important;margin-right:10px!important;border-radius:50%!important;
    font:800 14px/1 Arial,sans-serif!important;letter-spacing:0!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="INFORMATIE"] .uk-button:before{content:'i'!important;background:#e7f2ff!important;color:#1268ad!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="SPORT"] .uk-button:before{content:'★'!important;background:#eaf8ef!important;color:#23934b!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"] .uk-button:before{content:'●'!important;background:#fff0e3!important;color:#ef6f00!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="MIJN NPB"] .uk-button:before{content:'●'!important;background:#e8f2ff!important;color:#176fc1!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="BEHEER"] .uk-button:before{content:'⚙'!important;background:#e8f2ff!important;color:#1766a6!important;font-size:13px!important;}

  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="INFORMATIE"].is-open{border-color:#bad8f0!important;box-shadow:0 7px 20px rgba(20,105,175,.12)!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="SPORT"].is-open{border-color:#c5e5cf!important;box-shadow:0 7px 20px rgba(36,145,75,.11)!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"].is-open{border-color:#ffd0aa!important;box-shadow:0 7px 20px rgba(239,111,0,.13)!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"].is-open .uk-button{color:#df6500!important;}

  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="INFORMATIE"] + .npb-mobile-menu-item.npb-accordion-visible>a,
  .npb-mobile-menu-redesign .npb-mobile-menu-group-info.npb-accordion-visible>a{background:#f8fbff!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-info.npb-accordion-visible .npb-mobile-menu-icon{background:#e8f3ff!important;color:#1268ad!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-sport.npb-accordion-visible>a{background:#f7fcf8!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-sport.npb-accordion-visible .npb-mobile-menu-icon{background:#eaf8ef!important;color:#238b47!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-organisation.npb-accordion-visible>a,
  .npb-mobile-menu-redesign .npb-mobile-menu-group-organisatie.npb-accordion-visible>a{background:#fffaf5!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-organisation.npb-accordion-visible .npb-mobile-menu-icon,
  .npb-mobile-menu-redesign .npb-mobile-menu-group-organisatie.npb-accordion-visible .npb-mobile-menu-icon{background:#fff0e3!important;color:#ed6d00!important;}

  .npb-mobile-menu-redesign .npb-mobile-menu-personal.npb-accordion-visible>a{
    background:linear-gradient(90deg,#eef6ff,#f8fbff)!important;
    border-left:3px solid #1c72c4!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-admin.npb-accordion-visible>a{
    background:linear-gradient(90deg,#f4f8fc,#fff)!important;
  }
  .npb-mobile-menu-redesign .npb-mobile-menu-action>a{
    background:linear-gradient(105deg,#ee6e00 0%,#ff8b17 58%,#f47700 100%)!important;
    box-shadow:0 7px 18px rgba(239,111,0,.24)!important;
  }
}


/* ========================================================================== 
   5.27.34 - NPB Player Center accordion look (final override)
   ========================================================================== */
@media (max-width:960px){
  .npb-mobile-menu-redesign.npb-mobile-menu-container{background:linear-gradient(180deg,#f4f8fb 0%,#f9fbfd 100%)!important;padding:14px 12px 18px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section.uk-card{margin:9px 0!important;border:1px solid #e1e9f0!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 8px 22px rgba(12,47,78,.075)!important;overflow:hidden!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button{min-height:54px!important;padding:0 46px 0 64px!important;color:#0b3158!important;font-size:15px!important;font-weight:850!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section .uk-button:before{position:absolute!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;margin:0!important;border-radius:11px!important;font:900 18px/1 Arial,sans-serif!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="INFORMATIE"] .uk-button:before{content:'i'!important;background:#e9f3ff!important;color:#0a63ad!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="SPORT"] .uk-button:before{content:'♛'!important;background:#e9f8ee!important;color:#15913f!important;font-size:17px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="SPORT"] .uk-button,.npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="SPORT"] button:after{color:#168c40!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"] .uk-button:before{content:'●●'!important;background:#fff1e6!important;color:#ea6700!important;font-size:11px!important;letter-spacing:-3px!important;padding-right:3px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"] .uk-button,.npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="ORGANISATIE"] button:after{color:#e56600!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="MIJN NPB"] .uk-button:before{content:'●'!important;background:#e8f3ff!important;color:#0f69b4!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section[data-npb-section="BEHEER"] .uk-button:before{content:'⚙'!important;background:#e8f3ff!important;color:#0d64a7!important;font-size:17px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-section.is-open{margin-bottom:0!important;border-radius:16px 16px 0 0!important;box-shadow:none!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible>a{min-height:49px!important;margin:0!important;padding:7px 40px 7px 16px!important;border:0!important;border-top:1px solid #e6edf2!important;border-radius:0!important;background:#fff!important;color:#133c62!important;box-shadow:none!important;font-size:14px!important;font-weight:650!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-visible .npb-mobile-menu-icon{width:31px!important;height:31px!important;flex:0 0 31px!important;margin-right:10px!important;border-radius:9px!important;background:#eef5fb!important;color:#0d63a7!important;font-size:14px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-sport.npb-accordion-visible>a{background:#fbfefc!important;}.npb-mobile-menu-redesign .npb-mobile-menu-group-sport.npb-accordion-visible .npb-mobile-menu-icon{background:#eaf8ee!important;color:#168c40!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-group-organisatie.npb-accordion-visible>a,.npb-mobile-menu-redesign .npb-mobile-menu-group-organisation.npb-accordion-visible>a{background:#fffdfb!important;}.npb-mobile-menu-redesign .npb-mobile-menu-group-organisatie.npb-accordion-visible .npb-mobile-menu-icon,.npb-mobile-menu-redesign .npb-mobile-menu-group-organisation.npb-accordion-visible .npb-mobile-menu-icon{background:#fff2e8!important;color:#e96800!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-item.npb-accordion-last>a{border-radius:0 0 16px 16px!important;border-bottom:1px solid #e1e9f0!important;box-shadow:0 8px 22px rgba(12,47,78,.075)!important;margin-bottom:9px!important;}
  .npb-mobile-menu-redesign .npb-mobile-menu-action{display:block!important;margin:8px 0!important;}.npb-mobile-menu-redesign .npb-mobile-menu-action>a{display:flex!important;align-items:center!important;min-height:55px!important;margin:0!important;padding:8px 42px 8px 15px!important;border:1.5px solid #f17613!important;border-radius:16px!important;background:#fff!important;color:#e76600!important;box-shadow:0 7px 18px rgba(230,102,0,.10)!important;font-size:15px!important;font-weight:850!important;text-transform:uppercase!important;}.npb-mobile-menu-redesign .npb-mobile-menu-action>a:after{color:#ee6d00!important;}.npb-mobile-menu-redesign .npb-mobile-menu-action .npb-mobile-menu-icon{width:34px!important;height:34px!important;flex:0 0 34px!important;margin-right:10px!important;border-radius:10px!important;background:#f36f00!important;color:#fff!important;box-shadow:0 4px 10px rgba(238,105,0,.18)!important;font-size:16px!important;}
}


/* ========================================================================== 
   5.27.63 - Audit PRO compacte grafische seizoensruimte + sortering
   ========================================================================== */
.npb-inval .npb-section-tools{
  flex-wrap:wrap;
  align-items:flex-end;
}
.npb-inval .npb-audit-space-sort{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:210px;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.npb-inval .npb-audit-space-sort select{
  min-height:40px;
  padding:8px 34px 8px 11px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#0f2742;
  font:700 13px/1.2 inherit;
}
.npb-inval .npb-audit-space-mini{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:112px;
}
.npb-inval .npb-mini-space-row{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:18px;
}
.npb-inval .npb-mini-space-row>b{
  width:22px;
  flex:0 0 22px;
  color:#15385f;
  font-size:11px;
  line-height:1;
  letter-spacing:.1px;
}
.npb-inval .npb-mini-balls{
  display:flex;
  align-items:center;
  gap:4px;
}
.npb-inval .npb-mini-ball{
  display:inline-block;
  width:14px;
  height:14px;
  border:1.5px solid #c7d3e1;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
  cursor:help;
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
}
.npb-inval .npb-mini-ball.used{
  border-color:#18385f;
  background:#18385f;
  box-shadow:inset -3px -3px 0 rgba(255,255,255,.12);
}
.npb-inval .npb-mini-space-row.is-tight .npb-mini-ball.free{
  border-color:#e78518;
  box-shadow:0 0 0 2px rgba(231,133,24,.10);
}
.npb-inval .npb-mini-space-row.is-full .npb-mini-ball.used{
  border-color:#b42318;
  background:#b42318;
}
.npb-inval .npb-mini-ball:hover{
  transform:scale(1.18);
}
@media(max-width:700px){
  .npb-inval .npb-audit-space-sort{min-width:100%;}
}

/* =========================================================
   5.27.65 - Spelersstatistieken mobiel consistent + selectpijl
   ========================================================= */

/* Donker thema: zichtbare eigen pijl in de seizoenskeuze. */
.npb-player-statistics-page[data-competition-theme="dark"] .npb-season-control{
    position:relative!important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-season-control select{
    -webkit-appearance:none!important;
    appearance:none!important;
    padding-right:44px!important;
}
.npb-player-statistics-page[data-competition-theme="dark"] .npb-season-control::after{
    content:"";
    position:absolute;
    right:16px;
    top:50%;
    width:8px;
    height:8px;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    transform:translateY(-68%) rotate(45deg);
    pointer-events:none;
    opacity:.95;
}

/* Portret mobiel blijft compact, maar gebruikt dezelfde visuele taal als de desktop/landscape-tabel. */
@media (max-width:700px){
    .npb-player-statistics-page .npb-player-statistics-mobile{
        border-radius:12px!important;
        overflow:hidden!important;
    }

    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-statistics-mobile{
        background:#08253f!important;
        border:1px solid #315879!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card{
        background:#08253f!important;
        border-bottom:1px solid #315879!important;
        color:#fff!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card:last-child{
        border-bottom:0!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-player,
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-player:hover{
        color:#fff!important;
        text-decoration:none!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card .npb-ranking-player-copy strong{
        color:#fff!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card .npb-ranking-player-copy small{
        color:#a9c0d6!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats > div{
        background:#0d3150!important;
        border:1px solid #294f6e!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats span{
        color:#9ebbd2!important;
        font-weight:700!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats strong,
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats .is-win,
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats .is-loss,
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats .npb-ranking-saldo,
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-player-ranking-card-stats .npb-ranking-percentage{
        color:#fff!important;
    }

    /* Spelernaam in portrait weer zichtbaar en prominenter, zoals in landscape. */
    .npb-player-statistics-page .npb-player-ranking-card-player .npb-ranking-player-copy{
        min-width:0!important;
        display:flex!important;
        flex-direction:column!important;
    }
    .npb-player-statistics-page .npb-player-ranking-card-player .npb-ranking-player-copy strong{
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /* Zoekveld/header qua contrast gelijk houden aan de desktopvariant. */
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-search input{
        background:#fff!important;
        color:#1e293b!important;
        border-color:#b8c6d4!important;
    }
    .npb-player-statistics-page[data-competition-theme="dark"] .npb-ranking-search input::placeholder{
        color:#64748b!important;
        opacity:1!important;
    }
}


/* ============================================================
   5.27.75 — Mijn NPB typografie gelijk aan YOOtheme export
   YOOtheme basis: Sofia Sans via inherit, 18px body, 14px small,
   22px medium headings, 32px large headings, NPB blue/orange.
   ============================================================ */
.npb-mijnnpb,
.npb-mynpb,
.mg-shell{
  font-family:inherit!important;
  font-size:18px;
  line-height:1.45;
  color:#051D35;
}
.npb-mijnnpb .mn-side-nav nav a,
.npb-mynpb .mn-side-nav nav a,
.mg-shell .mn-side-nav nav a,
.npb-mijnnpb .mn-side-exit,
.npb-mynpb .mn-side-exit,
.mg-shell .mn-side-exit{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.npb-mijnnpb .mn-side-brand b,
.npb-mynpb .mn-side-brand b,
.mg-shell .mn-side-brand b{font-size:18px!important;font-weight:700!important}
.npb-mijnnpb .mn-side-brand small,
.npb-mynpb .mn-side-brand small,
.mg-shell .mn-side-brand small{font-size:14px!important}
.npb-mijnnpb .mn-card h2,
.npb-mynpb .mn-card h2,
.mg-shell .mg-card h2{font-size:22px!important;font-weight:700!important;line-height:1.25!important}
.npb-mijnnpb .mn-hero h1,
.npb-mynpb .mn-hero h1,
.mg-shell .mg-hero h1{font-size:32px!important;font-weight:900!important;line-height:1.15!important}
.npb-mijnnpb small,
.npb-mynpb small,
.mg-shell small,
.mg-shell .mg-label{font-size:14px}

/* ============================================================
   5.27.76 — Mijn Team spelerskaarten typografie sync
   Namen 18px/bold, spelersnummer 14px, badge/pijl in verhouding.
   ============================================================ */
.npb-mijnnpb .mn-team-member strong,
.npb-mynpb .mn-team-member strong{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.25!important;
  color:#051D35!important;
}
.npb-mijnnpb .mn-team-member small,
.npb-mynpb .mn-team-member small{
  font-family:inherit!important;
  margin-top:4px!important;
  font-size:14px!important;
  line-height:1.35!important;
  color:#6e8291!important;
}
.npb-mijnnpb .mn-team-member em,
.npb-mynpb .mn-team-member em{
  margin-top:6px!important;
  padding:4px 8px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.npb-mijnnpb .mn-team-member>i,
.npb-mynpb .mn-team-member>i{
  font-size:28px!important;
  line-height:1!important;
  font-weight:700!important;
}

/* ============================================================
   5.27.79 — Competitie PRO mobile Livescore + YOOtheme resize fix
   Mobile-first: compacte wedstrijden, eigen NPB kleuren/typografie.
   ============================================================ */
@media (max-width:700px){
  .npb-competitions-public .npb-standings-card{
    border-radius:13px!important;
    overflow:hidden!important;
  }
  .npb-competitions-public .npb-standings-header{
    padding:11px 12px 9px!important;
  }
  .npb-competitions-public .npb-standings-header h2{
    font-family:inherit!important;
    font-size:20px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }
  .npb-competitions-public .npb-competition-tabs{
    padding:4px!important;
    gap:4px!important;
  }
  .npb-competitions-public .npb-competition-tab{
    min-height:34px!important;
    padding:5px 8px!important;
    border-radius:8px!important;
    font-size:13px!important;
    line-height:1.1!important;
  }
  .npb-competitions-public .npb-match-summary{
    min-height:30px!important;
    padding:5px 10px!important;
    gap:10px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .npb-competitions-public .npb-match-round-heading{
    padding:10px 11px 5px!important;
    font-size:12px!important;
    line-height:1.15!important;
    color:#EE7218!important;
  }
  .npb-competitions-public .npb-match-round-heading::after{
    margin-top:6px!important;
  }
  .npb-competitions-public .npb-match-row{
    display:grid!important;
    grid-template-columns:70px minmax(0,1fr) 36px!important;
    min-height:58px!important;
    padding:6px 7px!important;
    gap:5px!important;
    align-items:center!important;
    border-bottom:1px solid rgba(5,29,53,.08)!important;
  }
  .npb-competitions-public .npb-match-date{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:2px!important;
    padding:2px 4px!important;
    border-right:1px solid rgba(5,29,53,.08)!important;
    font-size:11px!important;
    line-height:1.05!important;
    color:#667b8f!important;
  }
  .npb-competitions-public .npb-match-date strong{
    font-size:12px!important;
    line-height:1.05!important;
    color:#051D35!important;
    font-weight:900!important;
  }
  .npb-competitions-public .npb-match-teams{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:2px 6px!important;
    font-size:14px!important;
    line-height:1.12!important;
    font-weight:700!important;
    color:#051D35!important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team.is-home,
  .npb-competitions-public .npb-match-team.is-away{
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .npb-competitions-public .npb-match-versus{display:none!important}
  .npb-competitions-public .npb-match-score{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    padding:2px!important;
    font-size:14px!important;
    line-height:1.05!important;
    font-weight:900!important;
    color:#051D35!important;
  }
  .npb-competitions-public .npb-match-score strong{
    font-size:15px!important;
    line-height:1!important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-row{
    border-bottom-color:rgba(255,255,255,.08)!important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date{
    border-right-color:rgba(255,255,255,.08)!important;
    color:#9eb7cc!important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date strong,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-teams,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-score{
    color:#fff!important;
  }
}

/* 5.27.80 — Laat YOOtheme zelf desktop/mobile header visibility beheren.
   Geen display-overrides op .tm-header/.tm-header-mobile: die verstoren de
   interne YOOtheme navbar-layout na live resizen van het browservenster. */

/* =========================================================
   5.27.83 - Competitie PRO mobiel: Livescore-opbouw
   Datum/tijd compact links, teams onder elkaar, score rechts.
   ========================================================= */
@media (max-width:700px) {
  .npb-competitions-public .npb-match-row {
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) 28px !important;
    align-items:center !important;
    min-height:62px !important;
    padding:7px 9px !important;
    column-gap:8px !important;
  }

  .npb-competitions-public .npb-match-date {
    display:grid !important;
    align-content:center !important;
    gap:2px !important;
    padding:0 !important;
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.05 !important;
  }
  .npb-competitions-public .npb-match-date span {
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:.68rem !important;
    font-weight:700 !important;
  }
  .npb-competitions-public .npb-match-date strong {
    font-size:.74rem !important;
    font-weight:900 !important;
  }

  .npb-competitions-public .npb-match-teams {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    gap:3px !important;
    padding:0 !important;
    min-width:0 !important;
    font-size:.83rem !important;
    line-height:1.18 !important;
    font-weight:800 !important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team span {
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-versus {
    display:none !important;
  }

  .npb-competitions-public .npb-match-score {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    justify-items:end !important;
    gap:3px !important;
    padding:0 !important;
    min-width:0 !important;
    font-size:.86rem !important;
    line-height:1.1 !important;
    font-weight:900 !important;
  }
  .npb-competitions-public .npb-match-score > span,
  .npb-competitions-public .npb-match-score > strong {
    display:block !important;
    min-width:0 !important;
    font-size:.86rem !important;
    line-height:1.1 !important;
  }

  .npb-competitions-public .npb-match-round-heading {
    padding:9px 10px 6px !important;
    font-size:.72rem !important;
    letter-spacing:.04em !important;
  }
}

/* =========================================================
   5.27.84 - Professional Mobile Competition
   Mobile-first sportapp layout voor stand en wedstrijden.
   ========================================================= */
@media (max-width:700px) {
  /* Stand: exact # | Team | G | P, zonder verspilde kolomruimte. */
  .npb-competitions-public .npb-standings-table thead { display:table-header-group !important; }
  .npb-competitions-public .npb-standings-table thead th { display:none !important; }
  .npb-competitions-public .npb-standings-table thead .npb-col-position,
  .npb-competitions-public .npb-standings-table thead th:nth-child(2),
  .npb-competitions-public .npb-standings-table thead th:nth-child(3),
  .npb-competitions-public .npb-standings-table thead .npb-col-points { display:table-cell !important; }
  .npb-competitions-public .npb-standings-table thead th:nth-child(3) { width:46px !important; text-align:center !important; }
  .npb-competitions-public .npb-standings-table tbody .npb-col-played { display:table-cell !important; width:46px !important; min-width:46px !important; text-align:center !important; font-weight:800 !important; }
  .npb-competitions-public .npb-standings-table .npb-col-points { width:50px !important; min-width:50px !important; padding-right:9px !important; font-weight:900 !important; }
  .npb-competitions-public .npb-standings-table .npb-team-cell { padding:9px 5px !important; }
  .npb-competitions-public .npb-standings-table .npb-team-name { max-width:100% !important; font-size:15px !important; line-height:1.15 !important; font-weight:800 !important; }
  .npb-competitions-public .npb-standings-table .npb-position-badge { width:24px !important; height:24px !important; min-width:24px !important; font-size:12px !important; }
  .npb-competitions-public .npb-standings-table .npb-row-chevron { margin-left:3px !important; font-size:12px !important; }

  /* Wedstrijden: Livescore-principe: meta | twee teams | twee scores. */
  .npb-competitions-public .npb-match-item { margin:0 !important; border:0 !important; border-radius:0 !important; }
  .npb-competitions-public .npb-match-row {
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) 30px !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    column-gap:10px !important;
    min-height:68px !important;
    padding:9px 10px !important;
    border-bottom:1px solid rgba(11,53,88,.10) !important;
  }
  .npb-competitions-public .npb-match-item:nth-of-type(even) .npb-match-row { background:rgba(11,53,88,.025) !important; }
  .npb-competitions-public .npb-match-date {
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:2px !important;
    padding:0 !important;
    border:0 !important;
    color:#637b94 !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date span { font-size:11px !important; line-height:1.15 !important; font-weight:800 !important; letter-spacing:0 !important; }
  .npb-competitions-public .npb-match-date strong { color:#0b3558 !important; font-size:13px !important; line-height:1.1 !important; font-weight:900 !important; }
  .npb-competitions-public .npb-match-teams {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:1fr 1fr !important;
    gap:5px !important;
    min-width:0 !important;
    padding:0 !important;
    color:#0b3558 !important;
    font-size:15px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team span {
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-versus { display:none !important; }
  .npb-competitions-public .npb-match-score {
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    align-items:center !important;
    justify-items:end !important;
    gap:5px !important;
    min-width:30px !important;
    padding:0 !important;
    color:#0b3558 !important;
    font-size:16px !important;
    line-height:1.12 !important;
    font-weight:900 !important;
  }
  .npb-competitions-public .npb-match-score-inline { display:contents !important; }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-home { grid-row:1 !important; }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-away { grid-row:2 !important; }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-separator { display:none !important; }
  .npb-competitions-public .npb-match-score > span { font-size:16px !important; line-height:1.12 !important; font-weight:900 !important; }
  .npb-competitions-public .npb-match-detail-chevron { display:none !important; }
  .npb-competitions-public .npb-live-badge { position:absolute !important; margin-top:-25px !important; margin-left:-3px !important; font-size:9px !important; }
  .npb-competitions-public .npb-match-round-heading {
    margin:0 !important;
    padding:12px 10px 7px !important;
    border-bottom:1px solid rgba(244,122,31,.16) !important;
    background:transparent !important;
    color:#f47a1f !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
  }
  .npb-competitions-public .npb-match-summary { min-height:30px !important; padding:6px 10px !important; font-size:12px !important; }

  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date { color:#9eb7cc !important; }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date strong,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-teams,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-score { color:#f4f9ff !important; }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-row { border-bottom-color:rgba(255,255,255,.08) !important; }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-item:nth-of-type(even) .npb-match-row { background:rgba(255,255,255,.025) !important; }
}

@media (max-width:380px) {
  .npb-competitions-public .npb-match-row { grid-template-columns:58px minmax(0,1fr) 26px !important; column-gap:7px !important; padding-left:8px !important; padding-right:8px !important; }
  .npb-competitions-public .npb-match-teams { font-size:14px !important; }
  .npb-competitions-public .npb-match-date span { font-size:10px !important; }
}

/* =========================================================
   5.27.85 - Mobile Competition Readability Fix
   Herstelt kolompositionering die door oudere mobiele regels
   werd overschreven en geeft teamnamen maximale ruimte.
   ========================================================= */
@media (max-width:700px) {
  /* Stand: # | TEAM | G | P */
  .npb-competitions-public .npb-standings-table {
    display:table !important;
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
  }
  .npb-competitions-public .npb-standings-table thead {
    display:table-header-group !important;
  }
  .npb-competitions-public .npb-standings-table tbody {
    display:table-row-group !important;
  }
  .npb-competitions-public .npb-standings-table tr {
    display:table-row !important;
  }
  .npb-competitions-public .npb-standings-table thead th,
  .npb-competitions-public .npb-standings-table tbody td,
  .npb-competitions-public .npb-standings-table tbody th {
    display:none !important;
  }
  .npb-competitions-public .npb-standings-table thead .npb-col-position,
  .npb-competitions-public .npb-standings-table thead th:nth-child(2),
  .npb-competitions-public .npb-standings-table thead th:nth-child(3),
  .npb-competitions-public .npb-standings-table thead .npb-col-points,
  .npb-competitions-public .npb-standings-table tbody .npb-col-position,
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell,
  .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td:nth-child(3),
  .npb-competitions-public .npb-standings-table tbody .npb-col-points {
    display:table-cell !important;
    position:static !important;
    float:none !important;
    transform:none !important;
    vertical-align:middle !important;
    border-top:1px solid #e7edf3 !important;
  }
  .npb-competitions-public .npb-standings-table thead .npb-col-position,
  .npb-competitions-public .npb-standings-table tbody .npb-col-position {
    width:44px !important;
    padding:8px 4px !important;
    text-align:center !important;
  }
  .npb-competitions-public .npb-standings-table thead th:nth-child(2),
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell {
    width:auto !important;
    min-width:0 !important;
    padding:9px 6px !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell .npb-team-cell-inner,
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell .npb-team-name {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    color:#051D35 !important;
    font-size:16px !important;
    line-height:1.18 !important;
    font-weight:800 !important;
    text-align:left !important;
  }
  .npb-competitions-public .npb-standings-table thead th:nth-child(3),
  .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td:nth-child(3) {
    width:42px !important;
    min-width:42px !important;
    padding:8px 3px !important;
    text-align:center !important;
    font-size:15px !important;
    font-weight:800 !important;
  }
  .npb-competitions-public .npb-standings-table thead .npb-col-points,
  .npb-competitions-public .npb-standings-table tbody .npb-col-points {
    width:46px !important;
    min-width:46px !important;
    padding:8px 5px 8px 2px !important;
    text-align:right !important;
    color:#F47A1F !important;
    font-size:16px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-standings-table .npb-row-chevron {
    display:inline-block !important;
    margin-left:3px !important;
    font-size:11px !important;
  }
  .npb-competitions-public .npb-standings-table .npb-position-badge {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    border-radius:50% !important;
    font-size:13px !important;
    font-weight:800 !important;
  }

  /* Wedstrijden: meta links, twee teams midden, score rechts. */
  .npb-competitions-public .npb-match-row {
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) 26px !important;
    grid-template-rows:auto !important;
    column-gap:9px !important;
    align-items:center !important;
    min-height:62px !important;
    padding:8px 9px !important;
  }
  .npb-competitions-public .npb-match-date {
    grid-column:1 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date span {
    display:block !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:10px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
  }
  .npb-competitions-public .npb-match-date strong {
    display:block !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
  }
  .npb-competitions-public .npb-match-teams {
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    padding:0 !important;
    font-size:16px !important;
    line-height:1.14 !important;
    font-weight:800 !important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team.is-home,
  .npb-competitions-public .npb-match-team.is-away,
  .npb-competitions-public .npb-match-team span {
    display:block !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    text-align:left !important;
  }
  .npb-competitions-public .npb-match-versus {
    display:none !important;
  }
  .npb-competitions-public .npb-match-score {
    grid-column:3 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    justify-items:end !important;
    gap:4px !important;
    min-width:26px !important;
    padding:0 !important;
    white-space:nowrap !important;
    font-size:16px !important;
    line-height:1.14 !important;
    font-weight:900 !important;
  }
  .npb-competitions-public .npb-match-score-inline {
    display:contents !important;
  }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-home {
    grid-row:1 !important;
  }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-away {
    grid-row:2 !important;
  }
  .npb-competitions-public .npb-match-score-inline .npb-match-score-separator,
  .npb-competitions-public .npb-match-detail-chevron {
    display:none !important;
  }

  .npb-competitions-public[data-competition-theme="dark"] .npb-standings-table tbody .npb-team-cell .npb-team-name {
    color:#F4F9FF !important;
  }
}

@media (max-width:380px) {
  .npb-competitions-public .npb-match-row {
    grid-template-columns:54px minmax(0,1fr) 24px !important;
    column-gap:7px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }
  .npb-competitions-public .npb-match-teams {
    font-size:15px !important;
  }
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell .npb-team-name {
    font-size:15px !important;
  }
}

/* =========================================================
   5.27.86 - LiveScore-inspired mobile competition layout
   Vaste horizontale uitlijning voor telefoon portrait.
   NPB-stijl, eigen kleuren/typografie, geen LiveScore-code.
   ========================================================= */
@media (max-width:700px) {
  /* Compacte wedstrijdlijst: meta | teams | score */
  .npb-competitions-public .npb-match-item {
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  .npb-competitions-public .npb-match-row {
    display:grid !important;
    grid-template-columns:78px minmax(0,1fr) 30px !important;
    grid-template-rows:1fr !important;
    column-gap:10px !important;
    align-items:center !important;
    min-height:64px !important;
    padding:8px 10px !important;
    border-bottom:1px solid rgba(5,29,53,.10) !important;
    background:#fff !important;
  }
  .npb-competitions-public .npb-match-item:nth-of-type(even) .npb-match-row {
    background:#f7f9fb !important;
  }

  .npb-competitions-public .npb-match-date {
    grid-column:1 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
    width:78px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date span {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    color:#71879a !important;
    font-size:11px !important;
    font-weight:700 !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date strong {
    display:block !important;
    margin:0 !important;
    color:#051D35 !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }

  .npb-competitions-public .npb-match-teams {
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:minmax(22px,auto) minmax(22px,auto) !important;
    align-items:center !important;
    align-content:center !important;
    gap:1px !important;
    min-width:0 !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    color:#051D35 !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.18 !important;
  }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team.is-home,
  .npb-competitions-public .npb-match-team.is-away {
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    text-align:left !important;
  }
  .npb-competitions-public .npb-match-team span {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    text-align:left !important;
  }
  .npb-competitions-public .npb-match-versus { display:none !important; }

  .npb-competitions-public .npb-match-score {
    grid-column:3 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:30px !important;
    grid-template-rows:minmax(22px,auto) minmax(22px,auto) !important;
    align-items:center !important;
    align-content:center !important;
    justify-items:end !important;
    gap:1px !important;
    width:30px !important;
    min-width:30px !important;
    padding:0 !important;
    margin:0 !important;
    color:#051D35 !important;
    font-size:17px !important;
    font-weight:900 !important;
    line-height:1.18 !important;
    text-align:right !important;
  }
  .npb-competitions-public .npb-match-score > span:not(.npb-live-badge),
  .npb-competitions-public .npb-match-score-inline .npb-match-score-home,
  .npb-competitions-public .npb-match-score-inline .npb-match-score-away {
    display:block !important;
    width:30px !important;
    min-width:30px !important;
    padding:0 !important;
    margin:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-score > span:not(.npb-live-badge):first-of-type,
  .npb-competitions-public .npb-match-score-inline .npb-match-score-home { grid-row:1 !important; }
  .npb-competitions-public .npb-match-score > span:not(.npb-live-badge):nth-of-type(2),
  .npb-competitions-public .npb-match-score-inline .npb-match-score-away { grid-row:2 !important; }
  .npb-competitions-public .npb-match-score-inline {
    display:contents !important;
  }
  .npb-competitions-public .npb-match-score-separator,
  .npb-competitions-public .npb-match-detail-chevron { display:none !important; }

  .npb-competitions-public .npb-match-round-heading {
    margin:14px 10px 4px !important;
    padding:0 0 7px !important;
    border-bottom:1px solid rgba(238,114,24,.18) !important;
    color:#EE7218 !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
  }
  .npb-competitions-public .npb-match-summary {
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:13px !important;
    line-height:1.2 !important;
  }

  /* Stand mobiel: # | TEAM | G | P */
  .npb-competitions-public .npb-standings-table {
    table-layout:fixed !important;
    width:100% !important;
  }
  .npb-competitions-public .npb-standings-table thead .npb-col-position,
  .npb-competitions-public .npb-standings-table tbody .npb-col-position { width:42px !important; }
  .npb-competitions-public .npb-standings-table thead th:nth-child(3),
  .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td:nth-child(3) { width:44px !important; }
  .npb-competitions-public .npb-standings-table thead .npb-col-points,
  .npb-competitions-public .npb-standings-table tbody .npb-col-points { width:46px !important; }
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell {
    width:auto !important;
    min-width:0 !important;
    padding-left:7px !important;
    padding-right:5px !important;
  }
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell .npb-team-name {
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
  }

  .npb-competitions-public[data-competition-theme="dark"] .npb-match-row {
    background:#082844 !important;
    border-bottom-color:rgba(255,255,255,.08) !important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-item:nth-of-type(even) .npb-match-row {
    background:#092d4d !important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date strong,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-teams,
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-score {
    color:#f4f9ff !important;
  }
  .npb-competitions-public[data-competition-theme="dark"] .npb-match-date span { color:#9eb7ce !important; }
}

@media (max-width:390px) {
  .npb-competitions-public .npb-match-row {
    grid-template-columns:70px minmax(0,1fr) 28px !important;
    column-gap:8px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .npb-competitions-public .npb-match-date { width:70px !important; }
  .npb-competitions-public .npb-match-date span { font-size:10px !important; }
  .npb-competitions-public .npb-match-date strong { font-size:13px !important; }
  .npb-competitions-public .npb-match-teams { font-size:15px !important; }
  .npb-competitions-public .npb-match-score,
  .npb-competitions-public .npb-match-score > span:not(.npb-live-badge),
  .npb-competitions-public .npb-match-score-inline .npb-match-score-home,
  .npb-competitions-public .npb-match-score-inline .npb-match-score-away {
    width:28px !important;
    min-width:28px !important;
    font-size:16px !important;
  }
}

/* ========================================================================== 
   NPB Beheer 5.27.87 - Mobile Competition PRO
   Flashscore-achtige stand + LiveScore-achtige wedstrijden
   ========================================================================== */
@media (max-width:700px) {
  /* Stand: vaste, rustige kolommen # | Team | G | P */
  .npb-competitions-public .npb-standings-table { table-layout:fixed !important; width:100% !important; min-width:0 !important; }
  .npb-competitions-public .npb-standings-table thead { display:table-header-group !important; }
  .npb-competitions-public .npb-standings-table tbody { display:table-row-group !important; }
  .npb-competitions-public .npb-standings-table tr { display:table-row !important; }
  .npb-competitions-public .npb-standings-table th,
  .npb-competitions-public .npb-standings-table td { position:static !important; }
  .npb-competitions-public .npb-standings-table thead th { display:none !important; padding:9px 7px !important; font-size:.72rem !important; }
  .npb-competitions-public .npb-standings-table thead .npb-col-position,
  .npb-competitions-public .npb-standings-table thead th:nth-child(2),
  .npb-competitions-public .npb-standings-table thead th:nth-child(3),
  .npb-competitions-public .npb-standings-table thead .npb-col-points { display:table-cell !important; }
  .npb-competitions-public .npb-standings-table tbody .npb-col-position,
  .npb-competitions-public .npb-standings-table tbody .npb-team-cell,
  .npb-competitions-public .npb-standings-table tbody .npb-col-played,
  .npb-competitions-public .npb-standings-table tbody .npb-col-points { display:table-cell !important; padding:9px 7px !important; vertical-align:middle !important; border-top:1px solid #e3ebf4 !important; }
  .npb-competitions-public .npb-standings-table .npb-col-position { width:42px !important; text-align:center !important; }
  .npb-competitions-public .npb-standings-table .npb-team-cell { width:auto !important; min-width:0 !important; padding-right:6px !important; text-align:left !important; }
  .npb-competitions-public .npb-standings-table .npb-team-name { display:block !important; min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; font-size:.94rem !important; font-weight:800 !important; }
  .npb-competitions-public .npb-standings-table .npb-col-played { width:38px !important; text-align:center !important; font-size:.88rem !important; font-weight:800 !important; }
  .npb-competitions-public .npb-standings-table .npb-col-points { width:44px !important; text-align:center !important; font-size:.94rem !important; font-weight:900 !important; color:#f47a1f !important; }
  .npb-competitions-public .npb-standings-table .npb-col-points strong:after { content:none !important; }
  .npb-competitions-public .npb-position-badge { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:27px !important; height:27px !important; border-radius:50% !important; background:#fff6e8 !important; border:1px solid #f3c77f !important; color:#8b4d00 !important; font-size:.78rem !important; font-weight:800 !important; }
  .npb-competitions-public .npb-row-chevron { display:none !important; }
  .npb-competitions-public .npb-team-detail-row { display:none !important; }

  /* Wedstrijden: datum/tijd | twee teams | twee scores. */
  .npb-competitions-public .npb-match-row {
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) 38px !important;
    grid-template-rows:1fr !important;
    column-gap:8px !important;
    min-height:66px !important;
    padding:8px 8px !important;
    align-items:center !important;
  }
  .npb-competitions-public .npb-match-date {
    grid-column:1 !important; grid-row:1 !important;
    display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:center !important;
    gap:2px !important; white-space:nowrap !important;
  }
  .npb-competitions-public .npb-match-date span { font-size:.67rem !important; line-height:1.15 !important; color:#70839a !important; font-weight:700 !important; }
  .npb-competitions-public .npb-match-date strong { font-size:.78rem !important; line-height:1.15 !important; color:#062f5a !important; font-weight:900 !important; }
  .npb-competitions-public .npb-match-teams {
    grid-column:2 !important; grid-row:1 !important;
    display:grid !important; grid-template-columns:minmax(0,1fr) !important; grid-template-rows:1fr 1fr !important;
    gap:2px !important; min-width:0 !important; align-items:center !important; padding:0 !important;
  }
  .npb-competitions-public .npb-match-versus { display:none !important; }
  .npb-competitions-public .npb-match-team,
  .npb-competitions-public .npb-match-team.is-home,
  .npb-competitions-public .npb-match-team.is-away { text-align:left !important; min-width:0 !important; }
  .npb-competitions-public .npb-match-team span { display:block !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; font-size:.91rem !important; line-height:1.18 !important; font-weight:800 !important; }
  .npb-competitions-public .npb-match-score {
    grid-column:3 !important; grid-row:1 !important;
    position:relative !important; display:flex !important; align-items:center !important; justify-content:center !important;
    min-width:0 !important; width:38px !important; padding:0 !important; overflow:visible !important;
  }
  .npb-competitions-public .npb-match-score-inline {
    display:grid !important; grid-template-columns:1fr !important; grid-template-rows:1fr 1fr !important;
    align-items:center !important; justify-items:center !important; gap:2px !important;
    min-width:26px !important; font-size:.94rem !important; line-height:1.18 !important; font-weight:900 !important;
  }
  .npb-competitions-public .npb-match-score-separator { display:none !important; }
  .npb-competitions-public .npb-match-score:not(.is-result) { display:grid !important; grid-template-columns:1fr !important; grid-template-rows:1fr 1fr !important; gap:2px !important; justify-items:center !important; font-size:.94rem !important; font-weight:900 !important; }
  .npb-competitions-public .npb-match-detail-chevron {
    position:absolute !important; right:-3px !important; top:-8px !important; width:14px !important; height:14px !important;
    font-size:.7rem !important; line-height:14px !important; text-align:center !important; color:#687c91 !important;
  }
  .npb-competitions-public .npb-live-badge { position:absolute !important; right:32px !important; top:-5px !important; }
}
@media (max-width:390px) {
  .npb-competitions-public .npb-match-row { grid-template-columns:76px minmax(0,1fr) 34px !important; column-gap:6px !important; padding-left:7px !important; padding-right:7px !important; }
  .npb-competitions-public .npb-match-score { width:34px !important; }
  .npb-competitions-public .npb-match-team span { font-size:.87rem !important; }
}


/* =========================================================
   5.27.88 - Competitie PRO mobiel: geen uitklappijltje
   Hele wedstrijdregel blijft klikbaar; vrijgekomen ruimte gaat naar teams/score.
   ========================================================= */
.npb-competitions-public .npb-match-score {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
}
.npb-competitions-public .npb-match-score-inline {
    margin-left:auto !important;
}
.npb-competitions-public .npb-match-detail-chevron { display:none !important; }
@media (max-width:700px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:72px minmax(0,1fr) 54px !important;
    }
    .npb-competitions-public .npb-match-score {
        padding-left:2px !important;
        padding-right:6px !important;
    }
    .npb-competitions-public .npb-match-score-inline {
        min-width:44px !important;
        width:44px !important;
        text-align:right !important;
        font-variant-numeric:tabular-nums !important;
    }
}

/* =========================================================
   5.27.90 - Competitie PRO mobiel: datum-layout fix
   Op mobiel slechts één compacte datum (bijv. ma 28-09) + tijd.
   Desktop behoudt de volledige datum.
   ========================================================= */
.npb-competitions-public .npb-match-date-mobile {
    display:none !important;
}

@media (max-width:700px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:72px minmax(0,1fr) 44px !important;
        column-gap:8px !important;
    }

    .npb-competitions-public .npb-match-date {
        width:auto !important;
        min-width:0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        align-content:center !important;
        gap:2px !important;
        padding:0 !important;
        overflow:hidden !important;
    }

    .npb-competitions-public .npb-match-date-desktop {
        display:none !important;
    }

    .npb-competitions-public .npb-match-date-mobile {
        display:block !important;
        margin:0 !important;
        font-size:11px !important;
        line-height:1.05 !important;
        font-weight:800 !important;
        letter-spacing:0 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:clip !important;
        color:#70839a !important;
    }

    .npb-competitions-public .npb-match-date > strong {
        display:block !important;
        margin:0 !important;
        font-size:13px !important;
        line-height:1.05 !important;
        font-weight:900 !important;
        white-space:nowrap !important;
        color:#062f5a !important;
    }

    .npb-competitions-public .npb-match-teams {
        min-width:0 !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-match-score-inline {
        min-width:44px !important;
        width:44px !important;
        text-align:right !important;
        font-variant-numeric:tabular-nums !important;
    }

    .npb-competitions-public[data-competition-theme="dark"] .npb-match-date-mobile {
        color:#9eb7ce !important;
    }

    .npb-competitions-public[data-competition-theme="dark"] .npb-match-date > strong {
        color:#e8f1f8 !important;
    }
}

@media (max-width:390px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:70px minmax(0,1fr) 42px !important;
        column-gap:7px !important;
    }
    .npb-competitions-public .npb-match-date-mobile {
        font-size:10.5px !important;
    }
    .npb-competitions-public .npb-match-date > strong {
        font-size:12.5px !important;
    }
    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-match-score-inline {
        min-width:42px !important;
        width:42px !important;
    }
}


/* =========================================================
   5.27.91 - Competitie PRO mobiel: definitieve datum/tijd-uitlijning
   - Verberg de volledige desktopdatum met hogere specificiteit.
   - Toon mobiel uitsluitend ddd dd-mm + tijd.
   - Datum en tijd delen exact dezelfde vaste linkerkolom.
   ========================================================= */
@media (max-width:700px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:74px minmax(0,1fr) 44px !important;
        column-gap:8px !important;
    }

    /* Belangrijk: deze selector is expres specifieker dan oudere
       .npb-match-date span { display:block!important } regels. */
    .npb-competitions-public .npb-match-date > span.npb-match-date-desktop {
        display:none !important;
    }

    .npb-competitions-public .npb-match-date > span.npb-match-date-mobile {
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        white-space:nowrap !important;
        text-overflow:clip !important;
        text-align:left !important;
        font-size:11px !important;
        line-height:1.15 !important;
        font-weight:800 !important;
        letter-spacing:0 !important;
    }

    .npb-competitions-public .npb-match-date {
        grid-column:1 !important;
        width:74px !important;
        min-width:74px !important;
        max-width:74px !important;
        padding:0 !important;
        margin:0 !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;
        gap:2px !important;
        overflow:visible !important;
        text-align:left !important;
        box-sizing:border-box !important;
    }

    .npb-competitions-public .npb-match-date > strong {
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        white-space:nowrap !important;
        text-align:left !important;
        font-size:13px !important;
        line-height:1.1 !important;
        font-weight:900 !important;
        font-variant-numeric:tabular-nums !important;
    }
}

@media (max-width:390px) {
    .npb-competitions-public .npb-match-row {
        grid-template-columns:70px minmax(0,1fr) 42px !important;
        column-gap:7px !important;
    }
    .npb-competitions-public .npb-match-date {
        width:70px !important;
        min-width:70px !important;
        max-width:70px !important;
    }
    .npb-competitions-public .npb-match-date > span.npb-match-date-mobile {
        font-size:10.5px !important;
    }
    .npb-competitions-public .npb-match-date > strong {
        font-size:12.5px !important;
    }
}

/* =========================================================
   NPB Beheer 5.27.92 - Mijn NPB YOOtheme typografie herstel
   Gebaseerd op de site-typografie: Sofia Sans / 18px basis,
   Primary Black Italic voor sportieve headings en Bold voor UI.
   ========================================================= */
.npb-mynpb,
.npb-mynpb button,
.npb-mynpb input,
.npb-mynpb select,
.npb-mynpb textarea {
    font-family: "Sofia Sans", Arial, sans-serif !important;
}
.npb-mynpb { font-size:18px; line-height:1.45; }
.npb-mynpb p { font-size:16px; line-height:1.45; }
.npb-mynpb .mn-hero h1,
.npb-mynpb .mn-team-page-hero h1,
.npb-mynpb .mn-matches-hero h1,
.npb-mynpb .mn-messages-hero h1 {
    font-family:"Sofia Sans",Arial,sans-serif !important;
    font-style:italic !important;
    font-weight:900 !important;
    text-transform:uppercase;
    letter-spacing:0 !important;
    line-height:1.08 !important;
}
.npb-mynpb .mn-hero h1 { font-size:32px !important; }
.npb-mynpb .mn-card h2,
.npb-mynpb .mn-team-section-head h2,
.npb-mynpb .mn-team-info-card h2,
.npb-mynpb .mn-team-next-card h2,
.npb-mynpb .npb-inbox-title h2 {
    font-family:"Sofia Sans",Arial,sans-serif !important;
    font-size:22px !important;
    line-height:1.2 !important;
    font-style:normal !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}
.npb-mynpb .mn-kicker,
.npb-mynpb .mn-team-page-hero>div>span,
.npb-mynpb .mn-matches-hero>div>span,
.npb-mynpb .mn-messages-hero>div>span {
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}
.npb-mynpb .mn-muted,
.npb-mynpb small,
.npb-mynpb .mn-match-top { font-size:14px !important; line-height:1.4 !important; }
.npb-mynpb .mn-link,
.npb-mynpb .mn-team-page-hero>a,
.npb-mynpb .mn-matches-hero>a,
.npb-mynpb .mn-messages-hero>a,
.npb-mynpb .uk-button,
.npb-mynpb button { font-size:15px !important; font-weight:700 !important; }
.npb-mynpb .mn-side-brand b { font-size:18px !important; font-weight:700 !important; }
.npb-mynpb .mn-side-brand small { font-size:14px !important; }
.npb-mynpb .mn-side-nav nav a,
.npb-mynpb .mn-side-exit {
    font-family:"Sofia Sans",Arial,sans-serif !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-style:normal !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
}
.npb-mynpb .mn-team-member strong { font-size:16px !important; font-weight:700 !important; }
.npb-mynpb .mn-team-member small { font-size:13px !important; }
.npb-mynpb .mn-team-info-card dt,
.npb-mynpb .mn-team-info-card dd { font-size:14px !important; }

@media (max-width:700px) {
    .npb-mynpb { font-size:16px; }
    .npb-mynpb p { font-size:15px; }
    .npb-mynpb .mn-hero h1,
    .npb-mynpb .mn-team-page-hero h1,
    .npb-mynpb .mn-matches-hero h1,
    .npb-mynpb .mn-messages-hero h1 { font-size:26px !important; }
    .npb-mynpb .mn-card h2,
    .npb-mynpb .mn-team-section-head h2,
    .npb-mynpb .mn-team-info-card h2,
    .npb-mynpb .mn-team-next-card h2,
    .npb-mynpb .npb-inbox-title h2 { font-size:20px !important; }
    .npb-mynpb .mn-side-nav nav a,
    .npb-mynpb .mn-side-exit { font-size:16px !important; }
}


/* ==========================================================================
   5.28.04 - Audit PRO 5e hogere invalbeurt = binding ALERT
   ========================================================================== */
.npb-inval .npb-mini-space-row .npb-mini-ball.binding-ball{
  border-style:dashed;
  border-color:#e78518;
  background:#fff;
}
.npb-inval .npb-mini-space-row.is-binding-alert .npb-mini-ball.used{
  border-color:#c5221f;
  background:#c5221f;
  box-shadow:inset -3px -3px 0 rgba(255,255,255,.12);
}
.npb-inval .npb-mini-space-row.is-binding-alert .npb-mini-ball.binding-ball.used{
  border:2px solid #c5221f;
  box-shadow:0 0 0 3px rgba(197,34,31,.12);
}
.npb-inval .npb-binding-alert-badge,
.npb-inval .npb-status-binding-alert{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:5px;padding:3px 8px;border:1px solid #ef4444;border-radius:999px;
  background:#fff1f2;color:#b91c1c;font-size:10px;font-weight:900;line-height:1;letter-spacing:.35px;
}
.npb-inval .npb-binding-alert-text{color:#b91c1c!important;font-weight:900!important;}

/* ==========================================================================\n   5.28.06 - Audit PRO eigen bekerteam filter + teamnaam layout\n   ========================================================================== */
.npb-inval .npb-audit-table th:nth-child(1),
.npb-inval .npb-audit-table td:nth-child(1){width:4%}
.npb-inval .npb-audit-table th:nth-child(2),
.npb-inval .npb-audit-table td:nth-child(2){width:13%}
.npb-inval .npb-audit-table th:nth-child(3),
.npb-inval .npb-audit-table td:nth-child(3){width:10%}
.npb-inval .npb-audit-table th:nth-child(4),
.npb-inval .npb-audit-table td:nth-child(4){width:16%}
.npb-inval .npb-audit-table th:nth-child(5),
.npb-inval .npb-audit-table td:nth-child(5){width:9%}
.npb-inval .npb-audit-table th:nth-child(6),
.npb-inval .npb-audit-table td:nth-child(6){width:15%}
.npb-inval .npb-audit-table th:nth-child(7),
.npb-inval .npb-audit-table td:nth-child(7){width:19%}
.npb-inval .npb-audit-table th:nth-child(8),
.npb-inval .npb-audit-table td:nth-child(8){width:10%}
.npb-inval .npb-audit-table th:nth-child(9),
.npb-inval .npb-audit-table td:nth-child(9){width:4%}
.npb-inval .npb-audit-table td:nth-child(4) strong{
    display:block;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
}
.npb-inval .npb-dossier-history .npb-table{
    min-width:1000px;
    table-layout:auto;
}
.npb-inval .npb-dossier-history .npb-table th:nth-child(2),
.npb-inval .npb-dossier-history .npb-table td:nth-child(2){
    min-width:185px;
}
.npb-inval .npb-dossier-history .npb-table td:nth-child(2) strong{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
}

/* Audit PRO 5.28.08 - team/vereniging netjes op aparte regels */
.npb-inval .npb-dossier-history td:nth-child(2) > strong,
.npb-inval .npb-dossier-history td:nth-child(2) > small{display:block;}
.npb-inval .npb-dossier-history td:nth-child(2) > small{margin-top:3px;white-space:normal;}
\n\n/* ==========================================================================\n   NPB Beheer 5.28.26 - uniforme spelersfoto verhouding 3.5:4.5 (7:9)\n   ========================================================================== */\n:root{--npb-player-photo-ratio:7 / 9;}\n/* Ranking / statistieken */\n.npb-ranking-player-photo,\n.npb-player-statistics-simple-table .npb-ranking-player-photo,\n.npb-player-ranking-card-player .npb-ranking-player-photo,\n.npb-ranking-page [class*="player-photo"] img{\n  aspect-ratio:var(--npb-player-photo-ratio)!important;\n  height:auto!important;object-fit:cover!important;border-radius:9px!important;\n}\n/* Wedstrijd- en teamfoto's: breedte blijft compact, hoogte volgt 7:9 */\n.npb-team-player-photo,.npb-match-player-photo,\n.npb-team-center .npb-team-player-photo{\n  aspect-ratio:var(--npb-player-photo-ratio)!important;\n  height:auto!important;object-fit:cover!important;border-radius:9px!important;\n}\n/* Player Center */\n#npb-player-pro .npb-player-pro-photo{aspect-ratio:var(--npb-player-photo-ratio)!important;height:auto!important;overflow:hidden!important;}\n#npb-player-pro .npb-player-pro-photo img{width:100%!important;height:100%!important;aspect-ratio:var(--npb-player-photo-ratio)!important;object-fit:cover!important;}\n/* Team Center / captain */\n#npb-team-pro .npb-team-pro-captain-avatar,\n#npb-team-pro .npb-team-pro-captain-photo,\n#npb-team-pro .captain-avatar,#npb-team-pro .captain-photo,\n.npb-team-center .npb-team-captain-photo{aspect-ratio:var(--npb-player-photo-ratio)!important;height:auto!important;overflow:hidden!important;}\n#npb-team-pro .npb-team-pro-captain-avatar img,\n#npb-team-pro .npb-team-pro-captain-photo img,\n#npb-team-pro .captain-avatar img,#npb-team-pro .captain-photo img,\n#npb-team-pro .npb-team-pro-captain-card img,#npb-team-pro .team-captain-card img,\n.npb-team-drawer .captain-photo,.npb-team-drawer .captain-photo img,\n.npb-team-drawer .player-photo,.npb-team-drawer .player-photo img,\n.npb-team-panel .captain-photo,.npb-team-panel .captain-photo img,\n.npb-team-panel .player-photo,.npb-team-panel .player-photo img{aspect-ratio:var(--npb-player-photo-ratio)!important;height:auto!important;object-fit:cover!important;}\n/* Mijn NPB */\n.npb-mynpb .mn-avatar,.npb-mynpb .mn-avatar img,\n.npb-mynpb .mn-team-member img,.npb-mynpb .mn-roster-person img,\n.npb-mynpb .mn-captain-center img,.npb-mynpb .mn-captain-roster img{aspect-ratio:var(--npb-player-photo-ratio)!important;height:auto!important;object-fit:cover!important;border-radius:10px!important;}\n.npb-mynpb .mn-avatar-edit-wrap{height:auto!important;aspect-ratio:var(--npb-player-photo-ratio)!important;}\n/* Foto PRO historie / verzoeken */\n.mn-photo-history td img,.mn-photo-card>img{aspect-ratio:var(--npb-player-photo-ratio)!important;height:auto!important;object-fit:cover!important;border-radius:10px!important;}\n
/* 5.29.24 - subtiele terug-naar-site knop in beheer */
.npb-sidebar-site-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;margin-right:2px;border-radius:50%;color:#9db1c1!important;text-decoration:none!important;font:300 22px/1 Arial,sans-serif;opacity:.8;transition:.15s ease}.npb-sidebar-site-close:hover{color:#fff!important;background:rgba(255,255,255,.08);opacity:1}.npb-admin-sidebar-brand [data-npb-sidebar-close]{margin-left:auto}


/* ==========================================================================
   NPB Beheer 5.29.54 - Globale seizoen-selector breedte fix
   Volledige seizoensnaam (bijv. 2026-2027) moet overal zichtbaar blijven.
   ========================================================================== */
.npb-competitions-public .npb-season-control,
.npb-competitions-public .npb-pro-season-filter .npb-season-control,
.npb-pro-page .npb-season-control,
.npb-player-statistics-page .npb-season-control,
.npb-ranking-match-navigation .npb-season-control {
    min-width: 170px !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
}

.npb-competitions-public select[name="season"],
.npb-competitions-public #npb-season,
.npb-competitions-public .npb-season-select,
.npb-competitions-public .npb-competition-season-select,
.npb-competitions-public [data-season-select],
.npb-pro-page select[name="season"],
.npb-player-statistics-page select[name="season"],
.npb-ranking-match-navigation select[name="season"],
.npb-competitions-public [data-player-pro-season-select],
.npb-competitions-public [data-player-card-season] {
    width: auto !important;
    min-width: 170px !important;
    max-width: 230px !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    padding-left: 12px !important;
    padding-right: 38px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
}

/* De compacte toolbar mocht de selector voorheen terug naar min-width:0 drukken. */
.npb-competitions-public .npb-competition-toolbar-compact .npb-season-control {
    min-width: 170px !important;
    width: auto !important;
    flex: 0 0 auto !important;
}
.npb-competitions-public .npb-competition-toolbar-compact #npb-season {
    min-width: 170px !important;
    width: auto !important;
    max-width: 230px !important;
}

/* Ook in flex-rijen het seizoen nooit laten krimpen. */
.npb-competitions-public .npb-pro-season-filter,
.npb-competitions-public .npb-competition-filter,
.npb-player-statistics-page .npb-competition-filter {
    overflow: visible !important;
}
.npb-competitions-public .npb-pro-season-filter form,
.npb-competitions-public .npb-competition-filter form,
.npb-player-statistics-page .npb-competition-filter form {
    min-width: 0;
}
.npb-competitions-public .npb-pro-season-filter label,
.npb-competitions-public .npb-competition-filter label {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .npb-competitions-public .npb-season-control,
    .npb-pro-page .npb-season-control,
    .npb-player-statistics-page .npb-season-control,
    .npb-ranking-match-navigation .npb-season-control {
        min-width: 155px !important;
    }

    .npb-competitions-public select[name="season"],
    .npb-competitions-public #npb-season,
    .npb-pro-page select[name="season"],
    .npb-player-statistics-page select[name="season"],
    .npb-ranking-match-navigation select[name="season"],
    .npb-competitions-public [data-player-pro-season-select],
    .npb-competitions-public [data-player-card-season] {
        min-width: 155px !important;
        max-width: 100% !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.29.54 - Desktop close + pasfoto wedstrijddetails
   ========================================================================== */

/* Wedstrijddetails: echte pasfotoverhouding met afgeronde hoeken. */
.npb-competitions-public .npb-match-player-photo,
.npb-competitions-public .npb-match-player-photo-placeholder,
#npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo,
#npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo-placeholder {
    width: 38px !important;
    height: 48px !important;
    flex: 0 0 38px !important;
    aspect-ratio: 38 / 48 !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    overflow: hidden !important;
    border: 1px solid rgba(11,53,88,.14) !important;
    background-clip: padding-box !important;
}
.npb-competitions-public .npb-match-player-photo-placeholder,
#npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo-placeholder {
    display: inline-grid !important;
    place-items: center !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
}

/* Mobiel behoudt de bestaande duidelijke terugknoppen. */
.npb-player-pro-close-desktop,
.npb-team-pro-close-desktop {
    display: none;
}
.npb-team-pro-close-mobile {
    display: inline;
}

/* Alleen desktop: grote terugknoppen worden hetzelfde subtiele UIkit-kruisje. */
@media (min-width: 901px) {
    #npb-player-pro .npb-player-pro-close,
    #npb-team-pro .npb-team-pro-close {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #6e8192 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        opacity: .72;
        transition: opacity .15s ease, background-color .15s ease, color .15s ease !important;
    }
    #npb-player-pro .npb-player-pro-close:hover,
    #npb-player-pro .npb-player-pro-close:focus-visible,
    #npb-team-pro .npb-team-pro-close:hover,
    #npb-team-pro .npb-team-pro-close:focus-visible {
        opacity: 1;
        color: #0b3558 !important;
        background: rgba(11,53,88,.07) !important;
        outline: none !important;
    }
    #npb-player-pro .npb-player-pro-close-desktop,
    #npb-team-pro .npb-team-pro-close-desktop {
        display: inline-flex !important;
        width: 18px !important;
        height: 18px !important;
    }
    #npb-player-pro .npb-player-pro-close-long,
    #npb-player-pro .npb-player-pro-close-short,
    #npb-team-pro .npb-team-pro-close-mobile {
        display: none !important;
    }
}

/* Klein scherm: foto's blijven compact zodat de wedstrijdrij niet breekt. */
@media (max-width: 700px) {
    .npb-competitions-public .npb-match-player-photo,
    .npb-competitions-public .npb-match-player-photo-placeholder,
    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo,
    #npb-team-pro .npb-team-pro-inline-detail-inner .npb-match-player-photo-placeholder {
        width: 30px !important;
        height: 38px !important;
        flex-basis: 30px !important;
        border-radius: 7px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.29.54 - Globale pasfoto-stijl
   Geen ronde/cirkelvormige spelersfoto's meer binnen NPB Beheer.
   ========================================================================== */

:root{
    --npb-player-photo-radius:8px;
    --npb-player-photo-ratio:4 / 5;
}

/* Algemene spelersfoto's */
.npb-competitions-public .npb-match-player-photo,
.npb-competitions-public .npb-team-player-photo,
.npb-competitions-public [class*="player-photo"] img,
.npb-player-statistics-page [class*="player-photo"] img,
.npb-ranking-page [class*="player-photo"] img,
.npb-team-center .npb-team-player-photo,
.npb-team-center .npb-team-captain-photo,
#npb-team-pro .npb-team-pro-captain-photo,
#npb-team-pro .npb-team-pro-captain-avatar img,
#npb-player-pro .npb-player-pro-photo,
#npb-player-pro .npb-player-pro-photo img {
    border-radius:var(--npb-player-photo-radius) !important;
}

/* Team Center captain: pasfoto i.p.v. cirkel. */
#npb-team-pro .npb-team-pro-captain-avatar,
#npb-team-pro .npb-team-pro-captain-photo,
#npb-team-pro .captain-avatar,
#npb-team-pro .captain-photo,
.npb-team-center .npb-team-captain-photo {
    aspect-ratio:var(--npb-player-photo-ratio) !important;
    border-radius:var(--npb-player-photo-radius) !important;
    overflow:hidden !important;
    object-fit:cover !important;
}

#npb-team-pro .npb-team-pro-captain-avatar img,
#npb-team-pro .npb-team-pro-captain-photo img,
#npb-team-pro .captain-avatar img,
#npb-team-pro .captain-photo img,
.npb-team-center .npb-team-captain-photo img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:var(--npb-player-photo-radius) !important;
}

/* Player Center hoofdfoto: dezelfde pasfoto-vorm. */
#npb-player-pro .npb-player-pro-photo {
    aspect-ratio:var(--npb-player-photo-ratio) !important;
    height:auto !important;
    border-radius:10px !important;
    overflow:hidden !important;
}
#npb-player-pro .npb-player-pro-photo img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:6px !important;
}

/* Compact Team Center / lijst met teamleden. */
.npb-team-center .npb-team-player-photo,
.npb-competitions-public .npb-team-player-photo,
img.npb-team-player-photo {
    width:38px !important;
    height:48px !important;
    aspect-ratio:38 / 48 !important;
    flex:0 0 38px !important;
    object-fit:cover !important;
    border-radius:7px !important;
    overflow:hidden !important;
    border:1px solid rgba(11,53,88,.12) !important;
}

/* Compacte teamcaptainkaart gebruikt dezelfde verhouding maar iets groter. */
.npb-team-center .npb-team-captain-photo,
.npb-team-center .npb-captain-photo {
    width:48px !important;
    height:60px !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    border-radius:8px !important;
    overflow:hidden !important;
}

/* Volledig Team Center captainkaart: groter pasfotokader. */
#npb-team-pro .npb-team-pro-captain-avatar,
#npb-team-pro .npb-team-pro-captain-photo {
    width:72px !important;
    height:90px !important;
    min-width:72px !important;
    aspect-ratio:4 / 5 !important;
    border-radius:10px !important;
    border:2px solid rgba(255,255,255,.34) !important;
    box-shadow:0 5px 14px rgba(0,0,0,.12) !important;
}

/* Nooit een cirkel afdwingen op echte foto's in team/player context. */
#npb-team-pro img[class*="photo"],
#npb-team-pro img[class*="avatar"],
#npb-player-pro img[class*="photo"],
.npb-team-center img[class*="photo"],
.npb-competitions-public img.npb-match-player-photo {
    border-radius:var(--npb-player-photo-radius) !important;
    object-fit:cover !important;
}

/* Placeholders mogen eveneens afgeronde rechthoeken zijn. */
.npb-match-player-photo-placeholder,
.npb-team-player-photo-placeholder {
    border-radius:7px !important;
}

/* Mobiel: proportioneel iets kleiner, maar nog steeds pasfoto. */
@media(max-width:700px){
    .npb-team-center .npb-team-player-photo,
    .npb-competitions-public .npb-team-player-photo,
    img.npb-team-player-photo {
        width:32px !important;
        height:40px !important;
        flex-basis:32px !important;
    }

    .npb-team-center .npb-team-captain-photo,
    .npb-team-center .npb-captain-photo {
        width:44px !important;
        height:55px !important;
    }

    #npb-team-pro .npb-team-pro-captain-avatar,
    #npb-team-pro .npb-team-pro-captain-photo {
        width:58px !important;
        height:72px !important;
        min-width:58px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.29.54 - Team Center captain pasfoto definitieve fix
   Overschrijft oudere ronde avatarregels in alle Team Center-varianten.
   ========================================================================== */

/* Volledig Team Center: captainfoto altijd rechthoekige pasfoto. */
#npb-team-pro .npb-team-pro-captain-avatar,
#npb-team-pro .npb-team-pro-captain-photo,
#npb-team-pro .captain-avatar,
#npb-team-pro .captain-photo {
    width:72px !important;
    min-width:72px !important;
    height:90px !important;
    min-height:90px !important;
    aspect-ratio:4 / 5 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    flex:0 0 72px !important;
    background:#eef4f8 !important;
    border:2px solid rgba(255,255,255,.34) !important;
    box-shadow:0 5px 14px rgba(0,0,0,.12) !important;
}

#npb-team-pro .npb-team-pro-captain-avatar img,
#npb-team-pro .npb-team-pro-captain-photo img,
#npb-team-pro .captain-avatar img,
#npb-team-pro .captain-photo img,
#npb-team-pro img.npb-team-pro-captain-avatar,
#npb-team-pro img.npb-team-pro-captain-photo {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:none !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:8px !important;
    clip-path:none !important;
}

/* Verwijder mogelijke ronde pseudo/legacy styling rond captainfoto. */
#npb-team-pro .npb-team-pro-captain-avatar::before,
#npb-team-pro .npb-team-pro-captain-avatar::after,
#npb-team-pro .npb-team-pro-captain-photo::before,
#npb-team-pro .npb-team-pro-captain-photo::after {
    border-radius:10px !important;
}

/* Compact Team Center captainkaart. */
.npb-team-center .npb-team-captain-photo,
.npb-team-center .npb-captain-photo,
.npb-team-center img.npb-team-captain-photo,
.npb-team-center img.npb-captain-photo {
    width:48px !important;
    min-width:48px !important;
    height:60px !important;
    min-height:60px !important;
    aspect-ratio:4 / 5 !important;
    border-radius:8px !important;
    object-fit:cover !important;
    object-position:center center !important;
    overflow:hidden !important;
    clip-path:none !important;
}

/* Ook wanneer de captainfoto generieke avatar/photo classes meekrijgt. */
#npb-team-pro .npb-team-pro-captain img,
#npb-team-pro .npb-team-pro-captain [class*="avatar"] img,
#npb-team-pro .npb-team-pro-captain [class*="photo"] img {
    aspect-ratio:4 / 5 !important;
    border-radius:8px !important;
    object-fit:cover !important;
    clip-path:none !important;
}

/* Mobiel dezelfde verhouding, alleen kleiner. */
@media(max-width:700px){
    #npb-team-pro .npb-team-pro-captain-avatar,
    #npb-team-pro .npb-team-pro-captain-photo,
    #npb-team-pro .captain-avatar,
    #npb-team-pro .captain-photo {
        width:58px !important;
        min-width:58px !important;
        height:72px !important;
        min-height:72px !important;
        flex-basis:58px !important;
        border-radius:9px !important;
    }

    .npb-team-center .npb-team-captain-photo,
    .npb-team-center .npb-captain-photo,
    .npb-team-center img.npb-team-captain-photo,
    .npb-team-center img.npb-captain-photo {
        width:44px !important;
        min-width:44px !important;
        height:55px !important;
        min-height:55px !important;
        border-radius:7px !important;
    }
}


/* ==========================================================================
   NPB Beheer 5.29.54 - Team Center captain EXACT pasfoto fix
   Het daadwerkelijke DOM-element is img[data-pro-captain-photo].
   ========================================================================== */

/* Exacte captainfoto uit Team Center: nooit meer rond. */
#npb-team-pro img[data-pro-captain-photo],
.npb-team-pro img[data-pro-captain-photo],
img[data-pro-captain-photo] {
    display:block !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:105px !important;
    min-height:105px !important;
    max-height:105px !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:10px !important;
    -webkit-border-radius:10px !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    overflow:hidden !important;
    transform:none !important;
}

/* Het kader om de foto volgt exact dezelfde rechthoekige pasfoto-vorm. */
#npb-team-pro .npb-team-pro-captain-avatar,
.npb-team-pro .npb-team-pro-captain-avatar {
    display:block !important;
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    height:105px !important;
    min-height:105px !important;
    max-height:105px !important;
    aspect-ratio:4 / 5 !important;
    border-radius:11px !important;
    -webkit-border-radius:11px !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    overflow:hidden !important;
    flex:0 0 84px !important;
    padding:0 !important;
    line-height:0 !important;
    border:2px solid rgba(255,255,255,.42) !important;
    background:#eef4f8 !important;
    box-shadow:0 5px 14px rgba(0,0,0,.14) !important;
}

/* Verwijder iedere legacy cirkel/outline die via pseudo-elementen kan meekomen. */
#npb-team-pro .npb-team-pro-captain-avatar::before,
#npb-team-pro .npb-team-pro-captain-avatar::after,
.npb-team-pro .npb-team-pro-captain-avatar::before,
.npb-team-pro .npb-team-pro-captain-avatar::after {
    border-radius:11px !important;
    clip-path:none !important;
}

/* Geen globale avatarregel mag de captainfoto opnieuw rond maken. */
#npb-team-pro .npb-team-pro-captain img,
#npb-team-pro .npb-team-pro-captain-avatar img,
#npb-team-pro img[class*="avatar"][data-pro-captain-photo],
#npb-team-pro img[class*="photo"][data-pro-captain-photo] {
    border-radius:10px !important;
    -webkit-border-radius:10px !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
}

/* Mobiel: dezelfde verhouding, iets compacter. */
@media(max-width:700px){
    #npb-team-pro img[data-pro-captain-photo],
    .npb-team-pro img[data-pro-captain-photo],
    img[data-pro-captain-photo] {
        width:58px !important;
        min-width:58px !important;
        max-width:58px !important;
        height:73px !important;
        min-height:73px !important;
        max-height:73px !important;
        border-radius:8px !important;
    }

    #npb-team-pro .npb-team-pro-captain-avatar,
    .npb-team-pro .npb-team-pro-captain-avatar {
        width:58px !important;
        min-width:58px !important;
        max-width:58px !important;
        height:73px !important;
        min-height:73px !important;
        max-height:73px !important;
        flex-basis:58px !important;
        border-radius:9px !important;
    }
}

/* ========================================================================== 
   NPB Beheer 5.29.56 - Full Team/Player Center desktop sluitknop
   Zelfde subtiele UIkit-kruisje als het compacte Team Center.
   Mobiele terugknoppen blijven ongewijzigd.
   ========================================================================== */
@media (min-width: 901px) {
  body #npb-team-pro .npb-team-pro-topbar .npb-team-pro-close,
  body #npb-player-pro .npb-player-pro-topbar .npb-player-pro-close {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(11,53,88,.14) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #0b3558 !important;
    box-shadow: 0 2px 8px rgba(11,53,88,.06) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    opacity: 1 !important;
  }
  body #npb-team-pro .npb-team-pro-topbar .npb-team-pro-close:hover,
  body #npb-player-pro .npb-player-pro-topbar .npb-player-pro-close:hover {
    border-color: rgba(255,119,0,.55) !important;
    background: #fff8f2 !important;
    color: #ff7700 !important;
  }
  body #npb-team-pro .npb-team-pro-close-desktop,
  body #npb-player-pro .npb-player-pro-close-desktop {
    display: inline-flex !important;
    width: 16px !important;
    height: 16px !important;
    color: currentColor !important;
  }
  body #npb-team-pro .npb-team-pro-close-mobile,
  body #npb-player-pro .npb-player-pro-close-long,
  body #npb-player-pro .npb-player-pro-close-short {
    display: none !important;
  }
}

/* ===== NPB BEHEER 5.30.06 MOBILE FIRST FOUNDATION START ===== */
/*
 * Centrale frontend UI foundation.
 *
 * Typografie:
 * - NPB Beheer kiest géén eigen fontfamilie meer voor de publieke UI.
 * - Body/UI erft rechtstreeks van het actieve YOOtheme.
 * - h1-h6 blijven ongemoeid zodat YOOtheme zijn heading-font kan toepassen.
 * - Form controls, tabs, tabellen en buttons volgen het body-font.
 *
 * Hierdoor kan een latere fontwissel in YOOtheme automatisch doorwerken
 * in NPB Beheer zonder per pagina fontnamen te wijzigen.
 */

:root {
    --npb-ui-space-1: 4px;
    --npb-ui-space-2: 8px;
    --npb-ui-space-3: 12px;
    --npb-ui-space-4: 16px;
    --npb-ui-space-5: 20px;
    --npb-ui-radius-sm: 8px;
    --npb-ui-radius-md: 12px;
    --npb-ui-radius-lg: 16px;
    --npb-ui-border: rgba(11,53,88,.14);
    --npb-ui-text: #0b3558;
    --npb-ui-muted: #66778b;
    --npb-ui-orange: #f97316;
    --npb-ui-blue: #0b3558;
}

/* Publieke NPB Beheer roots volgen YOOtheme. */
.npb-competitions-public,
.npb-player-statistics-page,
.npb-ranking-page,
.npb-player-pro,
#npb-player-pro,
#npb-team-pro,
.npb-mynpb,
.npb-agenda-pro,
.npb-livecenter {
    font-family: inherit !important;
}

/* UI-elementen volgen het body-font van YOOtheme. */
.npb-competitions-public table,
.npb-competitions-public input,
.npb-competitions-public select,
.npb-competitions-public textarea,
.npb-competitions-public button,
.npb-player-statistics-page table,
.npb-player-statistics-page input,
.npb-player-statistics-page select,
.npb-player-statistics-page textarea,
.npb-player-statistics-page button,
#npb-team-pro table,
#npb-team-pro input,
#npb-team-pro select,
#npb-team-pro textarea,
#npb-team-pro button,
#npb-player-pro table,
#npb-player-pro input,
#npb-player-pro select,
#npb-player-pro textarea,
#npb-player-pro button {
    font-family: inherit !important;
}

/*
 * Stand / Competitie PRO
 * Desktop blijft rijk aan informatie; mobiel start bij de essentie.
 */
.npb-competitions-public .npb-competition-toolbar-pro {
    gap: 8px;
}

.npb-competitions-public .npb-standings-header h2 {
    font-family: inherit;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.npb-competitions-public .npb-team-name,
.npb-competitions-public .npb-team-center-link {
    font-family: inherit !important;
}

/* Tablet: rechter informatiekolom pas tonen wanneer daar echt ruimte voor is. */
@media (max-width: 1050px) {
    .npb-competitions-public .npb-standings-pro-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .npb-competitions-public .npb-standings-pro-sidebar {
        display: none !important;
    }
}

/* Mobile first Stand */
@media (max-width: 700px) {
    .npb-competitions-public {
        width: 100% !important;
        max-width: none !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    /* Bediening zo compact mogelijk boven de sportinhoud. */
    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        margin: 0 0 8px !important;
        padding: 8px !important;
        border-radius: 12px !important;
        gap: 6px !important;
    }

    .npb-competitions-public .npb-competition-filter {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .npb-competitions-public .npb-competition-filter form {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .npb-competitions-public .npb-competition-filter label {
        margin: 0 !important;
        font-size: .67rem !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        letter-spacing: .045em !important;
    }

    .npb-competitions-public .npb-season-control {
        min-width: 0 !important;
    }

    .npb-competitions-public select[name="season"] {
        width: 126px !important;
        min-width: 126px !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 4px 28px 4px 9px !important;
        font-size: .76rem !important;
        border-radius: 8px !important;
    }

    .npb-competitions-public [data-competition-theme-toggle] {
        min-height: 32px !important;
        height: 32px !important;
        padding: 3px !important;
        margin-left: auto !important;
    }

    .npb-competitions-public .npb-competition-theme-light,
    .npb-competitions-public .npb-competition-theme-dark {
        min-height: 24px !important;
        height: 24px !important;
        padding: 0 7px !important;
        font-size: .66rem !important;
    }

    /* Leagues als horizontale chips: geen meerregelige buttonmuur. */
    .npb-competitions-public .npb-competition-quicknav {
        width: 100% !important;
        margin: 4px 0 0 !important;
        padding: 6px 0 0 !important;
        border: 0 !important;
        border-top: 1px solid rgba(11,53,88,.10) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .npb-competitions-public .npb-league-selector,
    .npb-competitions-public .npb-pool-chips {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .npb-competitions-public .npb-league-selector::-webkit-scrollbar,
    .npb-competitions-public .npb-pool-chips::-webkit-scrollbar {
        display: none;
    }

    .npb-competitions-public .npb-league-chip,
    .npb-competitions-public .npb-pool-chip {
        flex: 0 0 auto !important;
        min-height: 30px !important;
        padding: 4px 9px !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        font-size: .68rem !important;
        line-height: 1.1 !important;
    }

    /* De pagina begint visueel bij de competitie en de stand. */
    .npb-competitions-public .npb-standings-list {
        margin-top: 8px !important;
        gap: 10px !important;
    }

    .npb-competitions-public .npb-standings-card {
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 18px rgba(11,53,88,.07) !important;
    }

    .npb-competitions-public .npb-standings-header {
        min-height: 0 !important;
        padding: 10px 12px 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .npb-competitions-public .npb-standings-header .npb-eyebrow {
        display: block !important;
        margin: 0 0 2px !important;
        font-size: .62rem !important;
        line-height: 1 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
    }

    .npb-competitions-public .npb-standings-header h2 {
        margin: 0 !important;
        font-size: 1.45rem !important;
        line-height: 1.05 !important;
    }

    .npb-competitions-public .npb-count-badge {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        padding: 3px 7px !important;
        font-size: .64rem !important;
    }

    /* Compacte Stand/Wedstrijden tabs. */
    .npb-competitions-public .npb-competition-tabs {
        gap: 4px !important;
        padding: 4px !important;
    }

    .npb-competitions-public .npb-competition-tab {
        min-height: 34px !important;
        padding: 5px 7px !important;
        border-radius: 7px !important;
        font-size: .72rem !important;
        line-height: 1 !important;
    }

    .npb-competitions-public .npb-competition-tab span {
        min-width: 17px !important;
        height: 17px !important;
        padding: 0 4px !important;
        font-size: .57rem !important;
    }

    /* Mobiele stand = # / Team / G / P. Geen horizontale scroll. */
    .npb-competitions-public .npb-standings-table-wrap {
        width: 100% !important;
        overflow: visible !important;
    }

    .npb-competitions-public .npb-standings-table {
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    .npb-competitions-public .npb-standings-table thead {
        display: table-header-group !important;
    }

    .npb-competitions-public .npb-standings-table thead tr,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) {
        display: table-row !important;
    }

    .npb-competitions-public .npb-standings-table thead th,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > th {
        display: none !important;
        position: static !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-position,
    .npb-competitions-public .npb-standings-table .npb-team-cell,
    .npb-competitions-public .npb-standings-table .npb-col-played,
    .npb-competitions-public .npb-standings-table .npb-col-points {
        display: table-cell !important;
        vertical-align: middle !important;
        padding: 8px 6px !important;
        border-top: 1px solid #e9eef4 !important;
    }

    .npb-competitions-public .npb-standings-table thead .npb-col-position,
    .npb-competitions-public .npb-standings-table thead th:nth-child(2),
    .npb-competitions-public .npb-standings-table thead th:nth-child(3),
    .npb-competitions-public .npb-standings-table thead .npb-col-points {
        display: table-cell !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: .60rem !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-position {
        width: 34px !important;
        text-align: center !important;
    }

    .npb-competitions-public .npb-standings-table .npb-team-cell {
        width: auto !important;
        min-width: 0 !important;
        padding-right: 4px !important;
    }

    .npb-competitions-public .npb-standings-table .npb-col-played {
        width: 34px !important;
        text-align: center !important;
        font-size: .78rem !important;
        font-variant-numeric: tabular-nums;
    }

    .npb-competitions-public .npb-standings-table .npb-col-points {
        width: 42px !important;
        text-align: right !important;
        padding-right: 9px !important;
        font-size: .85rem !important;
        font-variant-numeric: tabular-nums;
    }

    .npb-competitions-public .npb-position-badge {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        font-size: .70rem !important;
        line-height: 1 !important;
    }

    .npb-competitions-public .npb-team-cell-inner {
        min-width: 0 !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link {
        display: block !important;
        width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        text-align: left !important;
        font-size: .82rem !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
    }

    .npb-competitions-public .npb-row-chevron {
        margin-left: 3px !important;
        font-size: .67rem !important;
    }

    /* Uitklaprij toont de secundaire statistieken. */
    .npb-competitions-public .npb-team-detail-row[hidden] {
        display: none !important;
    }

    .npb-competitions-public .npb-team-detail-row:not([hidden]) {
        display: table-row !important;
    }

    .npb-competitions-public .npb-team-detail-row:not([hidden]) > td {
        display: table-cell !important;
        width: auto !important;
        padding: 8px 10px 10px !important;
        border-top: 0 !important;
    }

    .npb-competitions-public .npb-team-detail-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 5px !important;
    }

    .npb-competitions-public .npb-team-detail-grid > div {
        min-width: 0 !important;
        padding: 6px 4px !important;
        border-radius: 7px !important;
        text-align: center !important;
    }

    .npb-competitions-public .npb-team-detail-grid span {
        display: block !important;
        font-size: .54rem !important;
        line-height: 1.1 !important;
    }

    .npb-competitions-public .npb-team-detail-grid strong {
        display: block !important;
        margin-top: 2px !important;
        font-size: .75rem !important;
        line-height: 1 !important;
    }

    /* Op mobiel is de stand zelf leidend; info/legenda zitten niet in de weg. */
    .npb-competitions-public .npb-standings-pro-sidebar {
        display: none !important;
    }
}

/* Zeer kleine telefoons. */
@media (max-width: 380px) {
    .npb-competitions-public {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .npb-competitions-public select[name="season"] {
        width: 118px !important;
        min-width: 118px !important;
    }

    .npb-competitions-public .npb-competition-theme-light,
    .npb-competitions-public .npb-competition-theme-dark {
        padding: 0 5px !important;
        font-size: .61rem !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link {
        font-size: .77rem !important;
    }
}
/* ===== NPB BEHEER 5.30.06 MOBILE FIRST FOUNDATION END ===== */

/* ===== NPB BEHEER 5.30.07 MOBILE STAND FIX START ===== */
@media (max-width: 700px) {
    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        padding: 6px 8px !important;
        gap: 4px !important;
        margin-bottom: 6px !important;
    }

    .npb-competitions-public .npb-competition-filter form {
        gap: 5px !important;
    }

    .npb-competitions-public .npb-competition-filter label {
        font-size: .62rem !important;
    }

    .npb-competitions-public select[name="season"] {
        width: 122px !important;
        min-width: 122px !important;
        height: 32px !important;
        min-height: 32px !important;
        font-size: .72rem !important;
    }

    .npb-competitions-public .npb-competition-quicknav {
        padding-top: 4px !important;
        margin-top: 2px !important;
    }

    .npb-competitions-public .npb-league-chip,
    .npb-competitions-public .npb-pool-chip {
        min-height: 28px !important;
        padding: 3px 8px !important;
        font-size: .65rem !important;
    }

    .npb-competitions-public .npb-standings-header {
        padding: 8px 10px 6px !important;
    }

    .npb-competitions-public .npb-standings-header h2 {
        font-size: 1.35rem !important;
    }

    .npb-competitions-public .npb-count-badge {
        font-size: .60rem !important;
        padding: 2px 6px !important;
    }

    /* Eerst alles verbergen, daarna mobiele kernkolommen terugzetten */
    .npb-competitions-public .npb-standings-table thead th,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > th {
        display: none !important;
    }

    /* # */
    .npb-competitions-public .npb-standings-table thead th:nth-child(1),
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:nth-child(1),
    .npb-competitions-public .npb-standings-table .npb-col-position {
        display: table-cell !important;
        width: 34px !important;
        text-align: center !important;
    }

    /* TEAM */
    .npb-competitions-public .npb-standings-table thead th:nth-child(2),
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:nth-child(2),
    .npb-competitions-public .npb-standings-table .npb-team-cell {
        display: table-cell !important;
        width: auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    /* G */
    .npb-competitions-public .npb-standings-table thead th:nth-child(3),
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:nth-child(3),
    .npb-competitions-public .npb-standings-table .npb-col-played {
        display: table-cell !important;
        width: 34px !important;
        text-align: center !important;
    }

    /* P = laatste kolom */
    .npb-competitions-public .npb-standings-table thead th:last-child,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:last-child,
    .npb-competitions-public .npb-standings-table .npb-col-points {
        display: table-cell !important;
        width: 38px !important;
        text-align: right !important;
        padding-right: 8px !important;
    }

    .npb-competitions-public .npb-standings-table thead th {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: .58rem !important;
    }

    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > * {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    /* Teamnaam altijd zichtbaar */
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:nth-child(2),
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > *:nth-child(2) * {
        visibility: visible !important;
        opacity: 1 !important;
    }

    .npb-competitions-public .npb-team-cell {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding-left: 6px !important;
        padding-right: 3px !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link,
    .npb-competitions-public .npb-team-cell a,
    .npb-competitions-public .npb-team-cell strong,
    .npb-competitions-public .npb-team-cell span {
        display: inline !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: nowrap !important;
        font-size: .80rem !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
    }

    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) {
        cursor: pointer !important;
    }

    .npb-competitions-public .npb-team-detail-row:not([hidden]) > td {
        padding: 7px 8px 9px !important;
    }

    .npb-competitions-public .npb-team-detail-grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 4px !important;
    }

    .npb-competitions-public .npb-team-detail-grid > div {
        padding: 5px 3px !important;
    }
}

@media (min-width: 701px) and (max-width: 900px) {
    .npb-competitions-public .npb-standings-pro-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .npb-competitions-public .npb-standings-pro-sidebar {
        display: none !important;
    }
}
/* ===== NPB BEHEER 5.30.07 MOBILE STAND FIX END ===== */

/* ===== NPB BEHEER 5.30.08 RESPONSIVE STAND POLISH START ===== */

/* Mobiel portrait: maximaal compact, focus op # Team G P */
@media (max-width: 700px) and (orientation: portrait) {
    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        padding: 5px 7px !important;
        min-height: 0 !important;
    }

    /* Thema en seizoen zoveel mogelijk op één compacte regel */
    .npb-competitions-public .npb-competition-toolbar-pro {
        align-items: center !important;
    }

    .npb-competitions-public .npb-competition-filter {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .npb-competitions-public .npb-competition-filter form {
        flex-direction: row !important;
        justify-content: center !important;
    }

    .npb-competitions-public .npb-competition-filter label {
        display: none !important;
    }

    .npb-competitions-public select[name="season"] {
        width: 120px !important;
        min-width: 120px !important;
        height: 30px !important;
        min-height: 30px !important;
    }

    .npb-competitions-public [data-competition-theme-toggle] {
        height: 29px !important;
        min-height: 29px !important;
    }

    .npb-competitions-public .npb-competition-theme-light,
    .npb-competitions-public .npb-competition-theme-dark {
        height: 23px !important;
        min-height: 23px !important;
    }

    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > * {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link,
    .npb-competitions-public .npb-team-cell a,
    .npb-competitions-public .npb-team-cell strong,
    .npb-competitions-public .npb-team-cell span {
        font-weight: 600 !important;
    }

    /* Chevron netjes rechts in puntenkolom */
    .npb-competitions-public .npb-row-chevron {
        display: inline-block !important;
        margin-left: 3px !important;
        font-size: .58rem !important;
        line-height: 1 !important;
        vertical-align: middle !important;
        opacity: .72 !important;
    }
}

/*
 * Landscape telefoon:
 * meer horizontale ruimte = uitgebreidere stand.
 * Toon # Team G W GL V +/- P.
 */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    .npb-competitions-public {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        padding: 4px 7px !important;
        margin-bottom: 5px !important;
        gap: 4px !important;
    }

    .npb-competitions-public .npb-competition-filter label {
        display: none !important;
    }

    .npb-competitions-public select[name="season"] {
        width: 112px !important;
        min-width: 112px !important;
        height: 29px !important;
        min-height: 29px !important;
        font-size: .68rem !important;
    }

    .npb-competitions-public .npb-competition-quicknav {
        margin-top: 0 !important;
        padding-top: 3px !important;
    }

    .npb-competitions-public .npb-league-chip,
    .npb-competitions-public .npb-pool-chip {
        min-height: 26px !important;
        padding: 3px 7px !important;
        font-size: .62rem !important;
    }

    .npb-competitions-public .npb-standings-header {
        padding: 6px 9px 5px !important;
    }

    .npb-competitions-public .npb-standings-header h2 {
        font-size: 1.25rem !important;
    }

    .npb-competitions-public .npb-competition-tabs {
        padding: 3px !important;
    }

    .npb-competitions-public .npb-competition-tab {
        min-height: 30px !important;
        height: 30px !important;
        padding: 4px 6px !important;
        font-size: .67rem !important;
    }

    .npb-competitions-public .npb-standings-table {
        table-layout: fixed !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    /* Alle reguliere kolommen terug tonen in landscape */
    .npb-competitions-public .npb-standings-table thead th,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > th {
        display: table-cell !important;
        position: static !important;
        padding: 6px 4px !important;
        font-size: .66rem !important;
        line-height: 1.05 !important;
        vertical-align: middle !important;
    }

    .npb-competitions-public .npb-standings-table thead th {
        font-size: .54rem !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(1),
    .npb-competitions-public .npb-standings-table td:nth-child(1) {
        width: 30px !important;
        text-align: center !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(2),
    .npb-competitions-public .npb-standings-table td:nth-child(2) {
        width: auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(n+3),
    .npb-competitions-public .npb-standings-table td:nth-child(n+3) {
        width: 38px !important;
        text-align: center !important;
    }

    .npb-competitions-public .npb-standings-table th:last-child,
    .npb-competitions-public .npb-standings-table td:last-child {
        width: 42px !important;
        text-align: right !important;
        padding-right: 7px !important;
    }

    .npb-competitions-public .npb-team-cell {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link,
    .npb-competitions-public .npb-team-cell a,
    .npb-competitions-public .npb-team-cell strong,
    .npb-competitions-public .npb-team-cell span {
        font-size: .70rem !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }

    .npb-competitions-public .npb-position-badge {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        font-size: .63rem !important;
    }

    /* Detailrij blijft beschikbaar maar hoeft niet standaard open */
    .npb-competitions-public .npb-team-detail-row[hidden] {
        display: none !important;
    }
}

/*
 * Kleine tablet / breed mobiel (portrait of landscape):
 * genoeg ruimte voor G, W, GL, V en P; saldo blijft optioneel verborgen.
 */
@media (min-width: 701px) and (max-width: 900px) and (min-height: 521px) {
    .npb-competitions-public .npb-standings-table {
        table-layout: fixed !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .npb-competitions-public .npb-standings-table thead th,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > td,
    .npb-competitions-public .npb-standings-table tbody tr:not(.npb-team-detail-row) > th {
        display: table-cell !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(1),
    .npb-competitions-public .npb-standings-table td:nth-child(1) {
        width: 36px !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(2),
    .npb-competitions-public .npb-standings-table td:nth-child(2) {
        width: auto !important;
    }

    .npb-competitions-public .npb-standings-table th:nth-child(n+3),
    .npb-competitions-public .npb-standings-table td:nth-child(n+3) {
        width: 46px !important;
    }

    .npb-competitions-public .npb-team-name,
    .npb-competitions-public .npb-team-center-link {
        font-weight: 600 !important;
    }
}

/*
 * Mobiele YOOtheme header compacter zonder functionaliteit te verwijderen.
 * Alleen frontend/smalle viewport.
 */
@media (max-width: 700px) {
    .tm-header-mobile .uk-navbar,
    .tm-header-mobile .uk-navbar-container {
        min-height: 82px !important;
    }

    .tm-header-mobile .uk-logo img {
        max-height: 76px !important;
        width: auto !important;
    }
}
/* ===== NPB BEHEER 5.30.08 RESPONSIVE STAND POLISH END ===== */

/* ===== NPB BEHEER 5.30.09 PORTRAIT LEAGUE SELECTOR START ===== */
.npb-mobile-league-select-wrap {
    display: none;
}

@media (max-width: 700px) and (orientation: portrait) {
    .npb-mobile-league-select-wrap {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 3px 0 0 !important;
        padding-top: 4px !important;
        border-top: 1px solid rgba(11,53,88,.10) !important;
    }

    .npb-mobile-league-select-wrap label {
        flex: 0 0 auto !important;
        margin: 0 !important;
        font-size: .60rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        letter-spacing: .05em !important;
    }

    .npb-mobile-league-select {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 !important;
        padding: 3px 28px 3px 9px !important;
        border: 1px solid rgba(11,53,88,.22) !important;
        border-radius: 8px !important;
        background-color: #fff !important;
        color: #0b3558 !important;
        font-family: inherit !important;
        font-size: .70rem !important;
        font-weight: 600 !important;
    }

    /* Portrait gebruikt de dropdown; landscape houdt de snelle buttons. */
    .npb-mobile-league-select-wrap + .npb-league-selector {
        display: none !important;
    }
}

@media (min-width: 540px) and (orientation: landscape) {
    .npb-mobile-league-select-wrap {
        display: none !important;
    }
}
/* ===== NPB BEHEER 5.30.09 PORTRAIT LEAGUE SELECTOR END ===== */

/* ===== NPB BEHEER 5.30.10 STAND + WEDSTRIJDEN MOBILE POLISH START ===== */

/* Portrait: bediening compacter en hiërarchie rustiger */
@media (max-width: 700px) and (orientation: portrait) {
    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        padding: 5px 7px !important;
        border-radius: 11px !important;
    }

    /* Thema en seizoen dichter bij elkaar */
    .npb-competitions-public [data-competition-theme-toggle] {
        margin-bottom: 1px !important;
    }

    .npb-competitions-public .npb-season-control,
    .npb-competitions-public .npb-competition-filter form {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .npb-mobile-league-select-wrap {
        margin-top: 3px !important;
        padding-top: 4px !important;
    }

    /* Pouleknoppen alleen als ze bestaan; zeer compact */
    .npb-competitions-public .npb-pool-chips {
        gap: 4px !important;
        margin-top: 3px !important;
    }

    .npb-competitions-public .npb-pool-chip {
        min-width: 26px !important;
        width: 26px !important;
        min-height: 26px !important;
        height: 26px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        display: inline-grid !important;
        place-items: center !important;
        font-size: .66rem !important;
    }

    /* Lange competitietitel zo lang mogelijk op één regel */
    .npb-competitions-public .npb-standings-header h2 {
        font-size: clamp(1.12rem, 6vw, 1.35rem) !important;
        line-height: 1.03 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .npb-competitions-public .npb-standings-header {
        gap: 5px !important;
    }

    /* Tabs iets compacter */
    .npb-competitions-public .npb-competition-tabs {
        gap: 3px !important;
        padding: 3px !important;
    }

    .npb-competitions-public .npb-competition-tab {
        min-height: 33px !important;
        height: 33px !important;
        font-size: .70rem !important;
    }

    /* Wedstrijden samenvatting rustig */
    .npb-competitions-public .npb-matches-summary,
    .npb-competitions-public .npb-match-summary,
    .npb-competitions-public .npb-fixtures-summary {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 6px 8px !important;
        font-size: .67rem !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
    }

    /* Speelronde */
    .npb-competitions-public .npb-round-title,
    .npb-competitions-public .npb-match-round-title {
        margin: 8px 8px 4px !important;
        padding-bottom: 5px !important;
        font-size: .68rem !important;
        line-height: 1.1 !important;
        letter-spacing: .025em !important;
    }

    /* Wedstrijdregel: datum/tijd | teams | score */
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        display: grid !important;
        grid-template-columns: 68px minmax(0,1fr) 24px !important;
        align-items: center !important;
        column-gap: 7px !important;
        min-height: 58px !important;
        padding: 7px 8px !important;
        border-bottom: 1px solid rgba(11,53,88,.10) !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        min-width: 0 !important;
        font-size: .60rem !important;
        line-height: 1.15 !important;
    }

    .npb-competitions-public .npb-match-date strong,
    .npb-competitions-public .npb-fixture-date strong {
        font-size: .70rem !important;
    }

    .npb-competitions-public .npb-match-teams,
    .npb-competitions-public .npb-fixture-teams {
        min-width: 0 !important;
        font-size: .76rem !important;
        line-height: 1.18 !important;
        font-weight: 600 !important;
    }

    .npb-competitions-public .npb-match-teams > *,
    .npb-competitions-public .npb-fixture-teams > * {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        min-width: 20px !important;
        text-align: right !important;
        font-size: .78rem !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        font-variant-numeric: tabular-nums;
    }
}

/* Landscape: beschikbare breedte bewust benutten */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    .npb-competitions-public .npb-matches-summary,
    .npb-competitions-public .npb-match-summary,
    .npb-competitions-public .npb-fixtures-summary {
        display: flex !important;
        gap: 12px !important;
        padding: 5px 7px !important;
        font-size: .64rem !important;
    }

    .npb-competitions-public .npb-round-title,
    .npb-competitions-public .npb-match-round-title {
        margin: 6px 7px 3px !important;
        padding-bottom: 4px !important;
        font-size: .64rem !important;
    }

    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        display: grid !important;
        grid-template-columns: 76px minmax(0,1fr) 48px 34px !important;
        align-items: center !important;
        column-gap: 8px !important;
        min-height: 48px !important;
        padding: 5px 7px !important;
        border-bottom: 1px solid rgba(11,53,88,.10) !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        font-size: .57rem !important;
        line-height: 1.1 !important;
    }

    .npb-competitions-public .npb-match-teams,
    .npb-competitions-public .npb-fixture-teams {
        min-width: 0 !important;
        font-size: .69rem !important;
        line-height: 1.12 !important;
        font-weight: 600 !important;
    }

    .npb-competitions-public .npb-match-teams > *,
    .npb-competitions-public .npb-fixture-teams > * {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        text-align: right !important;
        font-size: .72rem !important;
        font-weight: 700 !important;
        font-variant-numeric: tabular-nums;
    }

    /* Extra metadata mag in landscape zichtbaar worden wanneer aanwezig */
    .npb-competitions-public .npb-match-meta,
    .npb-competitions-public .npb-fixture-meta,
    .npb-competitions-public .npb-match-status {
        display: block !important;
        min-width: 0 !important;
        text-align: center !important;
        font-size: .55rem !important;
        line-height: 1.1 !important;
    }
}

/* Kleine tablet: nog wat meer ademruimte zonder desktop-sidebar */
@media (min-width: 701px) and (max-width: 900px) {
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        min-height: 52px !important;
    }

    .npb-competitions-public .npb-match-teams,
    .npb-competitions-public .npb-fixture-teams {
        font-weight: 600 !important;
    }
}
/* ===== NPB BEHEER 5.30.10 STAND + WEDSTRIJDEN MOBILE POLISH END ===== */

/* ===== NPB BEHEER 5.30.11 STAND + WEDSTRIJDEN FINAL POLISH START ===== */

/* Portrait: minder loze ruimte onder League / poule */
@media (max-width: 700px) and (orientation: portrait) {
    .npb-competitions-public .npb-competition-toolbar-pro,
    .npb-competitions-public .npb-competition-toolbar-compact {
        padding-bottom: 4px !important;
    }

    .npb-mobile-league-select-wrap {
        margin-bottom: 0 !important;
    }

    .npb-competitions-public .npb-pool-chips {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .npb-competitions-public .npb-competition-quicknav {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .npb-competitions-public .npb-standings-list {
        margin-top: 6px !important;
    }

    /* Datumkolom iets smaller zodat teams meer ruimte krijgen */
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 60px minmax(0,1fr) 22px !important;
        column-gap: 6px !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        font-size: .57rem !important;
    }

    .npb-competitions-public .npb-match-date strong,
    .npb-competitions-public .npb-fixture-date strong {
        font-size: .67rem !important;
    }
}

/* Landscape: datumkolom ook iets compacter */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 68px minmax(0,1fr) 44px 32px !important;
        column-gap: 7px !important;
    }
}
/* ===== NPB BEHEER 5.30.11 STAND + WEDSTRIJDEN FINAL POLISH END ===== */

/* ===== NPB BEHEER 5.30.12 MOBILE WEDSTRIJDUITSLAG FIX START ===== */

/*
 * Portrait:
 * echte uitslagen krijgen gegarandeerd voldoende ruimte.
 * Teams mogen iets eerder inkorten, scores nooit afkappen.
 */
@media (max-width: 700px) and (orientation: portrait) {
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 56px minmax(0,1fr) 38px !important;
        column-gap: 6px !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
    }

    .npb-competitions-public .npb-match-teams,
    .npb-competitions-public .npb-fixture-teams {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .npb-competitions-public .npb-match-teams > *,
    .npb-competitions-public .npb-fixture-teams > * {
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        display: block !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-align: right !important;
        padding-right: 2px !important;
        box-sizing: border-box !important;
        font-size: .74rem !important;
        line-height: 1.22 !important;
        font-weight: 700 !important;
        font-variant-numeric: tabular-nums;
    }

    .npb-competitions-public .npb-match-score > *,
    .npb-competitions-public .npb-fixture-score > * {
        display: block !important;
        width: 100% !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-align: right !important;
    }
}

/* Extra-smalle telefoons: score blijft leidend */
@media (max-width: 380px) and (orientation: portrait) {
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 52px minmax(0,1fr) 36px !important;
        column-gap: 5px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        font-size: .71rem !important;
    }
}

/* Landscape blijft ruim; scorekolom expliciet robuust */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        min-width: 42px !important;
        width: 42px !important;
        max-width: 42px !important;
        overflow: visible !important;
        white-space: nowrap !important;
        text-align: right !important;
        padding-right: 3px !important;
        box-sizing: border-box !important;
        font-variant-numeric: tabular-nums;
    }
}
/* ===== NPB BEHEER 5.30.12 MOBILE WEDSTRIJDUITSLAG FIX END ===== */

/* ===== NPB BEHEER 5.30.13 WEDSTRIJDEN PORTRAIT ALIGNMENT FIX START ===== */
@media (max-width: 700px) and (orientation: portrait) {
    /*
     * Portrait wedstrijdregels:
     * datum/tijd | teams | uitslagen.
     * Eventuele decoratieve separator/meta in het midden verbergen.
     */
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 52px minmax(0,1fr) 34px !important;
        column-gap: 7px !important;
        align-items: center !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        align-self: center !important;
    }

    .npb-competitions-public .npb-match-teams,
    .npb-competitions-public .npb-fixture-teams {
        display: grid !important;
        grid-template-rows: repeat(2, minmax(18px, auto)) !important;
        align-items: center !important;
        row-gap: 1px !important;
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
    }

    .npb-competitions-public .npb-match-teams > *,
    .npb-competitions-public .npb-fixture-teams > * {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 18px !important;
        line-height: 18px !important;
        text-align: left !important;
        border: 0 !important;
        background: none !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        display: grid !important;
        grid-template-rows: repeat(2, minmax(18px, auto)) !important;
        align-items: center !important;
        row-gap: 1px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        margin: 0 !important;
        padding: 0 1px 0 0 !important;
        border: 0 !important;
        background: none !important;
        overflow: visible !important;
    }

    .npb-competitions-public .npb-match-score > *,
    .npb-competitions-public .npb-fixture-score > * {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 18px !important;
        line-height: 18px !important;
        text-align: right !important;
        border: 0 !important;
        background: none !important;
    }

    /* Geen losse dash/separator tussen datum en teamblok in portrait. */
    .npb-competitions-public .npb-match-separator,
    .npb-competitions-public .npb-fixture-separator,
    .npb-competitions-public .npb-match-divider,
    .npb-competitions-public .npb-fixture-divider {
        display: none !important;
    }

    /*
     * Sommige bestaande layouts tekenen een separator met pseudo-element.
     * In portrait uitschakelen zonder de inhoud te beïnvloeden.
     */
    .npb-competitions-public .npb-match-teams::before,
    .npb-competitions-public .npb-match-teams::after,
    .npb-competitions-public .npb-fixture-teams::before,
    .npb-competitions-public .npb-fixture-teams::after {
        content: none !important;
        display: none !important;
    }
}

/* Extra smal: dezelfde uitlijning, iets minder tussenruimte. */
@media (max-width: 380px) and (orientation: portrait) {
    .npb-competitions-public .npb-match-row,
    .npb-competitions-public .npb-fixture-row {
        grid-template-columns: 50px minmax(0,1fr) 33px !important;
        column-gap: 5px !important;
    }

    .npb-competitions-public .npb-match-date,
    .npb-competitions-public .npb-fixture-date {
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
    }

    .npb-competitions-public .npb-match-score,
    .npb-competitions-public .npb-fixture-score {
        width: 33px !important;
        min-width: 33px !important;
        max-width: 33px !important;
    }
}
/* ===== NPB BEHEER 5.30.13 WEDSTRIJDEN PORTRAIT ALIGNMENT FIX END ===== */

/* ===== NPB BEHEER 5.30.14 TEAMCENTER MOBILE FIRST START ===== */

/* Teamcenter volgt YOOtheme typografie */
#npb-team-pro,
#npb-team-pro button,
#npb-team-pro a,
#npb-team-pro input,
#npb-team-pro select {
    font-family: inherit !important;
}

/* Topbar: thema links, menu + sluitkruis rechts */
#npb-team-pro .npb-team-pro-top-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 40px 40px !important;
    align-items: center !important;
    gap: 6px !important;
}

#npb-team-pro .npb-team-theme-toggle {
    justify-self: start !important;
}

#npb-team-pro .npb-team-pro-menu,
#npb-team-pro .npb-team-pro-close {
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #d7e1eb !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #0b3558 !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

#npb-team-pro .npb-team-pro-menu {
    font-size: 1.25rem !important;
    font-weight: 500 !important;
}

#npb-team-pro .npb-team-pro-close span[uk-close] {
    width: 18px !important;
    height: 18px !important;
}

#npb-team-pro[data-theme="dark"] .npb-team-pro-menu,
#npb-team-pro[data-theme="dark"] .npb-team-pro-close {
    background: #082844 !important;
    border-color: #315878 !important;
    color: #fff !important;
}

/* De oude brede terugknop is definitief weg */
#npb-team-pro .npb-team-pro-close-mobile,
#npb-team-pro .npb-team-pro-close-desktop {
    display: none !important;
}

/* Mobiel portrait */
@media (max-width: 700px) and (orientation: portrait) {
    #npb-team-pro .npb-team-pro-shell {
        width: 100% !important;
        padding: 0 0 14px !important;
    }

    #npb-team-pro .npb-team-pro-topbar {
        min-height: 54px !important;
        padding: 7px 9px !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    #npb-team-pro .npb-team-pro-breadcrumbs {
        display: none !important;
    }

    #npb-team-pro .npb-team-pro-top-actions {
        grid-template-columns: minmax(0,1fr) 36px 36px !important;
        gap: 5px !important;
    }

    #npb-team-pro .npb-team-theme-toggle {
        min-height: 34px !important;
        height: 34px !important;
        padding: 4px 8px !important;
        font-size: .68rem !important;
    }

    #npb-team-pro .npb-team-theme-toggle .npb-theme-sun,
    #npb-team-pro .npb-team-theme-toggle .npb-theme-moon {
        width: 22px !important;
        height: 22px !important;
    }

    #npb-team-pro .npb-team-pro-menu,
    #npb-team-pro .npb-team-pro-close {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        border-radius: 8px !important;
    }

    /* Compacte teamhero */
    #npb-team-pro .npb-team-pro-hero {
        display: grid !important;
        grid-template-columns: 54px minmax(0,1fr) !important;
        gap: 8px 10px !important;
        align-items: start !important;
        padding: 12px 10px !important;
        border-top: 1px solid #e1e7ef !important;
    }

    #npb-team-pro .npb-team-pro-avatar {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
        margin-top: 1px !important;
        font-size: 1.45rem !important;
        box-shadow: 0 5px 14px rgba(15,79,145,.14) !important;
    }

    #npb-team-pro .npb-team-pro-identity {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-identity h1 {
        margin: 0 0 5px !important;
        font-size: 1.40rem !important;
        line-height: 1.02 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    #npb-team-pro .npb-team-pro-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
    }

    #npb-team-pro .npb-team-pro-badges span {
        min-height: 27px !important;
        padding: 3px 7px !important;
        border-radius: 7px !important;
        font-size: .65rem !important;
        line-height: 1 !important;
    }

    #npb-team-pro .npb-team-pro-icon {
        width: 14px !important;
        height: 14px !important;
    }

    /* Feiten onder de badges in compacte grid */
    #npb-team-pro .npb-team-pro-facts {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 5px !important;
        margin-top: 7px !important;
    }

    #npb-team-pro .npb-team-pro-facts div {
        min-width: 0 !important;
        grid-template-columns: 20px minmax(0,1fr) !important;
        column-gap: 5px !important;
        padding: 5px 6px !important;
        border-radius: 7px !important;
        background: rgba(11,53,88,.035) !important;
    }

    #npb-team-pro .npb-team-pro-facts div:nth-child(3) {
        grid-column: 1 / -1 !important;
    }

    #npb-team-pro .npb-team-pro-fact-icon {
        width: 18px !important;
        height: 18px !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }

    #npb-team-pro .npb-team-pro-facts span {
        font-size: .55rem !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        letter-spacing: .035em !important;
    }

    #npb-team-pro .npb-team-pro-facts strong {
        margin-top: 1px !important;
        font-size: .69rem !important;
        line-height: 1.15 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Captain volledig over breedte, compact */
    #npb-team-pro .npb-team-pro-captain {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: 50px minmax(0,1fr) !important;
        gap: 9px !important;
        min-height: 0 !important;
        margin-top: 2px !important;
        padding: 8px !important;
        border-radius: 10px !important;
    }

    #npb-team-pro .npb-team-pro-captain-avatar {
        width: 48px !important;
        height: 58px !important;
        min-width: 48px !important;
        min-height: 58px !important;
        border-radius: 8px !important;
    }

    #npb-team-pro .npb-team-pro-captain span {
        font-size: .56rem !important;
        line-height: 1 !important;
    }

    #npb-team-pro .npb-team-pro-captain h2 {
        margin: 3px 0 3px !important;
        font-size: 1rem !important;
        line-height: 1.05 !important;
    }

    #npb-team-pro .npb-team-pro-captain a {
        margin-top: 2px !important;
        font-size: .63rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Acties als compacte 2-koloms kaarten */
    #npb-team-pro .npb-team-pro-actions {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 6px !important;
        padding: 8px 10px !important;
    }

    #npb-team-pro .npb-team-pro-actions button,
    #npb-team-pro .npb-team-pro-actions a {
        min-height: 58px !important;
        padding: 7px !important;
        border-radius: 9px !important;
    }

    #npb-team-pro .npb-team-pro-actions strong {
        font-size: .68rem !important;
        line-height: 1.1 !important;
    }

    #npb-team-pro .npb-team-pro-actions small {
        margin-top: 2px !important;
        font-size: .55rem !important;
        line-height: 1.1 !important;
    }

    #npb-team-pro .npb-team-pro-action-icon {
        width: 20px !important;
        height: 20px !important;
    }

    #npb-team-pro .npb-team-pro-grid {
        padding: 8px 10px !important;
        gap: 8px !important;
    }

    #npb-team-pro .npb-team-pro-card {
        border-radius: 10px !important;
    }
}

/* Landscape telefoon: benut de extra breedte */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    #npb-team-pro .npb-team-pro-shell {
        width: 100% !important;
        padding: 0 0 12px !important;
    }

    #npb-team-pro .npb-team-pro-topbar {
        padding: 6px 10px !important;
        min-height: 48px !important;
        border-radius: 0 !important;
    }

    #npb-team-pro .npb-team-pro-breadcrumbs {
        display: none !important;
    }

    #npb-team-pro .npb-team-pro-top-actions {
        grid-template-columns: minmax(0,1fr) 34px 34px !important;
    }

    #npb-team-pro .npb-team-pro-menu,
    #npb-team-pro .npb-team-pro-close {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
    }

    #npb-team-pro .npb-team-theme-toggle {
        min-height: 32px !important;
        height: 32px !important;
        padding: 3px 7px !important;
    }

    #npb-team-pro .npb-team-pro-hero {
        grid-template-columns: 58px minmax(0,1fr) minmax(220px,36%) !important;
        gap: 10px !important;
        padding: 10px 12px !important;
    }

    #npb-team-pro .npb-team-pro-avatar {
        width: 54px !important;
        height: 54px !important;
        font-size: 1.4rem !important;
    }

    #npb-team-pro .npb-team-pro-identity h1 {
        margin-bottom: 4px !important;
        font-size: 1.35rem !important;
    }

    #npb-team-pro .npb-team-pro-badges span {
        min-height: 26px !important;
        padding: 3px 6px !important;
        font-size: .62rem !important;
    }

    #npb-team-pro .npb-team-pro-facts {
        display: grid !important;
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 5px !important;
        margin-top: 6px !important;
    }

    #npb-team-pro .npb-team-pro-facts div {
        min-width: 0 !important;
        grid-template-columns: 18px minmax(0,1fr) !important;
        column-gap: 4px !important;
    }

    #npb-team-pro .npb-team-pro-facts strong {
        font-size: .64rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #npb-team-pro .npb-team-pro-captain {
        grid-template-columns: 44px minmax(0,1fr) !important;
        gap: 7px !important;
        min-height: 0 !important;
        padding: 7px !important;
    }

    #npb-team-pro .npb-team-pro-captain-avatar {
        width: 42px !important;
        height: 50px !important;
        min-width: 42px !important;
        min-height: 50px !important;
    }

    #npb-team-pro .npb-team-pro-captain h2 {
        margin: 2px 0 !important;
        font-size: .85rem !important;
    }

    #npb-team-pro .npb-team-pro-captain a {
        margin-top: 1px !important;
        font-size: .56rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #npb-team-pro .npb-team-pro-actions {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        gap: 6px !important;
        padding: 7px 12px !important;
    }

    #npb-team-pro .npb-team-pro-actions button,
    #npb-team-pro .npb-team-pro-actions a {
        min-height: 52px !important;
        padding: 6px !important;
    }
}
/* ===== NPB BEHEER 5.30.14 TEAMCENTER MOBILE FIRST END ===== */

/* ===== NPB BEHEER 5.30.15 TEAMCENTER MOBILE COMPACT START ===== */

/* De oude full-width sluit/terugbalk mag nergens meer layout innemen. */
#npb-team-pro .npb-team-pro-topbar > .npb-team-pro-close:not(.npb-team-pro-top-actions .npb-team-pro-close),
#npb-team-pro .npb-team-pro-back,
#npb-team-pro .npb-team-pro-backbar,
#npb-team-pro [data-npb-team-pro-back] {
    display: none !important;
}

/* Sluitkruis en hamburger uitsluitend compact in de top-actions. */
#npb-team-pro .npb-team-pro-top-actions .npb-team-pro-close,
#npb-team-pro .npb-team-pro-top-actions .npb-team-pro-menu {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
}

/* Portrait: hero als één compacte informatie-eenheid. */
@media (max-width: 700px) and (orientation: portrait) {
    #npb-team-pro .npb-team-pro-topbar {
        padding: 6px 9px !important;
        min-height: 48px !important;
    }

    #npb-team-pro .npb-team-pro-hero {
        grid-template-columns: 48px minmax(0,1fr) !important;
        gap: 5px 9px !important;
        padding: 10px 10px 9px !important;
    }

    #npb-team-pro .npb-team-pro-avatar {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        font-size: 1.28rem !important;
        align-self: center !important;
    }

    #npb-team-pro .npb-team-pro-identity {
        align-self: center !important;
    }

    #npb-team-pro .npb-team-pro-identity h1 {
        font-size: 1.30rem !important;
        line-height: 1 !important;
        margin: 0 0 4px !important;
    }

    #npb-team-pro .npb-team-pro-badges {
        gap: 3px !important;
    }

    #npb-team-pro .npb-team-pro-badges span {
        min-height: 24px !important;
        padding: 2px 6px !important;
        font-size: .61rem !important;
    }

    /* Speeldag / tijd / locatie op één rij waar de breedte dit toelaat. */
    #npb-team-pro .npb-team-pro-facts {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: .95fr .8fr 1.25fr !important;
        gap: 4px !important;
        margin: 4px 0 0 !important;
    }

    #npb-team-pro .npb-team-pro-facts div,
    #npb-team-pro .npb-team-pro-facts div:nth-child(3) {
        grid-column: auto !important;
        display: grid !important;
        grid-template-columns: 17px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 4px !important;
        padding: 4px 4px !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-fact-icon {
        width: 16px !important;
        height: 16px !important;
    }

    #npb-team-pro .npb-team-pro-facts span {
        font-size: .48rem !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-facts strong {
        font-size: .61rem !important;
        line-height: 1.08 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    #npb-team-pro .npb-team-pro-captain {
        margin-top: 3px !important;
        padding: 7px !important;
        grid-template-columns: 45px minmax(0,1fr) !important;
        gap: 7px !important;
    }

    #npb-team-pro .npb-team-pro-captain-avatar {
        width: 43px !important;
        height: 51px !important;
        min-width: 43px !important;
        min-height: 51px !important;
    }

    #npb-team-pro .npb-team-pro-captain h2 {
        font-size: .92rem !important;
    }

    /* Teamcenter wedstrijdensectie: grote kaarten terugbrengen naar lijstregels. */
    #npb-team-pro .npb-team-pro-matches,
    #npb-team-pro .npb-team-pro-card-matches {
        padding: 8px !important;
    }

    #npb-team-pro .npb-team-pro-matches .npb-match-card,
    #npb-team-pro .npb-team-pro-card-matches .npb-match-card,
    #npb-team-pro .npb-team-match-card,
    #npb-team-pro .npb-team-pro-match {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px 5px !important;
        border: 0 !important;
        border-bottom: 1px solid #dbe5ee !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-matches .npb-match-card:last-child,
    #npb-team-pro .npb-team-pro-card-matches .npb-match-card:last-child,
    #npb-team-pro .npb-team-match-card:last-child,
    #npb-team-pro .npb-team-pro-match:last-child {
        border-bottom: 0 !important;
    }

    /* Veel Teamcenter-matchlayouts zijn grids: compacte kolommen afdwingen. */
    #npb-team-pro .npb-team-pro-match,
    #npb-team-pro .npb-team-match-card {
        grid-template-columns: 55px minmax(0,1fr) 32px !important;
        column-gap: 6px !important;
        align-items: center !important;
    }

    #npb-team-pro .npb-team-pro-match-date,
    #npb-team-pro .npb-team-match-date {
        width: 55px !important;
        min-width: 55px !important;
        font-size: .57rem !important;
        line-height: 1.12 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams,
    #npb-team-pro .npb-team-match-teams {
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams > *,
    #npb-team-pro .npb-team-match-teams > * {
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        line-height: 18px !important;
    }

    #npb-team-pro .npb-team-pro-match-score,
    #npb-team-pro .npb-team-match-score {
        width: 32px !important;
        min-width: 32px !important;
        text-align: right !important;
        white-space: nowrap !important;
        font-variant-numeric: tabular-nums !important;
    }
}

/* Extra smal: facts mogen naar 2 + 1 zodat niets geplet wordt. */
@media (max-width: 370px) and (orientation: portrait) {
    #npb-team-pro .npb-team-pro-facts {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    #npb-team-pro .npb-team-pro-facts div:nth-child(3) {
        grid-column: 1 / -1 !important;
    }
}

/* Landscape: geen grote wedstrijdkaarten; compacte tabelachtige lijst. */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    #npb-team-pro .npb-team-pro-hero {
        padding: 8px 12px !important;
    }

    #npb-team-pro .npb-team-pro-match,
    #npb-team-pro .npb-team-match-card {
        grid-template-columns: 78px minmax(0,1fr) 52px !important;
        column-gap: 8px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 7px 8px !important;
        border: 0 !important;
        border-bottom: 1px solid #dbe5ee !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }
}
/* ===== NPB BEHEER 5.30.15 TEAMCENTER MOBILE COMPACT END ===== */

/* ===== NPB BEHEER 5.30.17 TEAMCENTER WEDSTRIJDLIST REBUILD START ===== */

#npb-team-pro .npb-team-pro-results-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

#npb-team-pro .npb-team-pro-results-table thead th {
    vertical-align: middle !important;
}

#npb-team-pro .npb-team-pro-results-table th:nth-child(1),
#npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
    width: 118px !important;
}

#npb-team-pro .npb-team-pro-results-table th:nth-child(2),
#npb-team-pro .npb-team-pro-results-table td:nth-child(2) {
    width: auto !important;
}

#npb-team-pro .npb-team-pro-results-table th:nth-child(3),
#npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
    width: 64px !important;
}

#npb-team-pro .npb-team-pro-results-table th:nth-child(4),
#npb-team-pro .npb-team-pro-results-table td:nth-child(4) {
    width: 46px !important;
}

#npb-team-pro .npb-team-pro-match-row > td {
    vertical-align: middle !important;
    border-bottom: 1px solid #dbe5ee !important;
}

#npb-team-pro .npb-team-pro-match-date-cell span {
    display: block !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

#npb-team-pro .npb-team-pro-match-teams-cell,
#npb-team-pro .npb-team-pro-match-score-cell {
    display: grid !important;
    grid-template-rows: repeat(2, 21px) !important;
    align-items: center !important;
    min-width: 0 !important;
}

#npb-team-pro .npb-team-pro-match-teams-cell > span {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 21px !important;
}

#npb-team-pro .npb-team-pro-match-score-cell > span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
    line-height: 21px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

#npb-team-pro .npb-team-pro-match-score-cell.is-win > span {
    color: #138a46 !important;
}

#npb-team-pro .npb-team-pro-match-score-cell.is-loss > span {
    color: #cc5b2a !important;
}

#npb-team-pro .npb-team-pro-match-score-cell.is-draw > span,
#npb-team-pro .npb-team-pro-match-score-cell.is-planned > span {
    color: #6d8499 !important;
}

#npb-team-pro .npb-team-pro-match-detail-cell {
    text-align: center !important;
}

#npb-team-pro .npb-team-pro-detail-button {
    margin: 0 auto !important;
}

/* Mobiel: strak en compact, geen kaarten en geen tijdstip. */
@media (max-width: 700px) {
    #npb-team-pro .npb-team-pro-results-wrap {
        overflow: visible !important;
    }

    #npb-team-pro .npb-team-pro-results-table {
        min-width: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
    }

    #npb-team-pro .npb-team-pro-results-table thead {
        display: none !important;
    }

    #npb-team-pro .npb-team-pro-section-heading td {
        padding: 9px 5px 5px !important;
        border: 0 !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-section-heading td strong {
        font-size: .68rem !important;
        line-height: 1 !important;
    }

    #npb-team-pro .npb-team-pro-section-heading td span {
        font-size: .57rem !important;
        line-height: 1 !important;
    }

    #npb-team-pro .npb-team-pro-match-row {
        display: table-row !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-match-row > td {
        display: table-cell !important;
        padding: 7px 4px !important;
        min-height: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #dbe5ee !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 72px !important;
        padding-left: 3px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(2) {
        width: auto !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
        width: 32px !important;
        padding-right: 2px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(4) {
        width: 30px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    #npb-team-pro .npb-team-pro-match-date-cell span {
        font-size: .56rem !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        color: #6d8499 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell,
    #npb-team-pro .npb-team-pro-match-score-cell {
        grid-template-rows: repeat(2, 19px) !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > span {
        font-size: .75rem !important;
        line-height: 19px !important;
        font-weight: 600 !important;
        color: #003b6f !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > .is-own-team {
        font-weight: 800 !important;
    }

    #npb-team-pro .npb-team-pro-match-score-cell > span {
        font-size: .72rem !important;
        line-height: 19px !important;
    }

    #npb-team-pro .npb-team-pro-detail-button {
        display: inline-grid !important;
        place-items: center !important;
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 !important;
        border-radius: 7px !important;
        font-size: .65rem !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail > td {
        padding: 6px 4px 8px !important;
    }
}

/* Extra smal: datum nog iets smaller, score blijft exact vast. */
@media (max-width: 370px) {
    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 65px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
        width: 30px !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > span {
        font-size: .71rem !important;
    }
}

/* Landscape: meer ruimte, maar exact dezelfde strakke lijnen. */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    #npb-team-pro .npb-team-pro-results-table thead {
        display: table-header-group !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(1),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 105px !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(3),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
        width: 48px !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(4),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(4) {
        width: 38px !important;
    }

    #npb-team-pro .npb-team-pro-match-row > td {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
}
/* ===== NPB BEHEER 5.30.17 TEAMCENTER WEDSTRIJDLIST REBUILD END ===== */

/* ===== NPB BEHEER 5.30.18 TEAMCENTER STRAKKE LAYOUT START ===== */

/* Aanvang is binnen Teamcenter overbodig: NPB-competitiewedstrijden starten standaard 20:00. */
#npb-team-pro .npb-team-pro-facts > div:nth-child(2) {
    display: none !important;
}

/* Na verwijderen aanvang: speeldag + speellocatie als twee gelijkwaardige facts. */
#npb-team-pro .npb-team-pro-facts {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
}

#npb-team-pro .npb-team-pro-facts > div:nth-child(3) {
    grid-column: auto !important;
}

/* Wedstrijdlijst: geen kaarten meer, uitsluitend vaste lijnen/kolommen. */
#npb-team-pro .npb-team-pro-results-wrap,
#npb-team-pro .npb-team-pro-results-table,
#npb-team-pro .npb-team-pro-results-table tbody {
    background: transparent !important;
}

#npb-team-pro .npb-team-pro-match-row {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#npb-team-pro .npb-team-pro-match-row > td {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #d8e2eb !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#npb-team-pro .npb-team-pro-section-heading td {
    border-radius: 0 !important;
}

/* Detailknop blijft exact in zijn vaste rechterkolom. */
#npb-team-pro .npb-team-pro-match-detail-cell {
    vertical-align: middle !important;
    text-align: center !important;
}

#npb-team-pro .npb-team-pro-detail-button {
    position: static !important;
    inset: auto !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 auto !important;
}

/* Portrait: vaste datum | teams | score | details kolommen. */
@media (max-width: 700px) {
    #npb-team-pro .npb-team-pro-facts {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 5px !important;
    }

    #npb-team-pro .npb-team-pro-facts > div:nth-child(3) {
        grid-column: auto !important;
    }

    #npb-team-pro .npb-team-pro-results-table {
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    #npb-team-pro .npb-team-pro-match-row {
        height: 52px !important;
    }

    #npb-team-pro .npb-team-pro-match-row > td {
        height: 52px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        vertical-align: middle !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 78px !important;
        padding-left: 5px !important;
        padding-right: 7px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(2) {
        width: auto !important;
        padding-left: 0 !important;
        padding-right: 5px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
        width: 30px !important;
        padding-left: 0 !important;
        padding-right: 2px !important;
    }

    #npb-team-pro .npb-team-pro-results-table td:nth-child(4) {
        width: 30px !important;
        padding-left: 2px !important;
        padding-right: 3px !important;
    }

    #npb-team-pro .npb-team-pro-match-date-cell span {
        font-size: .54rem !important;
        line-height: 1.12 !important;
        font-weight: 700 !important;
        color: #68809a !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell,
    #npb-team-pro .npb-team-pro-match-score-cell {
        display: grid !important;
        grid-template-rows: 20px 20px !important;
        align-content: center !important;
        row-gap: 0 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > span {
        font-size: .74rem !important;
        line-height: 20px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-match-score-cell > span {
        font-size: .72rem !important;
        line-height: 20px !important;
        text-align: right !important;
        font-variant-numeric: tabular-nums !important;
    }

    #npb-team-pro .npb-team-pro-detail-button {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        padding: 0 !important;
        border-radius: 6px !important;
    }

    /* De resultatencontainer zelf hoeft mobiel ook geen grote binnenkaart te zijn. */
    #npb-team-pro .npb-team-pro-results-wrap {
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    #npb-team-pro .npb-team-pro-results-table {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

@media (max-width: 370px) {
    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 72px !important;
    }
}

/* Landscape: zelfde raster, alleen meer ademruimte voor teams. */
@media (max-height: 520px) and (min-width: 540px) and (orientation: landscape) {
    #npb-team-pro .npb-team-pro-facts {
        grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) !important;
    }

    #npb-team-pro .npb-team-pro-match-row {
        height: 48px !important;
    }

    #npb-team-pro .npb-team-pro-match-row > td {
        height: 48px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
}
/* ===== NPB BEHEER 5.30.18 TEAMCENTER STRAKKE LAYOUT END ===== */

/* ===== NPB BEHEER 5.30.19 TEAMCENTER DESKTOP FIX START ===== */
@media (min-width: 901px) {
    #npb-team-pro .npb-team-pro-results-wrap {
        overflow-x: visible !important;
        padding: 0 !important;
        background: transparent !important;
    }

    #npb-team-pro .npb-team-pro-results-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        background: #fff !important;
        border: 1px solid #d9e3ec !important;
        border-radius: 10px !important;
        overflow: hidden !important;
    }

    #npb-team-pro .npb-team-pro-results-table thead {
        display: table-header-group !important;
    }

    #npb-team-pro .npb-team-pro-results-table thead th {
        padding: 9px 10px !important;
        font-size: .68rem !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        letter-spacing: .035em !important;
        background: #f2f6fa !important;
        color: #4f6680 !important;
        border-bottom: 1px solid #d9e3ec !important;
        vertical-align: middle !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(1),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(1) {
        width: 130px !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(2),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(2) {
        width: auto !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(3),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(3) {
        width: 70px !important;
        text-align: right !important;
    }

    #npb-team-pro .npb-team-pro-results-table th:nth-child(4),
    #npb-team-pro .npb-team-pro-results-table td:nth-child(4) {
        width: 54px !important;
        text-align: center !important;
    }

    #npb-team-pro .npb-team-pro-section-heading td {
        padding: 8px 10px !important;
        border: 0 !important;
        border-bottom: 1px solid #d9e3ec !important;
        background: #f7fafc !important;
    }

    #npb-team-pro .npb-team-pro-match-row {
        height: auto !important;
        background: #fff !important;
    }

    #npb-team-pro .npb-team-pro-match-row > td {
        height: auto !important;
        padding: 8px 10px !important;
        vertical-align: middle !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid #e4ebf1 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    #npb-team-pro .npb-team-pro-match-date-cell span {
        display: block !important;
        font-size: .70rem !important;
        line-height: 1.15 !important;
        font-weight: 600 !important;
        color: #60758b !important;
        white-space: nowrap !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell,
    #npb-team-pro .npb-team-pro-match-score-cell {
        display: grid !important;
        grid-template-rows: repeat(2, 21px) !important;
        align-items: center !important;
        row-gap: 0 !important;
        min-width: 0 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > span {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: .82rem !important;
        line-height: 21px !important;
        color: #0b3558 !important;
    }

    #npb-team-pro .npb-team-pro-match-teams-cell > .is-own-team {
        font-weight: 800 !important;
    }

    #npb-team-pro .npb-team-pro-match-score-cell > span {
        display: block !important;
        width: 100% !important;
        font-size: .80rem !important;
        line-height: 21px !important;
        font-weight: 700 !important;
        text-align: right !important;
        white-space: nowrap !important;
        font-variant-numeric: tabular-nums !important;
    }

    #npb-team-pro .npb-team-pro-detail-button {
        display: inline-grid !important;
        place-items: center !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border-radius: 7px !important;
    }

    #npb-team-pro .npb-team-pro-inline-detail > td {
        padding: 8px 10px 10px !important;
        background: #f8fbfd !important;
    }

    #npb-team-pro .npb-team-pro-facts {
        grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr) !important;
    }

    #npb-team-pro .npb-team-pro-facts > div:nth-child(3) {
        grid-column: auto !important;
    }
}
/* ===== NPB BEHEER 5.30.19 TEAMCENTER DESKTOP FIX END ===== */
