/* VS Dienstenlogboek v3.1.1 · medewerkersportaal */
html,body.vsd-frontend-body{margin:0!important;padding:0!important;background:#eef3f8;color:#172033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100%}
body.vsd-frontend-body{overflow-x:hidden}.vsd-frontend-body #wpadminbar{display:none!important}.vsd-frontend-portal{min-height:100vh;background:#eef3f8}.vsd-frontend-portal *{box-sizing:border-box}
.vsd-frontend-header{position:sticky;top:0;z-index:90;background:#102f57;color:#fff;box-shadow:0 8px 26px rgba(16,47,87,.18)}
.vsd-frontend-header-inner{max-width:1540px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 22px}
.vsd-frontend-logo{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.vsd-frontend-logo>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f7c948;color:#102f57;font-size:23px}.vsd-frontend-logo>div{display:flex;flex-direction:column}.vsd-frontend-logo strong{font-size:15px}.vsd-frontend-logo small{margin-top:2px;color:#bfcde0;font-size:10px}
.vsd-frontend-user{display:flex;align-items:center;gap:10px}.vsd-frontend-user img{border-radius:10px}.vsd-frontend-user>div{display:flex;flex-direction:column;min-width:150px}.vsd-frontend-user strong{font-size:12px}.vsd-frontend-user small{margin-top:2px;color:#c3d0e0;font-size:9px}.vsd-frontend-user>a{padding:8px 10px;border-radius:9px;color:#fff;text-decoration:none;font-size:10px;font-weight:750;background:rgba(255,255,255,.08)}.vsd-frontend-user>a:hover{background:rgba(255,255,255,.16)}
.vsd-frontend-nav{max-width:1540px;margin:0 auto;display:grid;grid-template-columns:repeat(9,minmax(0,auto));align-items:center;justify-content:start;gap:4px;padding:0 22px 10px}.vsd-frontend-nav a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 11px;border-radius:9px;color:#d8e4f0;text-decoration:none;font-size:10px;font-weight:750;white-space:nowrap}.vsd-frontend-nav a .dashicons{width:16px;height:16px;font-size:16px}.vsd-frontend-nav a:hover{background:rgba(255,255,255,.08);color:#fff}.vsd-frontend-nav a.is-active{background:#fff;color:#153d70}.vsd-nav-profile{margin-left:5px}
.vsd-frontend-main{max-width:1540px;margin:0 auto;padding:22px}.vsd-frontend-content>.vsd-wrap{max-width:none;margin:0 0 70px!important}.vsd-frontend-content .vsd-appbar,.vsd-frontend-content .vsd-quicknav{display:none!important}.vsd-frontend-content .vsd-page-head{margin-top:0}.vsd-frontend-content a{text-decoration:none}
.vsd-frontend-portal .button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 12px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:#203d62;text-decoration:none;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer}.vsd-frontend-portal .button:hover{background:#f5f8fc}.vsd-frontend-portal .button-primary{background:#153d70!important;border-color:#153d70!important;color:#fff!important}.vsd-frontend-portal input,.vsd-frontend-portal select,.vsd-frontend-portal textarea{font:inherit}
.vsd-frontend-notice{max-width:1540px;margin:18px auto 0;display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:11px;border:1px solid #bfe0cd;background:#e9f7f0;color:#15734f;font-size:12px;font-weight:650}.vsd-frontend-notice.is-error{border-color:#efbbb7;background:#fff0ee;color:#a6281f}
.vsd-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#dce9f7 0,transparent 38%),linear-gradient(145deg,#edf3f8,#f8fafc)}.vsd-login-card{width:min(460px,100%);padding:30px;border-radius:20px;background:#fff;border:1px solid #dfe6ee;box-shadow:0 22px 70px rgba(25,52,82,.13)}.vsd-login-brand{display:flex;align-items:center;gap:14px}.vsd-login-brand>span{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#f7c948;color:#102f57;font-size:28px}.vsd-login-brand small{display:block;color:#5a7597;font-size:9px;letter-spacing:.13em;font-weight:850}.vsd-login-brand h1{margin:3px 0 0;font-size:27px}.vsd-login-card>p{margin:18px 0 21px;color:#687386;line-height:1.55}.vsd-login-card form p{margin:0 0 14px}.vsd-login-card form label{display:block;margin-bottom:6px;color:#44536a;font-size:11px;font-weight:750}.vsd-login-card form input[type=text],.vsd-login-card form input[type=password]{width:100%;min-height:46px;padding:8px 11px;border:1px solid #ccd7e3;border-radius:10px;background:#fbfcfe}.vsd-login-card .login-remember label{display:flex;align-items:center;gap:7px}.vsd-login-card .login-submit input{width:100%;min-height:46px;border:0;border-radius:10px;background:#153d70;color:#fff;font-weight:800;cursor:pointer}.vsd-login-links{padding-top:5px;text-align:center}.vsd-login-links a{color:#245f9d;font-size:11px;font-weight:700;text-decoration:none}
.vsd-profile-page{max-width:1120px;margin:0 auto}.vsd-profile-hero{display:flex;align-items:center;gap:17px;padding:24px 26px;margin-bottom:16px;border-radius:18px;background:#102f57;color:#fff;box-shadow:0 12px 30px rgba(16,47,87,.17)}.vsd-profile-hero img{border-radius:15px}.vsd-profile-hero span{font-size:9px;letter-spacing:.14em;color:#b8cae0;font-weight:850}.vsd-profile-hero h1{margin:4px 0;font-size:26px}.vsd-profile-hero p{margin:0;color:#cfdaE8;line-height:1.5;font-size:11px}.vsd-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vsd-profile-card{padding:20px;border-radius:16px;background:#fff;border:1px solid #dfe6ee;box-shadow:0 5px 20px rgba(31,50,74,.04)}.vsd-profile-card h2{margin:0 0 15px;font-size:17px}.vsd-profile-card dl{margin:0}.vsd-profile-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf1f5}.vsd-profile-card dt{color:#687386;font-size:10px;font-weight:750}.vsd-profile-card dd{margin:0;text-align:right;font-size:11px;font-weight:800}.vsd-profile-warning{margin-top:14px;padding:11px;border-radius:9px;background:#fff5df;color:#7a5209;font-size:10px;line-height:1.5}.vsd-profile-password{grid-column:1/-1}.vsd-profile-card>p{color:#687386;font-size:11px}.vsd-frontend-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vsd-frontend-profile-form label{display:flex;flex-direction:column;gap:5px}.vsd-frontend-profile-form label span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#637086;font-weight:800}.vsd-frontend-profile-form input{width:100%;min-height:42px;padding:7px 9px;border:1px solid #d5dee9;border-radius:9px}.vsd-frontend-profile-form .button{grid-column:1/-1;justify-self:start}
/* Tabellen worden op mobiel kaarten; geen horizontale strafexpeditie. */
@media(max-width:782px){
  .vsd-frontend-header{position:relative}.vsd-frontend-header-inner{padding:12px 14px}.vsd-frontend-logo strong{font-size:13px}.vsd-frontend-user>div{display:none}.vsd-frontend-user>a:not(.vsd-frontend-logout){display:none}.vsd-frontend-user img{width:34px;height:34px}.vsd-frontend-user>a{padding:7px 8px}
  .vsd-frontend-nav{grid-template-columns:repeat(3,1fr);gap:5px;padding:0 12px 12px}.vsd-frontend-nav a{white-space:normal;min-height:43px;padding:6px 5px;font-size:9px;text-align:center}.vsd-nav-profile{margin-left:0}
  .vsd-frontend-main{padding:12px}.vsd-frontend-content>.vsd-wrap{margin:0 0 30px!important}.vsd-frontend-content .vsd-page-head{padding:16px}.vsd-frontend-content .vsd-page-head h1{font-size:22px}
  .vsd-frontend-notice{margin:12px 12px 0}
  .vsd-frontend-content .vsd-table-scroll{overflow:visible!important}.vsd-frontend-content .vsd-table{min-width:0!important;width:100%!important;display:block}.vsd-frontend-content .vsd-table thead{display:none}.vsd-frontend-content .vsd-table tbody{display:block}.vsd-frontend-content .vsd-table tr{display:block;margin:0 0 10px;padding:10px;border:1px solid #dfe6ee;border-radius:12px;background:#fff}.vsd-frontend-content .vsd-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 4px!important;border:0!important;text-align:right}.vsd-frontend-content .vsd-table td:before{content:attr(data-label);min-width:95px;color:#718096;text-align:left;font-size:9px;font-weight:800;text-transform:uppercase}.vsd-frontend-content .vsd-table td.vsd-actions{justify-content:flex-end}.vsd-frontend-content .vsd-table td.vsd-actions:before{display:none}.vsd-frontend-content .vsd-table td[colspan]{display:block;text-align:left}
  .vsd-profile-hero{align-items:flex-start;padding:18px}.vsd-profile-hero img{width:58px;height:58px}.vsd-profile-grid{grid-template-columns:1fr}.vsd-profile-password{grid-column:auto}.vsd-frontend-profile-form{grid-template-columns:1fr}.vsd-frontend-profile-form .button{grid-column:auto;width:100%}
}

/* v3.14.5 · portaalheader en pagina gebruiken dezelfde desktop-buitenlijn */
@media(min-width:1025px){
  .vsd-frontend-header{padding-left:22px!important;padding-right:22px!important}
  .vsd-frontend-header-inner,.vsd-frontend-main{width:100%;max-width:none!important;box-sizing:border-box}
}
@media(max-width:420px){.vsd-frontend-logo small{display:none}.vsd-frontend-logo>span{width:38px;height:38px}.vsd-frontend-user .vsd-frontend-logout{font-size:0}.vsd-frontend-user .vsd-frontend-logout:after{content:'Uit';font-size:10px}.vsd-frontend-nav{grid-template-columns:repeat(2,1fr)}.vsd-login-card{padding:22px}}

/* v3.1.1 · eigen, instelbare login */
.vsd-login-shell{--vsd-login-bg-color:#102f57;--vsd-login-bg-image:none;position:relative;background-color:var(--vsd-login-bg-color);background-image:linear-gradient(135deg,rgba(8,29,55,.78),rgba(16,47,87,.48)),var(--vsd-login-bg-image);background-size:cover;background-position:center;background-attachment:fixed;isolation:isolate}.vsd-login-shell:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.15),transparent 36%),linear-gradient(180deg,rgba(9,31,57,.08),rgba(9,31,57,.34));pointer-events:none}.vsd-login-card{position:relative;border:1px solid rgba(255,255,255,.6);box-shadow:0 30px 90px rgba(3,17,32,.34);backdrop-filter:blur(12px)}.vsd-login-logo-image{display:grid!important;place-items:center!important;width:68px!important;height:68px!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;padding:5px!important}.vsd-login-logo-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px}.vsd-own-login-form{display:grid;gap:14px}.vsd-own-login-form>label{display:flex;flex-direction:column;gap:6px;color:#44536a;font-size:11px;font-weight:750}.vsd-own-login-form input[type=text],.vsd-own-login-form input[type=password]{width:100%;min-height:48px;padding:9px 12px;border:1px solid #ccd7e3;border-radius:11px;background:#fbfcfe;color:#172033;outline:none}.vsd-own-login-form input:focus{border-color:#497fb5;box-shadow:0 0 0 3px rgba(53,112,173,.12)}.vsd-password-field{position:relative}.vsd-password-field input{padding-right:48px!important}.vsd-password-toggle{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;border-radius:9px;background:transparent;color:#60738b;cursor:pointer}.vsd-password-toggle:hover{background:#edf3f8}.vsd-password-toggle .dashicons{width:18px;height:18px;font-size:18px}.vsd-login-remember{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}.vsd-login-remember input{margin:0}.vsd-login-submit{width:100%;min-height:48px;border:0;border-radius:11px;background:#153d70;color:#fff;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(21,61,112,.18)}.vsd-login-submit:hover{filter:brightness(1.05)}.vsd-login-message{display:flex;gap:8px;align-items:flex-start;margin:0 0 15px;padding:10px 11px;border-radius:9px;background:#edf7f1;color:#1d6b4b;font-size:10px;font-weight:650}.vsd-login-message.is-error{background:#fff0ee;color:#a6281f}.vsd-login-footer{margin-top:18px;padding-top:14px;border-top:1px solid #edf1f5;color:#8793a2;text-align:center;font-size:9px;font-weight:650}
@media(max-width:600px){.vsd-login-shell{padding:16px;background-attachment:scroll}.vsd-login-card{padding:22px 18px}.vsd-login-brand h1{font-size:24px}.vsd-login-logo-image{width:58px!important;height:58px!important}}

/* v3.1.3: frontend logout blijft volledig buiten wp-login/wp-admin. */
.vsd-frontend-logout-form{margin:0;padding:0;display:inline-flex}
.vsd-frontend-logout-form .vsd-frontend-logout{appearance:none;-webkit-appearance:none;background:transparent;border:0;font:inherit;cursor:pointer;padding:0}

/* v3.1.5: geplande tijd als subtiele referentie in Werkelijk */
.vsd-flow-clock-value{display:inline-flex;align-items:center;gap:5px;min-width:0}
.vsd-time-source-plan{font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#70839b;background:#edf2f7;border:1px solid #dbe4ee;border-radius:999px;padding:3px 5px}
.vsd-flow-transfer.is-reference{background:#f8fafc}
.vsd-flow-transfer.is-reference>span:last-child{color:#7c8da3}
@media(max-width:782px){.vsd-flow-clock-value{gap:3px}.vsd-time-source-plan{font-size:8px;padding:2px 4px}}

/* v3.1.6 · persoonlijke begroeting in medewerkersportaal */
.vsd-frontend-greeting{display:flex;align-items:center;gap:10px;max-width:1540px;margin:0 auto;padding:9px 18px 12px;color:#d9e8f7}.vsd-frontend-greeting>.dashicons{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.1);color:#f7c948}.vsd-frontend-greeting>div{display:flex;flex-direction:column;gap:1px}.vsd-frontend-greeting strong{font-size:12px;color:#fff}.vsd-frontend-greeting small{font-size:9px;color:#b8cae0}
@media(max-width:782px){.vsd-frontend-greeting{padding:8px 14px 11px}.vsd-frontend-greeting small{display:none}.vsd-frontend-greeting strong{font-size:11px}}

/* v3.2.2 · begroeting als aparte card + sterkere Vandaag-weergave */
.vsd-frontend-header{box-shadow:0 10px 28px rgba(16,47,87,.16)}
.vsd-frontend-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:18px 20px;border:1px solid #d9e5f1;border-radius:20px;background:linear-gradient(135deg,#163d70 0%,#1c4b84 58%,#255f9c 100%);color:#fff;box-shadow:0 18px 40px rgba(14,41,77,.14)}
.vsd-frontend-welcome-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.vsd-frontend-welcome-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.14);color:#f7c948;font-size:24px}.vsd-frontend-welcome-main small{display:block;margin-bottom:4px;color:#c9dbef;font-size:10px;font-weight:800;letter-spacing:.13em}.vsd-frontend-welcome-main h2{margin:0 0 6px;font-size:28px;line-height:1.15;color:#fff}.vsd-frontend-welcome-main p{margin:0;color:#dce8f5;font-size:13px;line-height:1.6;max-width:760px}.vsd-frontend-welcome-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.vsd-frontend-welcome-meta span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:700}
.vsd-frontend-welcome-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.vsd-frontend-welcome-actions .button{min-height:38px;padding:6px 14px;border-radius:12px;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.1);color:#fff}.vsd-frontend-welcome-actions .button:hover{background:rgba(255,255,255,.16)}.vsd-frontend-welcome-actions .button-primary{background:#fff!important;border-color:#fff!important;color:#163d70!important}
.vsd-frontend-content .vsd-page-head{padding:28px 30px;border-radius:22px;border-color:#d8e4ef;background:linear-gradient(180deg,#ffffff 0%,#f9fbfe 100%);box-shadow:0 14px 34px rgba(20,49,80,.07)}
.vsd-frontend-content .vsd-page-head h1{font-size:31px}.vsd-frontend-content .vsd-page-head p{font-size:14px;color:#62758b}.vsd-frontend-content .vsd-kicker{font-size:10px;color:#55779a}
.vsd-frontend-content .vsd-today-live-link{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%);border-color:#d7e4ef;box-shadow:0 8px 22px rgba(39,77,118,.05)}
.vsd-frontend-content .vsd-today-live-link>span{font-size:13px;color:#647a90}
.vsd-frontend-content .vsd-today-service{margin-top:14px;border-radius:18px;border-color:#d7e4ef;box-shadow:0 10px 30px rgba(20,49,80,.06)}
.vsd-frontend-content .vsd-today-service-head{padding:16px 17px;background:linear-gradient(180deg,#fbfdff 0%,#f6faff 100%)}
.vsd-frontend-content .vsd-today-service-head h2{font-size:20px}.vsd-frontend-content .vsd-today-service-head p{font-size:11px}
.vsd-frontend-content .vsd-today-item{min-height:56px;padding:9px 15px}.vsd-frontend-content .vsd-today-item>div:nth-of-type(2)>strong{font-size:11px}.vsd-frontend-content .vsd-today-item>div:nth-of-type(2)>small{font-size:9px}.vsd-frontend-content .vsd-today-item>em{font-size:8px}
@media(max-width:782px){.vsd-frontend-welcome-card{flex-direction:column;align-items:stretch;padding:16px}.vsd-frontend-welcome-main h2{font-size:24px}.vsd-frontend-welcome-main p{font-size:12px}.vsd-frontend-welcome-actions{justify-content:stretch}.vsd-frontend-welcome-actions .button{width:100%;justify-content:center}.vsd-frontend-content .vsd-page-head{padding:18px;border-radius:18px}.vsd-frontend-content .vsd-page-head h1{font-size:25px}.vsd-frontend-content .vsd-today-item{padding:9px 10px}}

/* v3.3.0 · ingesteld loginlogo ook in header + mobiele hardening */
.vsd-frontend-logo-mark{display:grid!important;place-items:center!important;flex:0 0 42px;width:42px!important;height:42px!important;border-radius:12px!important;overflow:hidden;background:#f7c948;color:#102f57}.vsd-frontend-logo-mark>span.dashicons{width:22px;height:22px;font-size:22px;line-height:22px}.vsd-frontend-logo-mark.has-image{padding:4px;background:#fff}.vsd-frontend-logo-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
.vsd-frontend-main,.vsd-frontend-content,.vsd-frontend-content>.vsd-wrap,.vsd-frontend-content .vsd-panel,.vsd-frontend-content .vsd-page-head{min-width:0;max-width:100%;box-sizing:border-box}.vsd-frontend-content input,.vsd-frontend-content select,.vsd-frontend-content textarea,.vsd-frontend-content button,.vsd-frontend-content .button{max-width:100%;box-sizing:border-box}
@media(max-width:782px){.vsd-frontend-header-inner{gap:10px}.vsd-frontend-logo{min-width:0}.vsd-frontend-logo>div{min-width:0}.vsd-frontend-logo strong{white-space:normal;line-height:1.2}.vsd-frontend-logo-mark{flex-basis:38px;width:38px!important;height:38px!important}.vsd-frontend-user{gap:7px}.vsd-frontend-nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible}.vsd-frontend-nav a{min-width:0}.vsd-frontend-main{padding:10px}.vsd-frontend-content .vsd-wrap{width:100%;margin-left:0!important;margin-right:0!important}.vsd-frontend-welcome-main{min-width:0}.vsd-frontend-welcome-meta span{max-width:100%;white-space:normal}.vsd-frontend-content .vsd-today-service{overflow:hidden}}
@media(max-width:480px){.vsd-frontend-header-inner{align-items:flex-start}.vsd-frontend-logo small{display:none}.vsd-frontend-user img{display:none}.vsd-frontend-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-frontend-main{padding:8px}.vsd-frontend-welcome-card{border-radius:14px}.vsd-frontend-welcome-main{gap:10px}.vsd-frontend-welcome-icon{width:38px;height:38px}.vsd-frontend-welcome-main h2{font-size:21px}.vsd-frontend-content .vsd-page-head{padding:14px!important}.vsd-frontend-content .vsd-page-head h1{font-size:22px!important}}

/* v3.3.1 · op telefoon minder scroll in Diensten */
@media(max-width:782px){
  .vsd-frontend-content:has(.vsd-services-page) .vsd-page-head{padding:13px 14px!important;margin-bottom:10px!important;border-radius:14px!important}.vsd-frontend-content:has(.vsd-services-page) .vsd-page-head .vsd-kicker{font-size:8px}.vsd-frontend-content:has(.vsd-services-page) .vsd-page-head h1{margin:3px 0 4px!important;font-size:22px!important}.vsd-frontend-content:has(.vsd-services-page) .vsd-page-head p{font-size:10px!important;line-height:1.4!important}.vsd-frontend-content:has(.vsd-services-page) .vsd-page-head .vsd-head-actions{width:auto}.vsd-frontend-content:has(.vsd-services-page) .vsd-page-head .vsd-head-actions .button{min-height:32px!important;padding:4px 9px!important;font-size:10px!important}
  .vsd-frontend-content:has(.vsd-services-page) .vsd-table-scroll{overflow:visible!important}.vsd-frontend-content:has(.vsd-services-page) .vsd-table tr{margin:0!important}
}
@media(max-width:782px){
  .vsd-frontend-content .vsd-services-table{display:block!important;width:100%!important;min-width:0!important}.vsd-frontend-content .vsd-services-table thead{display:none!important}.vsd-frontend-content .vsd-services-table tbody{display:grid!important;gap:7px}.vsd-frontend-content .vsd-services-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto auto!important;gap:3px 10px!important;margin:0!important;padding:9px 10px!important;border:1px solid #dde6ef!important;border-radius:11px!important;background:#fff!important}.vsd-frontend-content .vsd-services-table td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important;background:transparent!important}.vsd-frontend-content .vsd-services-table td:before{display:none!important}.vsd-frontend-content .vsd-services-table td:nth-child(1){grid-column:1;grid-row:1}.vsd-frontend-content .vsd-services-table td:nth-child(2){grid-column:2;grid-row:1;text-align:right!important}.vsd-frontend-content .vsd-services-table td:nth-child(3){grid-column:1;grid-row:3}.vsd-frontend-content .vsd-services-table td:nth-child(4),.vsd-frontend-content .vsd-services-table td:nth-child(6),.vsd-frontend-content .vsd-services-table td:nth-child(7){display:none!important}.vsd-frontend-content .vsd-services-table td:nth-child(5){grid-column:1;grid-row:2}.vsd-frontend-content .vsd-services-table td:nth-child(8){grid-column:2;grid-row:2/4;align-self:end;text-align:right!important}.vsd-frontend-content .vsd-services-table td:nth-child(8) .button{min-height:29px!important;padding:3px 9px!important;font-size:9px!important}.vsd-frontend-content .vsd-services-table .vsd-version-pill{font-size:7px!important;padding:3px 6px!important}
}

/* v3.3.3 · print uit medewerkersportaal */
@media print{
  body.vsd-printing-service,
  body.vsd-printing-service .vsd-frontend-portal,
  body.vsd-printing-service .vsd-frontend-main{
    background:#fff!important;
  }
}


/* v3.4.0 · vaste ondernavigatie op telefoon */
.vsd-mobile-bottom-nav,
.vsd-mobile-more{display:none}

@media(max-width:600px){
  /* Bovenin alleen merk/account; de negen menu-items verhuizen naar onder. */
  .vsd-frontend-nav{display:none!important}
  .vsd-frontend-header-inner{padding:10px 12px}
  .vsd-frontend-logo>span{width:38px;height:38px;border-radius:10px}
  .vsd-frontend-logo strong{font-size:12px}
  .vsd-frontend-logo small{font-size:8px}
  .vsd-frontend-user>a,
  .vsd-frontend-user>form{display:none!important}

  .vsd-frontend-main{
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }

  .vsd-mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9998;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    align-items:end;
    gap:1px;
    padding:7px 5px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid #d9e3ed;
    background:rgba(255,255,255,.97);
    box-shadow:0 -8px 28px rgba(16,47,87,.13);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .vsd-mobile-bottom-nav>a,
  .vsd-mobile-bottom-nav>button{
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    min-height:49px;
    padding:4px 2px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#6c7d90;
    text-decoration:none;
    font:inherit;
  }
  .vsd-mobile-bottom-nav .dashicons{
    width:21px;
    height:21px;
    font-size:21px;
  }
  .vsd-mobile-bottom-nav small{
    color:inherit;
    font-size:9px;
    line-height:1;
    font-weight:750;
  }
  .vsd-mobile-bottom-nav .is-active{
    color:#174f85;
    background:#edf5fd;
  }
  .vsd-mobile-bottom-nav .vsd-mobile-new{
    position:relative;
    color:#fff;
    background:#153d70;
  }
  .vsd-mobile-bottom-nav .vsd-mobile-new.is-active{
    background:#0f315d;
    color:#fff;
  }
  .vsd-mobile-nav-icon-wrap{
    position:relative;
    display:inline-grid;
    place-items:center;
    width:23px;
    height:23px;
  }
  .vsd-mobile-nav-badge{
    position:absolute;
    top:-7px;
    right:-10px;
    display:grid;
    place-items:center;
    min-width:17px;
    height:17px;
    padding:0 4px;
    border:2px solid #fff;
    border-radius:999px;
    background:#d33f49;
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:900;
    box-sizing:border-box;
  }
  .vsd-mobile-friends.is-active .vsd-mobile-nav-badge{
    border-color:#edf5fd;
  }

  .vsd-mobile-more[hidden]{display:none!important}
  .vsd-mobile-more{
    position:fixed;
    inset:0;
    z-index:10020;
    display:block;
  }
  .vsd-mobile-more-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    border:0;
    background:rgba(10,24,41,.45);
  }
  .vsd-mobile-more-sheet{
    position:absolute;
    left:10px;
    right:10px;
    bottom:calc(76px + env(safe-area-inset-bottom));
    padding:14px;
    border:1px solid #dce5ee;
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 70px rgba(10,30,55,.25);
  }
  .vsd-mobile-more-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
    padding:0 2px;
  }
  .vsd-mobile-more-head strong{
    font-size:16px;
    color:#1e3855;
  }
  .vsd-mobile-more-close{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:#eff4f9;
    color:#36536f;
  }
  .vsd-mobile-more-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .vsd-mobile-more-grid a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:10px 12px;
    border:1px solid #e0e8f0;
    border-radius:13px;
    background:#fafcff;
    color:#294966;
    text-decoration:none;
    font-size:11px;
    font-weight:750;
  }
  .vsd-mobile-more-grid a.is-active{
    border-color:#a9cbe9;
    background:#edf6ff;
    color:#155a95;
  }
  .vsd-mobile-more-grid .dashicons{
    width:20px;
    height:20px;
    font-size:20px;
  }
  body.vsd-mobile-menu-open{overflow:hidden}
}


/* v3.4.2 · voorkom dat frontend-regels de compacte Vandaag-card weer vergroten */
@media(max-width:600px){
  .vsd-frontend-content .vsd-today-service{margin-top:8px!important}
  .vsd-frontend-content .vsd-today-service-head{padding:9px 10px!important}
  .vsd-frontend-content .vsd-today-service-head h2{font-size:14px!important}
  .vsd-frontend-content .vsd-today-service-head p{font-size:8px!important}
  .vsd-frontend-content .vsd-today-item{
    min-height:38px!important;
    padding:5px 6px!important;
  }
}

/* v3.15.3 · ingekorte rit en trein die vóór de eigen overname al onderweg was */
.vsd-myday-plan-list article.is-partially-cancelled{border-color:#edc48f;background:#fffaf1}
.vsd-myday-plan-list article em{display:block;margin-top:2px;color:#a7652e;font-size:8px;font-style:normal}
.vsd-myday-original-destination,
.vsd-myday-train-origin{display:block!important;margin-top:2px!important}
.vsd-myday-original-destination{color:#a45a50!important}
.vsd-myday-original-destination del{text-decoration-thickness:1.5px}
.vsd-myday-train-origin{color:#3e7194!important;font-weight:750}
.vsd-myday-route-delay-row.is-partial-endpoint{
  border-color:#e3a15d;
  background:#fff8ed;
  box-shadow:inset 4px 0 #d27825;
}
.vsd-myday-route-delay-row.is-partial-endpoint .vsd-myday-route-station>span{background:#ffe8cc;color:#a95b17}
.vsd-myday-route-delay-row.is-partial-endpoint .vsd-myday-route-station strong{color:#914b14}
.vsd-myday-route-delay-row.is-partial-endpoint .vsd-myday-route-station small{color:#b26421;font-weight:850}
.vsd-myday-route-delay-row.is-cancelled-segment{
  border-style:dashed;
  border-color:#e0b9b5;
  background:#fff8f7;
  opacity:.62;
}
.vsd-myday-route-delay-row.is-cancelled-segment .vsd-myday-route-station strong,
.vsd-myday-route-delay-row.is-cancelled-segment .vsd-myday-route-clock strong{
  color:#9b6b66;
  text-decoration:line-through;
  text-decoration-color:#b42318;
  text-decoration-thickness:1.5px;
}
.vsd-myday-route-delay-row.is-cancelled-segment .vsd-myday-route-station small{color:#b04c43;font-weight:850}

@media(max-width:600px){
  .vsd-myday-original-destination,
  .vsd-myday-train-origin{display:block!important;width:100%;font-size:6.5px!important}
  .vsd-myday-route-delay-row.is-partial-endpoint{box-shadow:inset 3px 0 #d27825}
}


/* v3.5.2 · Vandaag voelt op telefoon als home in plaats van een eindeloze dienstlijst */
@media(max-width:782px){
  .vsd-frontend-content .vsd-today-home-mode .vsd-today-service-head h2{font-size:15px!important}
  .vsd-frontend-content .vsd-today-home-brief{padding:9px!important}
  .vsd-frontend-content .vsd-service-overview-strip{box-shadow:none}
}


/* v3.5.3 · compacte dubbele homecard */
@media(max-width:782px){
  .vsd-frontend-content .vsd-today-home-cards{padding:8px!important}
  .vsd-frontend-content .vsd-today-summary-card,
  .vsd-frontend-content .vsd-today-focus-card{box-shadow:none}
}


/* v3.5.5 · Vandaag: compacte rittenlijst en opvallende routechips */
@media(max-width:782px){
  .vsd-frontend-content .vsd-today-rides-card,
  .vsd-frontend-content .vsd-today-summary-card-v2{
    box-shadow:none;
  }
  .vsd-frontend-content .vsd-today-route-chips{
    gap:4px;
  }
}


/* v3.5.6 · snelle dienst ook bruikbaar in medewerkersportaal */
@media(max-width:782px){
  .vsd-frontend-content .vsd-quick-service-card{
    box-shadow:none;
  }
  .vsd-frontend-content .vsd-quick-service-form input{
    min-height:42px;
    font-size:16px; /* voorkomt iOS auto-zoom */
  }
}


/* v3.5.8 · zwevende save blijft boven het vaste telefoonmenu */
@media(max-width:782px){
  .vsd-frontend-content .vsd-floating-save{
    bottom:92px;
  }
}


/* v3.5.9 · frontend Vandaag zonder dubbele oude welcome/page-head */
.vsd-frontend-content:has(.vsd-today-hero-v2)>.vsd-frontend-welcome-card{display:none!important}
.vsd-frontend-content .vsd-today-hero-v2{margin-top:2px}
@media(max-width:782px){
  .vsd-frontend-content .vsd-today-hero-v2{margin-top:0}
}


/* v3.6.0 · snelle dienst op Vandaag blijft compact in het portaal */
@media(max-width:782px){
  .vsd-frontend-content .vsd-today-quick-add{box-shadow:none}
}


/* v3.8.0 · Vrienden, vergelijken en profielfoto */
.vsd-own-profile-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.vsd-frontend-user>.vsd-own-profile-photo{width:38px;height:38px}
.vsd-profile-hero>.vsd-own-profile-photo{width:76px;height:76px;flex:0 0 76px}

.vsd-friends-page{display:grid;gap:16px}
.vsd-friends-hero{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
  align-items:center;
  padding:20px 22px;
  border:1px solid #d8e5ee;
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#f1f8fc 100%);
  box-shadow:0 8px 28px rgba(27,68,97,.07);
}
.vsd-friends-hero-icon{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  border-radius:16px;
  background:#e6f3fb;
  color:#216d9e;
}
.vsd-friends-hero-icon .dashicons{font-size:30px;width:30px;height:30px}
.vsd-friends-hero>div:nth-child(2)>span,
.vsd-friends-panel-head small,
.vsd-friends-compare-head span{
  display:block;
  color:#7892a4;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}
.vsd-friends-hero h1{margin:3px 0 5px;color:#234f6d;font-size:27px}
.vsd-friends-hero p{margin:0;color:#6b8292}
.vsd-friends-hero-stats{display:flex;gap:8px}
.vsd-friends-hero-stats>span{
  min-width:76px;
  padding:9px 12px;
  text-align:center;
  border:1px solid #d8e5ed;
  border-radius:12px;
  background:#fff;
}
.vsd-friends-hero-stats strong,.vsd-friends-hero-stats small{display:block}
.vsd-friends-hero-stats strong{color:#245878;font-size:20px}
.vsd-friends-hero-stats small{color:#8397a5;font-size:10px}

.vsd-friends-panel{
  padding:16px;
  border:1px solid #dbe6ed;
  border-radius:15px;
  background:#fff;
}
.vsd-friends-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:11px;
}
.vsd-friends-panel-head h2{margin:2px 0 0;color:#28516d;font-size:18px}
.vsd-friends-panel-head p{margin:4px 0 0;color:#7c919f;font-size:12px}
.vsd-friends-count{
  display:inline-grid;
  place-items:center;
  min-width:30px;height:30px;
  padding:0 7px;
  border-radius:999px;
  background:#eaf5fb;
  color:#276c95;
  font-weight:900;
}
.vsd-friends-top-grid,
.vsd-friends-insights-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.vsd-friend-search{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:6px 7px 6px 11px;
  border:1px solid #cfdee7;
  border-radius:11px;
  background:#f9fbfc;
}
.vsd-friend-search .dashicons{color:#6d899c}
.vsd-friend-search input{
  width:100%;
  min-height:36px;
  padding:0;
  border:0!important;
  outline:0;
  box-shadow:none!important;
  background:transparent;
}
.vsd-friend-search-results,.vsd-friend-list,.vsd-friend-request-list{display:grid;gap:8px;margin-top:10px}
.vsd-friend-person,
.vsd-friend-request{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e0e9ef;
  border-radius:11px;
  background:#fbfcfd;
}
.vsd-friend-person-avatar,.vsd-friend-request>.vsd-own-profile-photo{width:52px;height:52px}
.vsd-friend-person-avatar .vsd-own-profile-photo{width:54px;height:54px}
.vsd-friend-person-copy strong,.vsd-friend-person-copy span,
.vsd-friend-request>div>strong,.vsd-friend-request>div>span{display:block}
.vsd-friend-person-copy strong,.vsd-friend-request>div>strong{color:#315873}
.vsd-friend-person-copy span,.vsd-friend-request>div>span{margin-top:2px;color:#8093a1;font-size:11px}
.vsd-friend-person-actions,.vsd-friend-request-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vsd-friend-person-actions form,.vsd-friend-request-actions form{margin:0}
.vsd-friend-state{
  padding:5px 8px;
  border-radius:999px;
  background:#f2f5f7;
  color:#7d8d98;
  font-size:10px;
  font-weight:800;
}
.vsd-friend-outgoing{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #e7edf1;
}
.vsd-friend-outgoing>small{width:100%;color:#8799a6;font-weight:900;letter-spacing:.07em}
.vsd-friend-outgoing>span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#f3f7f9;color:#607b8d;font-size:10px}
.vsd-friend-outgoing .vsd-own-profile-photo{width:28px;height:28px}

.vsd-friend-card{
  border:1px solid #e0e9ef;
  border-radius:12px;
  background:#fff;
  transition:.15s ease;
}
.vsd-friend-card:hover,.vsd-friend-card.is-selected{border-color:#9dc8df;box-shadow:0 5px 16px rgba(32,96,137,.08)}
.vsd-friend-card.is-selected{background:#f2f9fd}
.vsd-friend-card>a{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  color:inherit;
  text-decoration:none;
}
.vsd-friend-card .vsd-own-profile-photo{width:50px;height:50px}
.vsd-friend-card span strong,.vsd-friend-card span small{display:block}
.vsd-friend-card span strong{color:#2c5570}
.vsd-friend-card span small{margin-top:2px;color:#8194a2;font-size:11px}
.vsd-friend-card i{color:#7d9aab}

.vsd-friends-compare{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #cfdfE8;
  border-radius:17px;
  background:#f6fafc;
}
.vsd-friends-compare-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
}
.vsd-friends-compare-head h2{margin:3px 0 3px;color:#234f6b;font-size:22px}
.vsd-friends-compare-head p{margin:0;color:#718898}
.vsd-friends-compare-head form{display:flex;gap:7px;align-items:center}
.vsd-friends-compare-head input[type=date]{min-height:38px;border:1px solid #cadbe5;border-radius:9px}
.vsd-friends-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vsd-friend-service-column{
  min-width:0;
  padding:13px;
  border:1px solid #dbe6ec;
  border-radius:13px;
  background:#fff;
}
.vsd-friend-service-person{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.vsd-friend-service-person .vsd-own-profile-photo{width:48px;height:48px}
.vsd-friend-service-person strong,.vsd-friend-service-person span{display:block}
.vsd-friend-service-person strong{color:#2c5570}
.vsd-friend-service-person span{color:#8797a3;font-size:11px}
.vsd-friend-service-card{margin-top:9px;border:1px solid #e0e8ed;border-radius:11px;overflow:hidden}
.vsd-friend-service-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  background:#eef6fa;
}
.vsd-friend-service-head small,.vsd-friend-service-head strong{display:block}
.vsd-friend-service-head small{color:#728fa1;font-size:8px;font-weight:900;letter-spacing:.06em}
.vsd-friend-service-head strong{margin-top:2px;color:#2b5672}
.vsd-friend-service-head>span{color:#456d84;font-size:11px;font-weight:800}
.vsd-friend-timeline{display:grid}
.vsd-friend-timeline-row{
  display:grid;
  grid-template-columns:100px auto 1fr;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-top:1px solid #edf1f4;
}
.vsd-friend-timeline-row:first-child{border-top:0}
.vsd-friend-timeline-time{display:flex;align-items:center;gap:4px;color:#456d83;font-size:10px}
.vsd-friend-timeline-time i{color:#9badb8;font-style:normal}
.vsd-friend-timeline-row>.dashicons{color:#5f87a1}
.vsd-friend-timeline-row div strong,.vsd-friend-timeline-row div small{display:block}
.vsd-friend-timeline-row div strong{color:#345b73;font-size:11px}
.vsd-friend-timeline-row div small{color:#8b9aa5;font-size:9px}

.vsd-friend-empty-day,.vsd-friend-locked{
  padding:18px;
  text-align:center;
  border:1px dashed #d5e0e7;
  border-radius:11px;
  background:#fafcfd;
  color:#78909f;
}
.vsd-friend-empty-day .dashicons,.vsd-friend-locked .dashicons{display:block;margin:0 auto 6px;font-size:26px;width:26px;height:26px;color:#7e9aac}
.vsd-friend-empty-day strong,.vsd-friend-locked strong{display:block;color:#4a6c82}
.vsd-friend-empty-day p,.vsd-friend-locked p{margin:4px 0 0;font-size:11px}
.vsd-friend-locked{background:#fbfaf7}
.vsd-friend-locked .dashicons{color:#9b8c66}
.vsd-friend-empty-inline{padding:10px;color:#8799a4;font-size:11px}

.vsd-friend-encounters{display:grid;gap:7px}
.vsd-friend-encounters article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  padding:10px;
  border:1px solid #dce7ed;
  border-radius:10px;
  background:#f8fbfd;
}
.vsd-friend-encounters article.type-train{background:#eef8f3;border-color:#d4eadf}
.vsd-friend-encounters .dashicons{color:#34739a}
.vsd-friend-encounters article.type-train .dashicons{color:#398060}
.vsd-friend-encounters strong,.vsd-friend-encounters small{display:block}
.vsd-friend-encounters strong{color:#315b76}
.vsd-friend-encounters p{margin:3px 0;color:#6f8796;font-size:11px}
.vsd-friend-encounters small{color:#8397a4;font-size:10px}

#vsd-friends-map{
  width:100%;
  min-height:330px;
  border:1px solid #d7e4eb;
  border-radius:12px;
  overflow:hidden;
}
.vsd-friends-map-legend{display:grid;gap:6px;margin-top:8px}
.vsd-friends-map-legend>span{
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:7px;
  padding:7px 8px;
  border:1px solid #e0e8ed;
  border-radius:9px;
  background:#fafcfd;
}
.vsd-friends-map-legend .vsd-own-profile-photo{width:30px;height:30px}
.vsd-friends-map-legend strong{color:#365f79;font-size:11px}
.vsd-friends-map-legend small{color:#7d909d;font-size:10px}
.vsd-friend-map-popup strong,.vsd-friend-map-popup span,.vsd-friend-map-popup small{display:block}
.vsd-friend-map-popup span{margin-top:3px}
.vsd-friend-map-popup small{margin-top:3px;color:#6e818d}
.vsd-friends-manage{display:flex;justify-content:flex-end}
.vsd-friends-manage form{margin:0}

.vsd-profile-social>p{color:#748b99}
.vsd-profile-photo-editor{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
}
.vsd-profile-photo-preview{width:88px;height:88px}
.vsd-profile-photo-preview .vsd-own-profile-photo{width:88px;height:88px}
.vsd-profile-photo-editor label{min-width:0}
.vsd-profile-photo-editor input[type=file]{width:100%}
.vsd-profile-photo-editor small{display:block;margin-top:4px;color:#8a9aa5}
.vsd-profile-privacy{display:grid;gap:7px;margin:10px 0}
.vsd-profile-check{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:8px!important;
  padding:9px 10px;
  border:1px solid #dce7ed;
  border-radius:10px;
  background:#f9fbfc;
}
.vsd-profile-check input{margin-top:2px}
.vsd-profile-check span strong,.vsd-profile-check span small{display:block}
.vsd-profile-check span strong{color:#41667c}
.vsd-profile-check span small{margin-top:2px;color:#81939f;font-size:10px}

@media(max-width:1050px){
  .vsd-friends-top-grid,.vsd-friends-insights-grid,.vsd-friends-service-grid{grid-template-columns:1fr}
}
@media(max-width:782px){
  .vsd-friends-hero{grid-template-columns:auto 1fr;padding:14px}
  .vsd-friends-hero-stats{grid-column:1/-1}
  .vsd-friends-compare{padding:11px}
  .vsd-friends-compare-head{align-items:stretch;flex-direction:column}
  .vsd-friends-compare-head form{display:grid;grid-template-columns:1fr auto;width:100%}
  .vsd-friend-person,.vsd-friend-request{grid-template-columns:auto 1fr}
  .vsd-friend-person-actions,.vsd-friend-request-actions{grid-column:1/-1;justify-content:flex-start}
  #vsd-friends-map{min-height:280px}
}
@media(max-width:520px){
  .vsd-friends-hero-icon{width:48px;height:48px}
  .vsd-friends-hero h1{font-size:23px}
  .vsd-friend-search{grid-template-columns:auto 1fr}
  .vsd-friend-search .button{grid-column:1/-1;width:100%}
  .vsd-friend-timeline-row{grid-template-columns:82px auto 1fr;gap:5px}
  .vsd-profile-photo-editor{grid-template-columns:1fr}
}


/* v3.8.1 · zes vaste mobiele tabs incl. Vrienden */
@media(max-width:600px){
  .vsd-mobile-bottom-nav>a,
  .vsd-mobile-bottom-nav>button{
    gap:2px;
    min-height:48px;
    padding-left:1px;
    padding-right:1px;
  }
  .vsd-mobile-bottom-nav small{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8.5px;
  }
  .vsd-mobile-bottom-nav .dashicons{
    width:20px;
    height:20px;
    font-size:20px;
  }
}
@media(max-width:390px){
  .vsd-mobile-bottom-nav{padding-left:3px;padding-right:3px}
  .vsd-mobile-bottom-nav small{font-size:8px}
  .vsd-mobile-bottom-nav .dashicons{
    width:19px;
    height:19px;
    font-size:19px;
  }
}


/* v3.9.0 · Mijn dienst operationele cockpit */
.vsd-myday-page{display:grid;gap:14px}
.vsd-myday-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  border:1px solid #d8e5ee;
  border-radius:17px;
  background:linear-gradient(135deg,#fff 0%,#eef7fc 100%);
  box-shadow:0 7px 24px rgba(27,68,97,.07);
}
.vsd-myday-hero>div:first-child>span{
  display:block;
  color:#7491a4;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}
.vsd-myday-hero h1{margin:4px 0;color:#214d6b;font-size:24px}
.vsd-myday-hero p{margin:0;color:#6e8594}
.vsd-myday-hero-stats{display:flex;gap:8px}
.vsd-myday-hero-stats>span{
  min-width:90px;
  padding:9px 11px;
  text-align:center;
  border:1px solid #d8e5ed;
  border-radius:11px;
  background:#fff;
}
.vsd-myday-hero-stats strong,.vsd-myday-hero-stats small{display:block}
.vsd-myday-hero-stats strong{color:#245a7b;font-size:19px}
.vsd-myday-hero-stats small{color:#8295a3;font-size:9px;text-transform:uppercase}

.vsd-myday-service{
  padding:15px;
  border:1px solid #d9e5ec;
  border-radius:15px;
  background:#fff;
}
.vsd-myday-service-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:11px;
}
.vsd-myday-service-head small{
  display:block;color:#7e94a3;font-size:9px;font-weight:900;letter-spacing:.07em
}
.vsd-myday-service-head h2{margin:2px 0;color:#28516d;font-size:19px}
.vsd-myday-service-head p{margin:2px 0 0;color:#78909f}
.vsd-myday-state{
  padding:5px 9px;border-radius:999px;background:#f0f4f7;color:#6d8290;font-size:10px;font-weight:850
}
.vsd-myday-state.active{background:#e8f7ef;color:#267650}
.vsd-myday-state.finished{background:#eef1f3;color:#778790}
.vsd-myday-state.upcoming{background:#edf5fb;color:#376d8f}

.vsd-myday-rides,.vsd-myday-plan-list{display:grid;gap:8px}
.vsd-myday-ride{
  border:1px solid #dce7ed;
  border-radius:12px;
  background:#fbfcfd;
  overflow:hidden;
}
.vsd-myday-ride.state-current{border-color:#75b7db;box-shadow:0 0 0 2px rgba(58,143,192,.08)}
.vsd-myday-ride.state-past{opacity:.82}
.vsd-myday-ride-summary{
  display:grid;
  grid-template-columns:auto 135px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 11px;
}
.vsd-myday-ride-order{
  display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eaf3f8;color:#356780;font-size:11px;font-weight:900
}
.vsd-myday-ride-time small,.vsd-myday-ride-time strong,.vsd-myday-ride-time span{display:block}
.vsd-myday-ride-time small{color:#8a9aa5;font-size:8px;text-transform:uppercase}
.vsd-myday-ride-time strong{color:#345e78;font-size:12px}
.vsd-myday-ride-time strong i{color:#9aabb6;font-style:normal}
.vsd-myday-ride-time span{margin-top:2px;color:#8c9ba5;font-size:9px}
.vsd-myday-ride-main>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.vsd-myday-ride-main>strong{display:block;margin-top:3px;color:#214e6d;font-size:17px}
.vsd-myday-ride-main p{margin:1px 0;color:#59788c;font-size:11px}
.vsd-myday-ride-main small{color:#81939f;font-size:9px}
.vsd-myday-type,.vsd-myday-delay-badge,.vsd-myday-now{
  display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase
}
.vsd-myday-type{background:#eaf3f8;color:#356b8a}
.vsd-myday-type.reserve{background:#f6f0e4;color:#806b35}
.vsd-myday-type.taxi{background:#f1ecf8;color:#6f5091}
.vsd-myday-delay-badge{background:#fff0ed;color:#b04e42}
.vsd-myday-now{background:#ddf6e8;color:#24744c}
.vsd-myday-ride-buttons{display:flex;justify-content:flex-end}

.vsd-myday-quick-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 10px 10px;
}
.vsd-myday-quick{
  border:1px solid #dce6ed;
  border-radius:10px;
  background:#fff;
}
.vsd-myday-quick>summary{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:7px;
  padding:9px 10px;
  cursor:pointer;
  list-style:none;
}
.vsd-myday-quick>summary::-webkit-details-marker{display:none}
.vsd-myday-quick>summary>.dashicons:first-child{color:#4d7b97}
.vsd-myday-quick>summary span strong,.vsd-myday-quick>summary span small{display:block}
.vsd-myday-quick>summary span strong{color:#345d76;font-size:11px}
.vsd-myday-quick>summary span small{color:#8697a2;font-size:9px}
.vsd-myday-quick[open]>summary{border-bottom:1px solid #e6edf1;background:#f7fafc}
.vsd-myday-delay-form,.vsd-myday-edit-form{padding:10px}
.vsd-myday-main-delay{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.vsd-myday-main-delay label,.vsd-myday-edit-fields label,.vsd-myday-route-delay-row label{
  display:grid;gap:4px
}
.vsd-myday-main-delay label>span,.vsd-myday-edit-fields label>span,.vsd-myday-route-delay-row label>span{
  color:#6e8797;font-size:9px;font-weight:850
}
.vsd-myday-main-delay label>div,.vsd-myday-route-delay-row label>div{
  display:flex;align-items:center;gap:5px
}
.vsd-myday-main-delay input[type=number],.vsd-myday-route-delay-row input[type=number]{
  width:76px;min-height:36px;border:1px solid #cadbe5;border-radius:8px
}
.vsd-myday-main-delay em,.vsd-myday-route-delay-row em{color:#8395a1;font-size:9px;font-style:normal}
.vsd-myday-main-delay label>small{color:#8a9aa4;font-size:9px}
.vsd-myday-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vsd-myday-edit-fields input{width:100%;min-height:36px;border:1px solid #cadbe5;border-radius:8px}
.vsd-myday-form-actions{display:flex;justify-content:flex-end;margin-top:9px}

.vsd-myday-route-delays{display:grid;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #e5ecef}
.vsd-myday-route-delay-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.vsd-myday-route-delay-head strong{color:#345e78;font-size:10px}
.vsd-myday-route-delay-head span{color:#8a9aa5;font-size:8px}
.vsd-myday-route-delay-row{
  display:grid;
  grid-template-columns:minmax(130px,1.2fr) 95px 110px 110px 120px;
  gap:6px;
  align-items:center;
  padding:7px;
  border:1px solid #e1e9ee;
  border-radius:9px;
  background:#fafcfd;
}
.vsd-myday-route-delay-row.type-pass{grid-template-columns:minmax(130px,1.2fr) 95px 110px 120px}
.vsd-myday-route-station{display:flex;gap:6px;align-items:center;min-width:0}
.vsd-myday-route-station>span{color:#6b8ba0}
.vsd-myday-route-station strong,.vsd-myday-route-station small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-myday-route-station strong{color:#3c6279;font-size:10px}
.vsd-myday-route-station small{color:#8b9aa4;font-size:8px}
.vsd-myday-route-clock small,.vsd-myday-route-clock strong{display:block}
.vsd-myday-route-clock small{color:#8999a4;font-size:8px}
.vsd-myday-route-clock strong{color:#42687e;font-size:10px}
.vsd-myday-route-clock.actual strong{color:#276f99}

.vsd-myday-danger{
  display:flex;justify-content:flex-end;
  padding:0 10px 9px;
}
.vsd-myday-danger form{margin:0}
.vsd-myday-delete{color:#a74b43!important;border-color:#e5c7c3!important}
.vsd-myday-break{
  display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:9px 11px;border:1px solid #e4e9ec;border-radius:10px;background:#faf9f6
}
.vsd-myday-break>.dashicons{color:#8c7956}
.vsd-myday-break strong,.vsd-myday-break p{display:block;margin:0}
.vsd-myday-break strong{color:#685d47}
.vsd-myday-break p{color:#8c8170;font-size:10px}
.vsd-myday-break>span:last-child{color:#756a58;font-size:10px;font-weight:800}
.vsd-myday-service-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.vsd-myday-info{display:flex;gap:7px;margin-top:9px;padding:9px 10px;border-radius:9px;background:#f0f7fb;color:#557589}
.vsd-myday-info p{margin:0;font-size:10px}
.vsd-myday-empty,.vsd-myday-no-service{
  padding:20px;text-align:center;border:1px dashed #d3e0e7;border-radius:11px;background:#fafcfd;color:#758b99
}
.vsd-myday-empty strong{display:block;color:#486b80}
.vsd-myday-empty p,.vsd-myday-no-service p{margin:4px 0 10px}
.vsd-myday-no-service>.dashicons{font-size:30px;width:30px;height:30px;color:#7796a8}
.vsd-myday-no-service h2{margin:7px 0 3px;color:#355d76}
.vsd-myday-plan-list article{
  display:grid;grid-template-columns:105px auto 1fr;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e2eaef;border-radius:9px;background:#fafcfd
}
.vsd-myday-plan-list article .dashicons{color:#5c8299}
.vsd-myday-plan-list article div strong,.vsd-myday-plan-list article div small{display:block}
.vsd-myday-plan-list article div strong{color:#365f77}
.vsd-myday-plan-list article div small{color:#8495a0}
.vsd-myday-time{display:flex;gap:4px;align-items:center;color:#4c7187;font-size:10px}
.vsd-myday-time i{font-style:normal;color:#a0afb8}

@media(max-width:1000px){
  .vsd-myday-quick-grid{grid-template-columns:1fr}
  .vsd-myday-route-delay-row,
  .vsd-myday-route-delay-row.type-pass{grid-template-columns:minmax(130px,1fr) repeat(2,minmax(90px,auto))}
  .vsd-myday-route-delay-row .vsd-myday-route-clock.actual{grid-column:auto}
}
@media(max-width:782px){
  .vsd-myday-hero{align-items:flex-start;flex-direction:column;padding:13px}
  .vsd-myday-hero-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .vsd-myday-hero-stats>span{min-width:0;padding:7px 5px}
  .vsd-myday-service{padding:10px}
  .vsd-myday-ride-summary{grid-template-columns:auto 100px minmax(0,1fr);padding:8px;gap:6px}
  .vsd-myday-ride-buttons{grid-column:2/-1;justify-content:flex-start}
  .vsd-myday-quick-grid{padding:0 7px 7px}
  .vsd-myday-route-delay-head{align-items:flex-start;flex-direction:column}
  .vsd-myday-route-delay-row,.vsd-myday-route-delay-row.type-pass{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .vsd-myday-route-station{grid-column:1/-1}
  .vsd-myday-route-clock.actual{grid-column:auto}
}
@media(max-width:520px){
  .vsd-myday-hero h1{font-size:20px}
  .vsd-myday-ride-summary{grid-template-columns:auto 1fr}
  .vsd-myday-ride-time{grid-column:2}
  .vsd-myday-ride-main{grid-column:1/-1;padding-left:34px}
  .vsd-myday-ride-buttons{grid-column:1/-1;padding-left:34px}
  .vsd-myday-main-delay,.vsd-myday-edit-fields{grid-template-columns:1fr}
  .vsd-myday-route-delay-row,.vsd-myday-route-delay-row.type-pass{grid-template-columns:1fr 1fr}
  .vsd-myday-route-delay-row label input[type=number]{width:100%}
  .vsd-myday-service-actions .button{flex:1;text-align:center}
}

/* Vrienden staat vanaf v3.9.0 weer alleen onder Meer. */
@media(max-width:600px){
  .vsd-mobile-bottom-nav .vsd-mobile-myday .dashicons{color:inherit}
}


/* v3.10.0 · compact Mijn dienst, nieuw Diensten-overzicht en vriendendirectory */
.vsd-myday-actual-required{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  padding:17px;
  border:1px solid #d6e4ec;
  border-radius:14px;
  background:linear-gradient(135deg,#fff 0%,#f2f8fc 100%);
}
.vsd-myday-actual-required>.dashicons{font-size:30px;width:30px;height:30px;color:#397ba2}
.vsd-myday-actual-required h2{margin:3px 0;color:#28536f}
.vsd-myday-actual-required p{margin:4px 0;color:#718896}
.vsd-myday-planned-start-list{grid-column:1/-1;display:grid;gap:7px}
.vsd-myday-planned-start-list article{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:9px 10px;border:1px solid #dfe8ed;border-radius:10px;background:#fff
}
.vsd-myday-planned-start-list article div strong,.vsd-myday-planned-start-list article div span,.vsd-myday-planned-start-list article div small{display:block}
.vsd-myday-planned-start-list article div strong{color:#345d76}
.vsd-myday-planned-start-list article div span{color:#78909e;font-size:10px}
.vsd-myday-planned-start-list article div small{margin-top:2px;color:#6e5796;font-size:9px;font-weight:800}
.vsd-myday-hidden-planning-note{
  display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;background:#f2f6f8;color:#718794;font-size:10px
}
.vsd-myday-service-tags{display:flex;gap:5px;margin-top:4px}
.vsd-myday-service-tags span{padding:2px 6px;border-radius:999px;font-size:8px;font-weight:900}
.vsd-myday-service-tags .reserve{background:#f7f0df;color:#7a6536}
.vsd-myday-service-tags .shunting{background:#eee9fb;color:#674d97}

/* compactere dienstenkaarten op alle formaten */
.vsd-services-page-v310 .vsd-service-card-list{gap:6px}
.vsd-services-page-v310 .vsd-service-list-card{
  min-height:0;
  padding:8px 10px;
  grid-template-columns:125px minmax(0,1fr) auto;
  gap:9px;
  border-radius:10px;
}
.vsd-services-page-v310 .vsd-service-list-date strong{font-size:10px}
.vsd-services-page-v310 .vsd-service-list-title strong{font-size:12px}
.vsd-services-page-v310 .vsd-service-list-title span,
.vsd-services-page-v310 .vsd-service-list-meta{font-size:9px}
.vsd-services-page-v310 .vsd-service-list-side{gap:4px}
.vsd-services-page-v310 .vsd-service-open-label{font-size:9px}

/* account-directory maakt vinden van collega's veel minder archeologisch */
.vsd-friends-directory-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)}
.vsd-friends-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.vsd-friends-directory-grid .vsd-friend-person{
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  min-width:0;
  padding:9px;
  background:#fff;
}
.vsd-friends-directory-grid .vsd-friend-person-actions{
  grid-column:1/-1;
  justify-content:flex-start;
  padding-top:6px;
  border-top:1px solid #edf1f4;
}
.vsd-friend-directory-summary{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin-top:8px;padding:7px 9px;border-radius:9px;background:#f3f7f9;color:#718796;font-size:10px
}
.vsd-friend-directory-summary strong{color:#315d78}
.vsd-friend-state.accepted{background:#e7f6ee;color:#2b7954}
.vsd-friend-state.incoming{background:#fff2dc;color:#8b672a}

/* Rangeerdienst in agenda en lijsten */
.vsd-agenda-dot.shunting,.vsd-agenda-legend i.shunting{background:#7457a7!important}
.vsd-agenda-service.shunting{box-shadow:inset 3px 0 0 #7457a7}

@media(max-width:1000px){
  .vsd-friends-directory-layout{grid-template-columns:1fr}
  .vsd-friends-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:782px){
  /* Mijn dienst: de kaarten waren op mobiel te groot. Nu één compacte werkregel
     met de snelle acties dichtgeklapt eronder. */
  .vsd-myday-page{gap:8px}
  .vsd-myday-hero{padding:10px}
  .vsd-myday-hero p{display:none}
  .vsd-myday-hero-stats{gap:4px}
  .vsd-myday-hero-stats>span{padding:5px 3px}
  .vsd-myday-hero-stats strong{font-size:15px}
  .vsd-myday-service{padding:7px;border-radius:11px}
  .vsd-myday-service-head{margin-bottom:6px}
  .vsd-myday-service-head h2{font-size:15px}
  .vsd-myday-service-head p{font-size:9px}
  .vsd-myday-ride{border-radius:9px}
  .vsd-myday-ride-summary{grid-template-columns:24px 82px minmax(0,1fr);gap:5px;padding:6px}
  .vsd-myday-ride-order{width:24px;height:24px;border-radius:7px}
  .vsd-myday-ride-time small{display:none}
  .vsd-myday-ride-time strong{font-size:10px}
  .vsd-myday-ride-time>span{display:none}
  .vsd-myday-ride-main>strong{display:inline;font-size:13px}
  .vsd-myday-ride-main p{font-size:9px;margin:0}
  .vsd-myday-ride-main small{font-size:8px}
  .vsd-myday-ride-buttons{grid-column:1/-1;padding:0;justify-content:flex-end}
  .vsd-myday-ride-buttons .button{min-height:28px;padding:2px 7px;font-size:9px}
  .vsd-myday-quick-grid{grid-template-columns:1fr 1fr!important;gap:5px;padding:0 6px 5px}
  .vsd-myday-quick>summary{padding:6px;grid-template-columns:auto 1fr}
  .vsd-myday-quick>summary>span:last-child{display:none}
  .vsd-myday-quick>summary span small{display:none}
  .vsd-myday-quick>summary span strong{font-size:9px}
  .vsd-myday-danger{padding:0 6px 6px}
  .vsd-myday-danger .button{min-height:28px;padding:2px 7px;font-size:9px}
  .vsd-myday-break{padding:6px 8px}
  .vsd-myday-service-actions{gap:4px;margin-top:6px}
  .vsd-myday-service-actions .button{min-height:30px;padding:3px 7px;font-size:9px}
  .vsd-myday-actual-required{grid-template-columns:1fr;padding:11px}
  .vsd-myday-actual-required>.dashicons{display:none}
  .vsd-myday-planned-start-list article{align-items:stretch;flex-direction:column}
  .vsd-myday-planned-start-list .button{width:100%;justify-content:center}

  .vsd-services-page-v310 .vsd-service-list-card{
    grid-template-columns:85px minmax(0,1fr) auto;
    padding:7px;
    gap:6px;
  }
  .vsd-services-page-v310 .vsd-service-list-meta{display:none}
  .vsd-services-page-v310 .vsd-service-workforms{display:none}
  .vsd-services-page-v310 .vsd-service-list-versions .vsd-version-pill{font-size:7px}
  .vsd-services-page-v310 .vsd-service-list-side>.vsd-status-pill{display:none}
  .vsd-services-page-v310 .vsd-service-open-label span{display:none}

  .vsd-friends-directory-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
  .vsd-services-page-v310 .vsd-service-list-card{
    grid-template-columns:72px minmax(0,1fr) 24px;
  }
  .vsd-services-page-v310 .vsd-service-list-date strong{font-size:9px}
  .vsd-services-page-v310 .vsd-service-list-title strong{font-size:11px}
  .vsd-services-page-v310 .vsd-service-list-title span{font-size:8px}
  .vsd-services-page-v310 .vsd-service-list-versions{display:none}
  .vsd-services-page-v310 .vsd-service-open-label{font-size:0}
  .vsd-services-page-v310 .vsd-service-open-label i{font-size:16px}
}


/* ========================================================================
   v3.11.0 · mobiel niet meer afbreken + zelfregistratie
   ======================================================================== */

/* Tekst en grids mogen op kleine schermen daadwerkelijk krimpen en afbreken. */
.vsd-frontend-content *,
.vsd-login-card *{box-sizing:border-box}
.vsd-frontend-content :is(
  .vsd-service-list-title,
  .vsd-service-list-date,
  .vsd-service-list-side,
  .vsd-myday-ride-main,
  .vsd-myday-ride-time,
  .vsd-friend-person-copy,
  .vsd-friend-request>div,
  .vsd-friends-panel-head>div,
  .vsd-profile-card,
  .vsd-profile-card label,
  .vsd-registration-person>div
){min-width:0}
.vsd-frontend-content :is(h1,h2,h3,p,strong,small,span,dd,dt),
.vsd-login-card :is(h1,h2,p,strong,small,span,label){
  overflow-wrap:anywhere;
  word-break:normal;
}
.vsd-frontend-content img{max-width:100%;height:auto}
.vsd-frontend-content .button{height:auto;white-space:normal;line-height:1.25}

/* Inloggen / registreren */
.vsd-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  margin:18px 0 15px;
  padding:4px;
  border-radius:12px;
  background:#edf2f6;
}
.vsd-auth-tabs a{
  display:grid;
  place-items:center;
  min-height:38px;
  padding:6px 10px;
  border-radius:9px;
  color:#667b8f;
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}
.vsd-auth-tabs a.is-active{
  background:#fff;
  color:#174f85;
  box-shadow:0 2px 8px rgba(28,60,90,.09);
}
.vsd-login-card.is-register{width:min(720px,100%)}
.vsd-register-intro{margin-bottom:12px}
.vsd-register-intro h2{margin:0 0 4px;color:#264e69;font-size:18px}
.vsd-register-intro p{margin:0;color:#748495;font-size:11px;line-height:1.5}
.vsd-own-register-form{display:grid;gap:12px}
.vsd-register-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
}
.vsd-own-register-form label{
  display:grid;
  gap:5px;
  min-width:0;
}
.vsd-own-register-form label>span{
  color:#44536a;
  font-size:10px;
  font-weight:800;
}
.vsd-own-register-form input,
.vsd-own-register-form select{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:8px 10px;
  border:1px solid #ccd7e3;
  border-radius:10px;
  background:#fbfcfe;
  color:#172033;
}
.vsd-own-register-form input:focus,
.vsd-own-register-form select:focus{
  outline:none;
  border-color:#497fb5;
  box-shadow:0 0 0 3px rgba(53,112,173,.12);
}
.vsd-register-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.vsd-register-approval-note{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:10px 11px;
  border:1px solid #d9e5ed;
  border-radius:10px;
  background:#f1f7fb;
}
.vsd-register-approval-note>.dashicons{color:#3d7397}
.vsd-register-approval-note strong,
.vsd-register-approval-note small{display:block}
.vsd-register-approval-note strong{color:#365f78;font-size:10px}
.vsd-register-approval-note small{margin-top:2px;color:#768c9a;font-size:9px;line-height:1.45}
.vsd-login-links{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.vsd-login-links span{color:#9aa7b1}
.vsd-pending-card{text-align:center}
.vsd-pending-icon{
  display:grid;
  place-items:center;
  width:64px;height:64px;
  margin:0 auto 12px;
  border-radius:18px;
  background:#eef5fa;
  color:#356e93;
}
.vsd-pending-icon .dashicons{width:31px;height:31px;font-size:31px}
.vsd-pending-card>small{color:#7891a3;font-size:9px;font-weight:900;letter-spacing:.1em}
.vsd-pending-card h1{margin:5px 0 9px;color:#244f6c;font-size:23px}
.vsd-pending-card>p{margin:0 0 14px}

/* Services: op telefoon geen drie geplette kolommen meer. */
@media(max-width:782px){
  .vsd-frontend-main{
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .vsd-frontend-content,
  .vsd-frontend-content>.vsd-wrap,
  .vsd-frontend-content .vsd-panel{
    width:100%;
    min-width:0;
    overflow-wrap:anywhere;
  }

  .vsd-services-page-v310 .vsd-service-list-card{
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:start!important;
    padding:8px!important;
    gap:6px 8px!important;
  }
  .vsd-services-page-v310 .vsd-service-list-date{grid-column:1;grid-row:1}
  .vsd-services-page-v310 .vsd-service-list-title{grid-column:2;grid-row:1;min-width:0}
  .vsd-services-page-v310 .vsd-service-list-side{
    grid-column:1/-1;
    grid-row:2;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    width:100%;
    min-width:0;
    padding-top:6px;
    border-top:1px solid #edf1f4;
  }
  .vsd-services-page-v310 .vsd-service-list-title strong{font-size:12px!important}
  .vsd-services-page-v310 .vsd-service-list-title span{font-size:9px!important;line-height:1.35}
  .vsd-services-page-v310 .vsd-service-list-versions{
    display:flex!important;
    flex-wrap:wrap;
    gap:4px;
  }
  .vsd-services-page-v310 .vsd-service-list-versions .vsd-version-pill{
    font-size:8px!important;
    white-space:normal;
  }
  .vsd-services-page-v310 .vsd-service-open-label{
    display:inline-flex;
    align-items:center;
    gap:4px;
    flex:0 0 auto;
    font-size:9px!important;
  }
  .vsd-services-page-v310 .vsd-service-open-label span{display:inline!important}

  /* Mijn dienst: snelle acties onder elkaar i.p.v. twee smalle kaarten. */
  .vsd-myday-ride-summary{
    grid-template-columns:24px 86px minmax(0,1fr)!important;
  }
  .vsd-myday-quick-grid{
    grid-template-columns:1fr!important;
  }
  .vsd-myday-quick>summary span strong{font-size:10px!important}
  .vsd-myday-quick>summary span small{display:block!important;font-size:8px!important}
  .vsd-myday-route-delay-row,
  .vsd-myday-route-delay-row.type-pass{
    grid-template-columns:1fr!important;
  }
  .vsd-myday-route-station,
  .vsd-myday-route-clock,
  .vsd-myday-route-delay-row label{
    grid-column:1!important;
  }
  .vsd-myday-route-delay-row label>div{width:100%}
  .vsd-myday-route-delay-row input[type=number]{
    width:100%!important;
  }
  .vsd-myday-route-station strong,
  .vsd-myday-route-station small{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Vrienden/cards */
  .vsd-friend-person,
  .vsd-friend-request{
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  .vsd-friend-person-avatar,
  .vsd-friend-person-avatar .vsd-own-profile-photo,
  .vsd-friend-request>.vsd-own-profile-photo{
    width:44px!important;height:44px!important;
  }
  .vsd-friend-person-actions,
  .vsd-friend-request-actions{
    grid-column:1/-1!important;
    display:flex!important;
    width:100%;
  }
  .vsd-friend-person-actions .button,
  .vsd-friend-request-actions .button{
    min-height:34px;
    font-size:10px;
  }
  .vsd-friends-service-grid,
  .vsd-friends-insights-grid,
  .vsd-friends-top-grid{
    grid-template-columns:1fr!important;
  }

  /* Profiel/forms */
  .vsd-profile-grid,
  .vsd-frontend-profile-form,
  .vsd-profile-photo-editor{
    grid-template-columns:1fr!important;
  }
  .vsd-profile-card{padding:14px}
  .vsd-profile-card dl>div{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .vsd-profile-card dd{text-align:left!important}

  /* Generieke formuliergrids die op telefoon anders te smal worden. */
  .vsd-frontend-content :is(.vsd-fields,.vsd-service-fields,.vsd-ride-details,.vsd-treindata-fields){
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .vsd-login-shell{padding:10px}
  .vsd-login-card{padding:18px 14px!important;border-radius:16px}
  .vsd-login-card.is-register{width:100%}
  .vsd-login-brand{gap:10px}
  .vsd-login-brand h1{font-size:21px}
  .vsd-login-logo-image{width:50px!important;height:50px!important}
  .vsd-register-grid{grid-template-columns:1fr}
  .vsd-register-spacer{display:none}
  .vsd-auth-tabs{margin:14px 0 12px}
  .vsd-auth-tabs a{min-height:36px}

  .vsd-services-page-v310 .vsd-service-list-card{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .vsd-services-page-v310 .vsd-service-list-date strong{font-size:9px!important}
  .vsd-services-page-v310 .vsd-service-list-side{flex-wrap:wrap}
  .vsd-services-page-v310 .vsd-service-open-label{margin-left:auto}

  .vsd-myday-ride-summary{
    grid-template-columns:24px minmax(0,1fr)!important;
  }
  .vsd-myday-ride-time{
    grid-column:2!important;
    min-width:0;
  }
  .vsd-myday-ride-main{
    grid-column:1/-1!important;
    padding-left:30px!important;
  }
  .vsd-myday-ride-buttons{
    grid-column:1/-1!important;
    padding-left:30px!important;
  }
  .vsd-myday-service-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .vsd-myday-service-actions .button{width:100%}

  .vsd-friends-compare-head form{
    grid-template-columns:1fr!important;
  }
  .vsd-friends-compare-head form .button{width:100%}
}


/* ========================================================================
   v3.12.8 · één vaste ondernavigatie op telefoon, tablet én computer
   ======================================================================== */

/* Het oude brede menu bovenin verdwijnt overal. Merk/account blijven gewoon
   in de header staan; navigeren gebeurt vanaf nu consequent onderaan. */
.vsd-frontend-nav{display:none!important}

.vsd-frontend-main{
  padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;
}
.vsd-frontend-content>.vsd-wrap{
  margin-bottom:92px!important;
}

.vsd-mobile-bottom-nav{
  position:fixed;
  left:50%;
  right:auto;
  bottom:0;
  z-index:9998;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:stretch;
  gap:3px;
  width:min(960px,calc(100% - 38px));
  padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  border:1px solid #d9e3ed;
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:rgba(255,255,255,.97);
  box-shadow:0 -8px 30px rgba(16,47,87,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform:translateX(-50%);
}
.vsd-mobile-bottom-nav>a,
.vsd-mobile-bottom-nav>button{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  min-height:55px;
  padding:5px 4px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#6c7d90;
  text-decoration:none;
  font:inherit;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.vsd-mobile-bottom-nav>a:hover,
.vsd-mobile-bottom-nav>button:hover{
  background:#f2f6fa;
  color:#315b80;
}
.vsd-mobile-bottom-nav .dashicons{
  width:22px;
  height:22px;
  font-size:22px;
  line-height:22px;
}
.vsd-mobile-bottom-nav small{
  max-width:100%;
  overflow:hidden;
  color:inherit;
  font-size:9px;
  line-height:1.1;
  font-weight:780;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vsd-mobile-bottom-nav .is-active{
  color:#174f85;
  background:#edf5fd;
}
.vsd-mobile-bottom-nav .vsd-mobile-new{
  color:#fff;
  background:#153d70;
}
.vsd-mobile-bottom-nav .vsd-mobile-new:hover,
.vsd-mobile-bottom-nav .vsd-mobile-new.is-active{
  color:#fff;
  background:#0f315d;
}

/* Meer-menu is voortaan ook bruikbaar op tablet/computer. */
.vsd-mobile-more[hidden]{display:none!important}
.vsd-mobile-more{
  position:fixed;
  inset:0;
  z-index:10020;
  display:block;
}
.vsd-mobile-more-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  border:0;
  background:rgba(10,24,41,.42);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.vsd-mobile-more-sheet{
  position:absolute;
  left:50%;
  right:auto;
  bottom:calc(86px + env(safe-area-inset-bottom));
  width:min(680px,calc(100% - 36px));
  padding:15px;
  border:1px solid #dce5ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 70px rgba(10,30,55,.25);
  transform:translateX(-50%);
}
.vsd-mobile-more-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  padding:0 2px;
}
.vsd-mobile-more-head strong{font-size:16px;color:#1e3855}
.vsd-mobile-more-close{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#eff4f9;
  color:#36536f;
  cursor:pointer;
}
.vsd-mobile-more-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.vsd-mobile-more-grid a{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:54px;
  padding:10px 12px;
  border:1px solid #e0e8f0;
  border-radius:13px;
  background:#fafcff;
  color:#294966;
  text-decoration:none;
  font-size:11px;
  font-weight:750;
}
.vsd-mobile-more-grid a:hover{background:#f4f8fc;border-color:#cbdbe8}
.vsd-mobile-more-grid a.is-active{
  border-color:#a9cbe9;
  background:#edf6ff;
  color:#155a95;
}
.vsd-mobile-more-grid .dashicons{
  flex:0 0 auto;
  width:20px;
  height:20px;
  font-size:20px;
}
body.vsd-mobile-menu-open{overflow:hidden}

/* Tablet krijgt dezelfde dock, maar iets breder en met compactere header. */
@media(max-width:1024px){
  .vsd-mobile-bottom-nav{width:min(900px,calc(100% - 24px))}
  .vsd-frontend-header-inner{padding-bottom:12px}
  .vsd-mobile-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Telefoon houdt exact het vertrouwde volle-breedte gedrag. */
@media(max-width:600px){
  .vsd-mobile-bottom-nav{
    left:0;
    right:0;
    width:100%;
    padding:7px 5px calc(7px + env(safe-area-inset-bottom));
    border-left:0;
    border-right:0;
    border-radius:0;
    transform:none;
  }
  .vsd-mobile-bottom-nav>a,
  .vsd-mobile-bottom-nav>button{
    min-height:49px;
    gap:3px;
    padding:4px 2px;
  }
  .vsd-mobile-bottom-nav .dashicons{
    width:21px;
    height:21px;
    font-size:21px;
    line-height:21px;
  }
  .vsd-mobile-bottom-nav small{font-size:9px}
  .vsd-mobile-more-sheet{
    left:10px;
    right:10px;
    bottom:calc(76px + env(safe-area-inset-bottom));
    width:auto;
    transform:none;
  }
  .vsd-mobile-more-grid{grid-template-columns:1fr 1fr}
}

@media print{
  .vsd-mobile-bottom-nav,.vsd-mobile-more{display:none!important}
  .vsd-frontend-main{padding-bottom:0!important}
}

/* ========================================================================
   v3.13.1 · Profiel & vrienden responsive herstel
   ======================================================================== */
.vsd-profile-social-form{
  display:block!important;
  width:100%;
  min-width:0;
}
.vsd-profile-social-form .vsd-profile-photo-editor{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  width:100%;
  min-width:0;
  padding:12px;
  border:1px solid #e0e8ed;
  border-radius:12px;
  background:#f8fbfd;
}
.vsd-profile-social-form .vsd-profile-photo-preview{
  width:76px!important;
  height:76px!important;
}
.vsd-profile-social-form .vsd-profile-photo-preview .vsd-own-profile-photo{
  width:76px!important;
  height:76px!important;
  border-radius:14px;
  object-fit:cover;
}
.vsd-profile-social-form .vsd-profile-photo-editor>label{
  min-width:0!important;
  width:100%!important;
}
.vsd-profile-social-form .vsd-profile-photo-editor input[type=file]{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:7px!important;
  border-radius:9px!important;
}
.vsd-profile-social-form .vsd-profile-privacy{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:10px 0!important;
}
.vsd-profile-social-form .vsd-profile-check{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  padding:10px!important;
  margin:0!important;
  border:1px solid #dce7ed!important;
  border-radius:10px!important;
  background:#f9fbfc!important;
}
.vsd-profile-social-form .vsd-profile-check input[type=checkbox]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:1px 0 0!important;
  border-radius:4px!important;
  box-shadow:none!important;
}
.vsd-profile-social-form .vsd-profile-check>span{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  line-height:1.35!important;
}
.vsd-profile-social-form .vsd-profile-check>span strong{
  display:block!important;
  color:#41667c!important;
  font-size:11px!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.vsd-profile-social-form .vsd-profile-check>span small{
  display:block!important;
  margin-top:2px!important;
  color:#81939f!important;
  font-size:9px!important;
  line-height:1.4!important;
}
.vsd-profile-social-form>.button{
  width:auto!important;
  min-height:38px!important;
  margin-top:2px!important;
}

@media(max-width:1100px){
  .vsd-profile-page .vsd-profile-grid{
    grid-template-columns:1fr!important;
  }
  .vsd-profile-page .vsd-profile-password{
    grid-column:auto!important;
  }
}
@media(max-width:650px){
  .vsd-profile-social-form .vsd-profile-photo-editor{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  .vsd-profile-social-form .vsd-profile-photo-preview,
  .vsd-profile-social-form .vsd-profile-photo-preview .vsd-own-profile-photo{
    width:60px!important;
    height:60px!important;
  }
  .vsd-profile-social-form .vsd-profile-privacy{
    grid-template-columns:1fr!important;
  }
  .vsd-profile-social-form>.button{
    width:100%!important;
  }
}
@media(max-width:420px){
  .vsd-profile-social-form .vsd-profile-photo-editor{
    grid-template-columns:1fr!important;
  }
}

/* ========================================================================
   v3.13.3 · Rijkere portaalheader + Home-weer completer zichtbaar
   ======================================================================== */
.vsd-frontend-header{
  position:sticky;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(247,201,72,.18) 0,rgba(247,201,72,0) 24%),
    radial-gradient(circle at 85% 12%,rgba(98,157,221,.16) 0,rgba(98,157,221,0) 28%),
    linear-gradient(135deg,#0f2f57 0%,#133d6f 42%,#174a84 74%,#123861 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 34px rgba(12,34,61,.18)!important;
}
.vsd-frontend-header::before,
.vsd-frontend-header::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
  opacity:.45;
}
.vsd-frontend-header::before{
  width:340px;
  height:340px;
  top:-210px;
  right:-80px;
  background:radial-gradient(circle,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 70%);
}
.vsd-frontend-header::after{
  width:240px;
  height:240px;
  left:-90px;
  bottom:-160px;
  background:radial-gradient(circle,rgba(247,201,72,.18) 0%,rgba(247,201,72,0) 72%);
}
.vsd-frontend-header-inner{
  position:relative;
  z-index:1;
  padding-top:14px;
  padding-bottom:14px;
}
.vsd-frontend-logo{
  gap:12px;
}
.vsd-frontend-logo>div small{
  color:#d9e5f0;
}
.vsd-frontend-user{
  position:relative;
  z-index:1;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 24px rgba(8,25,44,.12);
}
.vsd-frontend-user strong{font-size:12.5px}
.vsd-frontend-user small{color:#d2deea}
.vsd-frontend-user>a,
.vsd-frontend-logout{
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.08)!important;
}
.vsd-frontend-user>a:hover,
.vsd-frontend-logout:hover{
  background:rgba(255,255,255,.16)!important;
}
.vsd-frontend-logo-mark{
  box-shadow:0 8px 18px rgba(9,30,56,.18);
}

@media(max-width:900px){
  .vsd-frontend-user{
    padding:6px 8px;
    border-radius:14px;
  }
}
@media(max-width:640px){
  .vsd-frontend-header::before{width:220px;height:220px;top:-150px;right:-80px}
  .vsd-frontend-header::after{width:180px;height:180px;left:-80px;bottom:-120px}
  .vsd-frontend-header-inner{padding-top:11px;padding-bottom:11px}
  .vsd-frontend-user{
    padding:5px 7px;
    background:rgba(255,255,255,.05);
  }
}

/* ========================================================================
   v3.13.4 · Portaalheader rustiger en minder massief blauw
   ======================================================================== */
.vsd-frontend-header{
  background:linear-gradient(180deg,#eaf1f8 0%,#dde8f3 100%)!important;
  padding:10px 18px 0;
  border-bottom:none;
  box-shadow:none!important;
}
.vsd-frontend-header::before,
.vsd-frontend-header::after{display:none!important}
.vsd-frontend-header-inner{
  max-width:1540px;
  margin:0 auto;
  padding:14px 20px!important;
  border-radius:24px 24px 0 0;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.10) 0,rgba(255,255,255,0) 28%),
    linear-gradient(135deg,#163d6c 0%,#1e4f87 58%,#285f98 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 34px rgba(18,49,84,.16), inset 0 1px 0 rgba(255,255,255,.08);
}
.vsd-frontend-logo strong{font-size:16px}
.vsd-frontend-logo>div small{color:#dce7f3}
.vsd-frontend-logo-mark{
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 18px rgba(9,30,56,.16);
}
.vsd-frontend-user{
  padding:7px 8px 7px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
}
.vsd-frontend-user strong{font-size:12.5px;letter-spacing:.01em}
.vsd-frontend-user small{color:#d7e3ee}
.vsd-frontend-user>a,
.vsd-frontend-logout{
  border-radius:12px!important;
  background:rgba(255,255,255,.11)!important;
}
.vsd-frontend-user>a:hover,
.vsd-frontend-logout:hover{
  background:rgba(255,255,255,.19)!important;
}

@media(max-width:1024px){
  .vsd-frontend-header{padding:8px 12px 0}
  .vsd-frontend-header-inner{padding:12px 14px!important;border-radius:20px 20px 0 0}
}
@media(max-width:640px){
  .vsd-frontend-header{padding:6px 8px 0}
  .vsd-frontend-header-inner{padding:10px 12px!important;border-radius:18px 18px 0 0}
  .vsd-frontend-user{padding:5px 7px;background:rgba(255,255,255,.08)}
}


/* v3.13.5 · snelle dienst in het medewerkersportaal op telefoon */
@media(max-width:782px){
  .vsd-frontend-content .vsd-quick-service-card,
  .vsd-frontend-content .vsd-quick-service-form,
  .vsd-frontend-content .vsd-quick-service-form>*{
    max-width:100%!important;
  }
  .vsd-frontend-content .vsd-quick-service-form{
    overflow:visible!important;
  }
  .vsd-frontend-content .vsd-today-quick-add[open]{
    overflow:visible!important;
  }
  .vsd-frontend-content .vsd-today-quick-body{
    overflow:hidden!important;
    border-radius:0 0 12px 12px!important;
  }
}


/* ========================================================================
   v3.13.6 · Vriendenprofiel, ritgeschiedenis en gezamenlijke momenten
   ======================================================================== */
.vsd-friend-profile{
  margin-top:14px;
  border:1px solid #d7e4ec;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(32,71,99,.05);
}
.vsd-friend-profile-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f7fbfe,#eef6fb);
  border-bottom:1px solid #e1e9ee;
}
.vsd-friend-profile-person{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.vsd-friend-profile-person>.vsd-own-profile-photo{
  width:84px!important;height:84px!important;flex:0 0 84px;
  border-radius:22px!important;object-fit:cover;
  box-shadow:0 5px 16px rgba(30,72,102,.10);
}
.vsd-friend-profile-person h2{
  margin:2px 0 3px;color:#244d68;font-size:24px;line-height:1.15;
}
.vsd-friend-profile-person p{margin:0;color:#728896}
.vsd-friend-profile-badges{
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;
}
.vsd-friend-profile-badges>span{
  display:inline-flex;align-items:center;gap:5px;padding:6px 9px;
  border-radius:999px;background:#eaf7ef;color:#2d7652;font-size:10px;font-weight:800;
}
.vsd-friend-profile-badges>span.private{background:#f1f3f5;color:#687985}
.vsd-friend-profile-badges .dashicons{width:14px;height:14px;font-size:14px}
.vsd-friend-profile-stats{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;
  padding:12px 14px;border-bottom:1px solid #e7edf1;background:#fbfdff;
}
.vsd-friend-profile-stats>div{
  min-width:0;padding:10px 11px;border:1px solid #e0e8ed;border-radius:11px;background:#fff;
}
.vsd-friend-profile-stats small,.vsd-friend-profile-stats strong,.vsd-friend-profile-stats span{display:block}
.vsd-friend-profile-stats small{color:#7c909d;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.vsd-friend-profile-stats strong{margin-top:3px;color:#285775;font-size:19px}
.vsd-friend-profile-stats span{margin-top:1px;color:#8898a2;font-size:8px}
.vsd-friend-profile-stats .delay strong{color:#ae4b41}
.vsd-friend-profile-stats .meet strong{color:#287753}
.vsd-friend-profile-stats .passing strong{color:#745d9b}
.vsd-friend-profile-grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;padding:14px;
}
.vsd-friend-profile-section{
  min-width:0;border:1px solid #e0e8ed;border-radius:14px;background:#fbfdff;overflow:hidden;
}
.vsd-friend-profile-section-head{
  padding:12px 13px;border-bottom:1px solid #e5ebef;background:#fff;
}
.vsd-friend-profile-section-head h3{margin:2px 0 3px;color:#2c5872;font-size:15px}
.vsd-friend-profile-section-head p{margin:0;color:#7c8f9c;font-size:9px;line-height:1.45}
.vsd-friend-history{display:grid;gap:6px;padding:8px}
.vsd-friend-history-service{
  border:1px solid #dfe8ed;border-radius:10px;background:#fff;overflow:hidden;
}
.vsd-friend-history-service>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 10px;cursor:pointer;list-style:none;
}
.vsd-friend-history-service>summary::-webkit-details-marker{display:none}
.vsd-friend-history-service>summary div:first-child{min-width:0}
.vsd-friend-history-service>summary small,.vsd-friend-history-service>summary strong,.vsd-friend-history-service>summary span{display:block}
.vsd-friend-history-service>summary small{color:#82939f;font-size:7px;font-weight:850}
.vsd-friend-history-service>summary strong{margin-top:2px;color:#315c76;font-size:11px}
.vsd-friend-history-service>summary span{color:#82939f;font-size:8px}
.vsd-friend-history-summary-stats{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.vsd-friend-history-summary-stats>span,.vsd-friend-history-summary-stats>mark{
  padding:3px 6px;border-radius:999px;background:#f0f4f7;color:#6c8190;
  font-size:7px;font-weight:800;text-decoration:none;
}
.vsd-friend-history-summary-stats>mark{background:#fff0ed;color:#b64d42}
.vsd-friend-history-summary-stats .dashicons{width:15px;height:15px;font-size:15px;color:#718796;transition:transform .15s ease}
.vsd-friend-history-service[open] .vsd-friend-history-summary-stats .dashicons{transform:rotate(180deg)}
.vsd-friend-history-items{display:grid;border-top:1px solid #edf1f3}
.vsd-friend-history-row{
  display:grid;grid-template-columns:100px 22px minmax(0,1fr) auto;align-items:center;
  gap:8px;min-height:48px;padding:7px 10px;border-top:1px solid #eef2f4;
}
.vsd-friend-history-row:first-child{border-top:0}
.vsd-friend-history-row>.time{
  display:flex;align-items:center;gap:4px;color:#54718a;font-size:8px;font-variant-numeric:tabular-nums;
}
.vsd-friend-history-row>.time i{font-style:normal;color:#a0adb6}
.vsd-friend-history-row>.dashicons{color:#5e87a1}
.vsd-friend-history-row>div:nth-child(3){min-width:0}
.vsd-friend-history-row>div:nth-child(3) strong,.vsd-friend-history-row>div:nth-child(3) small{display:block}
.vsd-friend-history-row>div:nth-child(3) strong{color:#315970;font-size:9px;overflow-wrap:anywhere}
.vsd-friend-history-row>div:nth-child(3) small{margin-top:1px;color:#8998a1;font-size:7px}
.vsd-friend-history-row .status{text-align:right}
.vsd-friend-history-row .status mark,.vsd-friend-history-row .status>span{
  display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef7f2;color:#347457;
  font-size:7px;font-weight:850;text-decoration:none;
}
.vsd-friend-history-row .status mark{background:#fff0ed;color:#b24a40}
.vsd-friend-history-row .status mark.cancelled{background:#fbeceb;color:#9f3731}
.vsd-friend-history-row .status small{display:block;margin-top:2px;color:#8d9ba4;font-size:6.5px}
.vsd-friend-profile-encounters{display:grid;gap:6px;padding:8px}
.vsd-friend-profile-encounters article{
  display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:9px;
  border:1px solid #dfe8ed;border-radius:10px;background:#fff;
}
.vsd-friend-profile-encounters article>.dashicons{
  display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf5fa;color:#36769d;
}
.vsd-friend-profile-encounters article.type-train>.dashicons{background:#e8f6ee;color:#337957}
.vsd-friend-profile-encounters article.type-passing>.dashicons{background:#f1edf8;color:#705899}
.vsd-friend-profile-encounters small,.vsd-friend-profile-encounters strong,.vsd-friend-profile-encounters p,.vsd-friend-profile-encounters div>span{display:block}
.vsd-friend-profile-encounters small{color:#8a9aa4;font-size:7px}
.vsd-friend-profile-encounters strong{margin-top:1px;color:#355d75;font-size:9px}
.vsd-friend-profile-encounters p{margin:2px 0;color:#758a97;font-size:8px;line-height:1.35}
.vsd-friend-profile-encounters div>span{color:#82939f;font-size:7px}
.vsd-friend-profile-locked{
  display:flex;align-items:flex-start;gap:10px;margin:14px;padding:12px;
  border:1px solid #e2e8ec;border-radius:12px;background:#f8fafb;
}
.vsd-friend-profile-locked>.dashicons{color:#728692}
.vsd-friend-profile-locked strong,.vsd-friend-profile-locked p{display:block}
.vsd-friend-profile-locked strong{color:#526b7a}
.vsd-friend-profile-locked p{margin:2px 0 0;color:#81919b;font-size:9px}
.vsd-friend-encounters article.type-passing{background:#f5f1fa;border-color:#e4dcef}
.vsd-friend-encounters article.type-passing .dashicons{color:#745c99}

@media(max-width:1050px){
  .vsd-friend-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vsd-friend-profile-grid{grid-template-columns:1fr}
}
@media(max-width:782px){
  .vsd-friend-profile{margin-top:10px;border-radius:14px}
  .vsd-friend-profile-hero{align-items:flex-start;padding:12px;gap:10px}
  .vsd-friend-profile-person{gap:10px}
  .vsd-friend-profile-person>.vsd-own-profile-photo{
    width:58px!important;height:58px!important;flex-basis:58px;border-radius:16px!important;
  }
  .vsd-friend-profile-person h2{font-size:17px}
  .vsd-friend-profile-person p{font-size:9px}
  .vsd-friend-profile-badges{display:none}
  .vsd-friend-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px}
  .vsd-friend-profile-stats>div{padding:8px}
  .vsd-friend-profile-stats strong{font-size:16px}
  .vsd-friend-profile-grid{padding:8px;gap:8px}
  .vsd-friend-history-row{grid-template-columns:76px 19px minmax(0,1fr);gap:5px;padding:7px 8px}
  .vsd-friend-history-row .status{grid-column:3;text-align:left}
}
@media(max-width:480px){
  .vsd-friend-history-service>summary{align-items:flex-start}
  .vsd-friend-history-summary-stats>span:first-child{display:none}
  .vsd-friend-history-row{grid-template-columns:68px 18px minmax(0,1fr)}
}
/* v3.14.2 · inklapbaar zoeken en zelfstandig sociaal vriendenprofiel */
.vsd-friend-search-disclosure{overflow:hidden;padding:0!important}
.vsd-friend-search-disclosure>summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto 24px;align-items:center;gap:12px;padding:18px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#fff,#f4f9fd)}
.vsd-friend-search-disclosure>summary::-webkit-details-marker{display:none}
.vsd-friend-search-disclosure>summary h2{margin:2px 0 3px;color:#234f6c;font-size:18px}
.vsd-friend-search-disclosure>summary p{margin:0;color:#728896;font-size:11px}
.vsd-friend-search-disclosure>summary small{color:#3d7ca5;font-size:8px;font-weight:900;letter-spacing:.09em}
.vsd-friend-search-summary-icon{display:grid!important;place-items:center;width:44px!important;height:44px!important;border-radius:14px;background:#e5f2fb;color:#276e9d;font-size:22px!important;line-height:44px!important}
.vsd-friend-search-disclosure>summary>i{color:#698395;transition:transform .2s ease}
.vsd-friend-search-disclosure[open]>summary>i{transform:rotate(180deg)}
.vsd-friend-search-disclosure[open]>summary{border-bottom:1px solid #e1ebf2}
.vsd-friend-search-content{padding:16px;background:#fff}
.vsd-friend-card span em{display:block;margin-top:5px;color:#337ca9;font-size:9px;font-style:normal;font-weight:800}

.vsd-social-profile-page{display:grid;gap:14px;max-width:1180px;margin:14px auto 0}
.vsd-social-profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6f8391;font-size:11px;font-weight:750}
.vsd-social-profile-toolbar .button{display:inline-flex;align-items:center;gap:5px}
.vsd-social-profile-toolbar .dashicons{width:17px;height:17px;font-size:17px}
.vsd-social-profile-page .vsd-friend-profile{margin:0;border:1px solid #dce6ed;border-radius:22px;background:#f3f6f8;box-shadow:0 18px 55px rgba(28,65,88,.13)}
.vsd-social-profile-page .vsd-friend-profile-hero{position:relative;display:flex;min-height:245px;align-items:flex-end;padding:124px 26px 22px;overflow:hidden;border-radius:21px 21px 0 0;background:linear-gradient(125deg,#123e67 0%,#1d6d9e 48%,#78b9d4 100%)}
.vsd-social-profile-page .vsd-friend-profile-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 8%,rgba(255,255,255,.3),transparent 28%),linear-gradient(0deg,rgba(5,28,48,.35),transparent 65%)}
.vsd-social-profile-page .vsd-friend-profile-person,.vsd-social-profile-page .vsd-friend-profile-badges{position:relative;z-index:1}
.vsd-social-profile-page .vsd-friend-profile-person{align-items:flex-end}
.vsd-social-profile-page .vsd-friend-profile-person>.vsd-own-profile-photo,.vsd-social-profile-page .vsd-friend-profile-person>.avatar{width:112px!important;height:112px!important;border:5px solid #fff;border-radius:999px;box-shadow:0 8px 25px rgba(0,0,0,.22);object-fit:cover}
.vsd-social-profile-page .vsd-friend-profile-person h2{margin:4px 0 2px;color:#fff;font-size:28px;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.vsd-social-profile-page .vsd-friend-profile-person p,.vsd-social-profile-page .vsd-friend-profile-person .vsd-kicker{color:rgba(255,255,255,.88)}
.vsd-social-profile-page .vsd-friend-profile-badges>span{background:rgba(255,255,255,.94);box-shadow:0 5px 15px rgba(0,0,0,.12)}
.vsd-social-profile-page .vsd-friend-profile-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px 18px;border-bottom:1px solid #dde6ec;background:#fff}
.vsd-social-profile-page .vsd-friend-profile-stats>div{padding:13px;border:1px solid #e3ebf0;border-radius:14px;background:#f9fbfc}
.vsd-social-profile-page .vsd-friend-profile-stats small{font-size:8px}.vsd-social-profile-page .vsd-friend-profile-stats strong{font-size:23px}.vsd-social-profile-page .vsd-friend-profile-stats span{font-size:9px}
.vsd-social-profile-page .vsd-friend-profile-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:14px;padding:14px}
.vsd-social-profile-page .vsd-friend-profile-section{overflow:hidden;border:1px solid #dee7ed;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(33,70,94,.06)}
.vsd-social-profile-page .vsd-friend-profile-section-head{padding:16px 17px 12px;border-bottom:1px solid #edf1f4}
.vsd-social-profile-page .vsd-friend-profile-section-head h3{font-size:17px}.vsd-social-profile-page .vsd-friend-profile-section-head p{font-size:10px}
.vsd-social-profile-page .vsd-friend-history,.vsd-social-profile-page .vsd-friend-profile-encounters{padding:12px}
.vsd-social-profile-page .vsd-friend-history-service>summary{padding:11px 12px}.vsd-social-profile-page .vsd-friend-history-service>summary small{font-size:8px}.vsd-social-profile-page .vsd-friend-history-service>summary strong{font-size:12px}.vsd-social-profile-page .vsd-friend-history-service>summary span{font-size:9px}
.vsd-social-profile-page .vsd-friend-history-row{padding:10px 12px}.vsd-social-profile-page .vsd-friend-history-row>div:nth-child(3) strong{font-size:10px}.vsd-social-profile-page .vsd-friend-history-row>div:nth-child(3) small{font-size:8px}
.vsd-social-profile-page .vsd-friend-profile-encounters article{padding:10px}.vsd-social-profile-page .vsd-friend-profile-encounters strong{font-size:10px}.vsd-social-profile-page .vsd-friend-profile-encounters p{font-size:9px}.vsd-social-profile-page .vsd-friend-profile-encounters small,.vsd-social-profile-page .vsd-friend-profile-encounters div>span{font-size:8px}
.vsd-social-profile-page>.vsd-friends-manage{padding:0 4px 5px}

@media(max-width:900px){.vsd-social-profile-page .vsd-friend-profile-grid{grid-template-columns:1fr}.vsd-social-profile-page .vsd-friend-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.vsd-friend-search-disclosure>summary{grid-template-columns:38px minmax(0,1fr) auto;padding:13px;gap:9px}.vsd-friend-search-disclosure>summary>i{display:none}.vsd-friend-search-summary-icon{width:38px!important;height:38px!important;border-radius:12px;line-height:38px!important}.vsd-friend-search-content{padding:11px}.vsd-social-profile-toolbar{align-items:flex-start;flex-direction:column-reverse}.vsd-social-profile-toolbar>span{padding-left:2px}.vsd-social-profile-page .vsd-friend-profile{border-radius:16px}.vsd-social-profile-page .vsd-friend-profile-hero{min-height:215px;padding:100px 14px 16px;border-radius:15px 15px 0 0}.vsd-social-profile-page .vsd-friend-profile-person>.vsd-own-profile-photo,.vsd-social-profile-page .vsd-friend-profile-person>.avatar{width:82px!important;height:82px!important;border-width:4px}.vsd-social-profile-page .vsd-friend-profile-person h2{font-size:20px}.vsd-social-profile-page .vsd-friend-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.vsd-social-profile-page .vsd-friend-profile-grid{padding:9px;gap:9px}}
/* v3.14.3 · compact Facebook-achtig vriendenprofiel */
.vsd-friend-profile-about{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #e0e8ed;background:#fff}
.vsd-friend-profile-about>div{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 18px;border-right:1px solid #e8eef2}
.vsd-friend-profile-about>div:last-child{border-right:0}
.vsd-friend-profile-about>div>.dashicons{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#eaf3f9;color:#286b96;font-size:18px;line-height:34px}
.vsd-friend-profile-about p,.vsd-friend-profile-about small,.vsd-friend-profile-about strong{display:block;min-width:0;margin:0}
.vsd-friend-profile-about small{color:#8294a0;font-size:7.5px;font-weight:900;letter-spacing:.07em}
.vsd-friend-profile-about strong{margin-top:2px;overflow:hidden;color:#315970;font-size:11px;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:600px){
  .vsd-social-profile-page{gap:9px;margin-top:8px}
  .vsd-social-profile-page .vsd-friend-profile-hero{min-height:148px;padding:58px 12px 12px}
  .vsd-social-profile-page .vsd-friend-profile-person{align-items:center;gap:9px}
  .vsd-social-profile-page .vsd-friend-profile-person>.vsd-own-profile-photo,
  .vsd-social-profile-page .vsd-friend-profile-person>.avatar{width:62px!important;height:62px!important;flex:0 0 62px!important;border-width:3px}
  .vsd-social-profile-page .vsd-friend-profile-person h2{margin:1px 0;font-size:17px;line-height:1.12}
  .vsd-social-profile-page .vsd-friend-profile-person p{font-size:8px}
  .vsd-social-profile-page .vsd-friend-profile-person .vsd-kicker{font-size:7px;letter-spacing:.09em}
  .vsd-friend-profile-about{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px}
  .vsd-friend-profile-about>div{gap:6px;padding:7px 6px;border:0}
  .vsd-friend-profile-about>div:last-child{grid-column:1/-1;border-top:1px solid #edf1f4}
  .vsd-friend-profile-about>div>.dashicons{flex-basis:27px;width:27px;height:27px;border-radius:8px;font-size:15px;line-height:27px}
  .vsd-friend-profile-about small{font-size:6px}.vsd-friend-profile-about strong{font-size:8.5px}
  .vsd-social-profile-page .vsd-friend-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px}
  .vsd-social-profile-page .vsd-friend-profile-stats>div{min-height:54px;padding:6px 7px;border-radius:9px}
  .vsd-social-profile-page .vsd-friend-profile-stats small{font-size:5.8px;line-height:1.15;letter-spacing:.025em}
  .vsd-social-profile-page .vsd-friend-profile-stats strong{margin-top:1px;font-size:15px;line-height:1.05}
  .vsd-social-profile-page .vsd-friend-profile-stats span{font-size:6.5px;line-height:1.15}
  .vsd-social-profile-page .vsd-friend-profile-grid{padding:6px;gap:6px}
  .vsd-social-profile-page .vsd-friend-profile-section{border-radius:11px}
  .vsd-social-profile-page .vsd-friend-profile-section-head{padding:10px}
  .vsd-social-profile-page .vsd-friend-profile-section-head h3{margin:1px 0 2px;font-size:13px}
  .vsd-social-profile-page .vsd-friend-profile-section-head p{font-size:8px;line-height:1.35}
  .vsd-social-profile-page .vsd-friend-history,.vsd-social-profile-page .vsd-friend-profile-encounters{gap:4px;padding:6px}
  .vsd-social-profile-page .vsd-friend-history-service{border-radius:8px}
  .vsd-social-profile-page .vsd-friend-history-service>summary{padding:7px 8px}
  .vsd-social-profile-page .vsd-friend-history-service>summary small{font-size:6.5px}
  .vsd-social-profile-page .vsd-friend-history-service>summary strong{font-size:9.5px}
  .vsd-social-profile-page .vsd-friend-history-service>summary span{font-size:7px}
  .vsd-social-profile-page .vsd-friend-history-summary-stats>span,
  .vsd-social-profile-page .vsd-friend-history-summary-stats>mark{padding:3px 5px;font-size:6.5px}
  .vsd-social-profile-page .vsd-friend-history-row{padding:6px 7px}
}
/* v3.14.4 · gemeenschappelijke vrienden, eigen profiel en betere avatars */
.vsd-own-social-profile-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.14);color:#fff!important;text-decoration:none;font-size:9px;font-weight:850;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.vsd-own-social-profile-link:hover{background:rgba(255,255,255,.23)}
.vsd-own-social-profile-link .dashicons{width:16px;height:16px;font-size:16px}
.vsd-letter-avatar{display:grid!important;place-items:center!important;overflow:hidden;border-radius:999px;background:linear-gradient(145deg,#dcebf5,#b7d4e6);color:#1f587d;font-weight:900;line-height:1!important;text-align:center}
.vsd-social-profile-avatar,.vsd-social-profile-page .vsd-friend-profile-person>img{display:block!important;overflow:hidden!important;border-radius:999px!important;object-fit:cover!important;object-position:50% 50%!important;background:#dceaf3;color:#20587c}
.vsd-mutual-friends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}
.vsd-mutual-friends>a{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #e2e9ee;border-radius:11px;background:#fafcfd;color:inherit;text-decoration:none;transition:background .15s ease,border-color .15s ease}
.vsd-mutual-friends>a:hover{border-color:#bdd7e7;background:#f0f8fc}
.vsd-mutual-friends .vsd-own-profile-photo,.vsd-mutual-friends .avatar{display:grid!important;place-items:center!important;flex:0 0 38px;width:38px!important;height:38px!important;border-radius:999px!important;object-fit:cover!important;object-position:center!important}
.vsd-mutual-friends>a>span{min-width:0}.vsd-mutual-friends strong,.vsd-mutual-friends small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsd-mutual-friends strong{color:#315970;font-size:9px}.vsd-mutual-friends small{margin-top:2px;color:#84949e;font-size:7px}
.vsd-mutual-friends-empty{display:flex;align-items:center;gap:9px;margin:10px;padding:10px;border:1px dashed #d7e2e9;border-radius:11px;background:#fafcfd;color:#718895}
.vsd-mutual-friends-empty>.dashicons{color:#5d85a0}.vsd-mutual-friends-empty strong,.vsd-mutual-friends-empty small{display:block}.vsd-mutual-friends-empty strong{color:#48697e;font-size:9px}.vsd-mutual-friends-empty small{font-size:7px}
.vsd-encounter-subhead{border-top:1px solid #e5ebef}
.vsd-mutual-only{margin:12px}
.vsd-friend-profile-stats.is-own-profile .passing strong{font-size:14px;line-height:1.4}

@media(max-width:600px){.vsd-own-social-profile-link{margin-top:7px;padding:5px 8px;font-size:7.5px}.vsd-mutual-friends{grid-template-columns:1fr;padding:6px}.vsd-mutual-friends>a{padding:6px}.vsd-mutual-friends .vsd-own-profile-photo,.vsd-mutual-friends .avatar{flex-basis:32px;width:32px!important;height:32px!important}.vsd-mutual-friends strong{font-size:8px}.vsd-mutual-friends small{font-size:6.5px}.vsd-friend-profile-stats.is-own-profile .passing strong{font-size:10px}.vsd-mutual-only{margin:7px}}

/* v3.15.0 · compacter Mijn dienst + uitval direct registreren */
.vsd-myday-cancel-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:999px;background:#fee4e2;color:#b42318;font-size:8px;font-weight:900;text-transform:uppercase}
.vsd-myday-ride.is-cancelled,.vsd-myday-ride.is-partially-cancelled{border-color:#efb9b3;background:#fffafa}
.vsd-myday-cancellation-reason{display:block;margin-top:2px;color:#a2443b!important;font-weight:750}
.vsd-myday-ride-buttons .dashicons{width:15px;height:15px;font-size:15px}
.vsd-myday-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vsd-myday-quick-grid>.vsd-myday-quick[open]{grid-column:1/-1}
.vsd-myday-cancellation>summary>.dashicons:first-child{color:#b44c42}
.vsd-myday-cancellation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.vsd-myday-cancellation-form label{display:grid;gap:4px}
.vsd-myday-cancellation-form label>span{color:#6e8797;font-size:9px;font-weight:850}
.vsd-myday-cancellation-form select,.vsd-myday-cancellation-form input,.vsd-myday-cancellation-form textarea{width:100%;min-height:36px;border:1px solid #d8c9c7;border-radius:8px;background:#fff}
.vsd-myday-cancellation-station small{color:#8294a0;font-size:7px;line-height:1.35}
.vsd-myday-cancellation-reason-field,.vsd-myday-cancellation-form .vsd-myday-form-actions{grid-column:1/-1}
.vsd-myday-cancellation-form [hidden]{display:none!important}

@media(max-width:600px){
  .vsd-myday-page{gap:6px!important}
  .vsd-myday-hero{display:grid!important;gap:6px!important;padding:8px!important;border-radius:11px!important}
  .vsd-myday-hero>div:first-child>span{font-size:7px!important}
  .vsd-myday-hero h1{margin:1px 0!important;font-size:16px!important;line-height:1.15}
  .vsd-myday-hero-stats{gap:3px!important}
  .vsd-myday-hero-stats>span{padding:3px 2px!important;border-radius:7px!important}
  .vsd-myday-hero-stats strong{font-size:12px!important;line-height:1.15}
  .vsd-myday-hero-stats small{font-size:6px!important;line-height:1.15}
  .vsd-myday-service{padding:5px!important;border-radius:9px!important}
  .vsd-myday-service-head{align-items:center!important;margin:0 1px 5px!important;gap:6px!important}
  .vsd-myday-service-head small{font-size:6.5px!important}
  .vsd-myday-service-head h2{margin:0!important;font-size:13px!important;line-height:1.15}
  .vsd-myday-service-head p{margin:1px 0 0!important;font-size:8px!important}
  .vsd-myday-state{padding:4px 7px!important;font-size:8px!important}
  .vsd-myday-rides{gap:5px!important}
  .vsd-myday-ride{border-radius:8px!important}
  .vsd-myday-ride-summary{
    grid-template-columns:22px minmax(0,1fr) auto!important;
    grid-template-areas:"order time buttons" "order main main"!important;
    align-items:start!important;gap:2px 6px!important;padding:5px 6px!important
  }
  .vsd-myday-ride-order{grid-area:order;width:22px!important;height:22px!important;border-radius:6px!important;font-size:9px!important}
  .vsd-myday-ride-time{grid-area:time!important;display:flex!important;align-items:center;min-height:22px}
  .vsd-myday-ride-time strong{font-size:9px!important}
  .vsd-myday-ride-main{grid-area:main!important;padding:0!important}
  .vsd-myday-ride-main>div{gap:3px!important}
  .vsd-myday-ride-main>strong{display:inline!important;margin:0 5px 0 0!important;font-size:12px!important}
  .vsd-myday-ride-main p{display:inline!important;font-size:8px!important}
  .vsd-myday-ride-main small{font-size:7px!important;line-height:1.2}
  .vsd-myday-type,.vsd-myday-delay-badge,.vsd-myday-now,.vsd-myday-cancel-badge{min-height:16px;padding:1px 4px;font-size:6.5px}
  .vsd-myday-ride-buttons{grid-area:buttons!important;padding:0!important;align-self:start!important}
  .vsd-myday-ride-buttons .button{display:inline-flex;align-items:center;gap:2px;min-height:23px!important;padding:2px 5px!important;font-size:7.5px!important}
  .vsd-myday-ride-buttons .dashicons{width:12px;height:12px;font-size:12px}
  .vsd-myday-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;padding:0 5px 4px!important}
  .vsd-myday-quick-grid>.vsd-myday-quick[open]{grid-column:1/-1}
  .vsd-myday-quick{border-radius:7px!important}
  .vsd-myday-quick>summary{min-height:34px;padding:4px!important;grid-template-columns:15px minmax(0,1fr)!important;gap:3px!important}
  .vsd-myday-quick>summary>.dashicons:first-child{width:15px;height:15px;font-size:15px}
  .vsd-myday-quick>summary span strong{font-size:7.5px!important;line-height:1.1}
  .vsd-myday-quick>summary span small,.vsd-myday-quick>summary>span:last-child{display:none!important}
  .vsd-myday-danger{padding:0 5px 4px!important}
  .vsd-myday-danger .button{min-height:22px!important;padding:1px 5px!important;font-size:7px!important}
  .vsd-myday-cancellation-form{grid-template-columns:1fr;padding:7px;gap:6px}
  .vsd-myday-cancellation-reason-field,.vsd-myday-cancellation-form .vsd-myday-form-actions{grid-column:1}
  .vsd-myday-cancellation-form select,.vsd-myday-cancellation-form input,.vsd-myday-cancellation-form textarea{min-height:32px;font-size:11px}
  .vsd-myday-service-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important}
  .vsd-myday-service-actions .button{min-height:27px!important;padding:3px!important;font-size:7px!important}
}

/* v3.15.2 · Snel vertraging op telefoon compact en overzichtelijk */
.vsd-myday-delay-mobile-actions{display:none}

@media(max-width:600px){
  .vsd-myday-delay-form{padding:6px!important}
  .vsd-myday-delay-form .vsd-myday-main-delay{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .vsd-myday-main-delay>label{
    min-width:0;
    padding:6px;
    gap:3px!important;
    border:1px solid #dce8ef;
    border-radius:8px;
    background:linear-gradient(145deg,#f8fbfd,#f1f7fa);
  }
  .vsd-myday-main-delay>label>span{
    overflow:hidden;
    font-size:7.5px!important;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .vsd-myday-main-delay>label>div,
  .vsd-myday-route-delay-row>label>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 29px;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    overflow:hidden;
    border:1px solid #cbdde8;
    border-radius:7px;
    background:#fff;
  }
  .vsd-myday-main-delay input[type=number],
  .vsd-myday-route-delay-row input[type=number]{
    width:100%!important;
    min-width:0!important;
    min-height:32px!important;
    margin:0!important;
    padding:3px 7px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .vsd-myday-main-delay em,
  .vsd-myday-route-delay-row em{
    display:grid;
    place-items:center;
    min-width:29px;
    padding:0 4px;
    border-left:1px solid #dbe7ee;
    background:#eef5f9;
    color:#6e8797;
    font-size:7px!important;
    font-weight:850;
    line-height:1;
    white-space:nowrap;
  }
  .vsd-myday-main-delay>label>small{
    display:block;
    margin-top:1px;
    padding:3px 5px;
    overflow:hidden;
    border-radius:5px;
    background:#eaf3f8;
    color:#53758a!important;
    font-size:7px!important;
    font-weight:800;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .vsd-myday-delay-mobile-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    margin-top:6px;
    padding:5px 6px;
    border:1px solid #cfe0eb;
    border-radius:8px;
    background:#f4f9fc;
  }
  .vsd-myday-delay-mobile-actions>span{
    color:#6f8797;
    font-size:7px;
    font-weight:800;
  }
  .vsd-myday-delay-mobile-actions .button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:28px!important;
    padding:3px 8px!important;
    font-size:8px!important;
    white-space:nowrap;
  }
  .vsd-myday-delay-mobile-actions .dashicons{
    width:13px;
    height:13px;
    font-size:13px;
  }
  .vsd-myday-route-delays{
    gap:5px!important;
    margin-top:7px!important;
    padding-top:7px!important;
  }
  .vsd-myday-route-delay-head{
    flex-direction:row!important;
    align-items:center!important;
    gap:6px!important;
  }
  .vsd-myday-route-delay-head strong{font-size:9px!important}
  .vsd-myday-route-delay-head span{
    max-width:64%;
    margin-left:auto;
    font-size:6.5px!important;
    line-height:1.25;
    text-align:right;
  }
  .vsd-myday-route-delay-row,
  .vsd-myday-route-delay-row.type-pass{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "station station"
      "plan actual"
      "delay-arrival delay-departure";
    gap:4px!important;
    align-items:stretch!important;
    padding:6px!important;
    border-radius:8px!important;
    background:#f9fbfc!important;
  }
  .vsd-myday-route-delay-row.type-pass{
    grid-template-areas:
      "station station"
      "plan actual"
      "delay-pass delay-pass";
  }
  .vsd-myday-route-delay-row>.vsd-myday-route-station{
    grid-area:station!important;
    grid-column:auto!important;
    gap:5px!important;
    min-height:23px;
    padding-bottom:4px;
    border-bottom:1px solid #e3ebf0;
  }
  .vsd-myday-route-station>span{
    display:grid;
    place-items:center;
    flex:0 0 18px;
    width:18px;
    height:18px;
    border-radius:999px;
    background:#e8f2f7;
    color:#4e7b96;
    font-size:7px;
  }
  .vsd-myday-route-delay-row.type-pass .vsd-myday-route-station>span{
    background:#f0ebf8;
    color:#76599a;
  }
  .vsd-myday-route-station strong{font-size:8.5px!important;line-height:1.15}
  .vsd-myday-route-station small{font-size:6.5px!important;line-height:1.1}
  .vsd-myday-route-delay-row>.vsd-myday-route-clock{
    grid-area:plan!important;
    grid-column:auto!important;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:4px;
    min-width:0;
    padding:4px 6px;
    border-radius:6px;
    background:#eef4f7;
  }
  .vsd-myday-route-delay-row>.vsd-myday-route-clock.actual{
    grid-area:actual!important;
    grid-column:auto!important;
    background:#e8f5fb;
  }
  .vsd-myday-route-clock small{
    font-size:6px!important;
    line-height:1;
    white-space:nowrap;
  }
  .vsd-myday-route-clock strong{
    overflow:hidden;
    font-size:8.5px!important;
    line-height:1.1;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .vsd-myday-route-delay-row>label{
    grid-column:auto!important;
    min-width:0;
    gap:2px!important;
  }
  .vsd-myday-route-delay-row>label:nth-of-type(1){grid-area:delay-arrival!important}
  .vsd-myday-route-delay-row>label:nth-of-type(2){grid-area:delay-departure!important}
  .vsd-myday-route-delay-row.type-pass>label:nth-of-type(1){grid-area:delay-pass!important}
  .vsd-myday-route-delay-row>label>span{
    font-size:7px!important;
    line-height:1.15;
  }
  .vsd-myday-delay-form>.vsd-myday-form-actions{
    margin-top:6px!important;
  }
  .vsd-myday-delay-form>.vsd-myday-form-actions .button{
    display:inline-flex;
    align-items:center;
    width:100%;
    min-height:32px!important;
    justify-content:center;
    font-size:9px!important;
  }
}

/* v3.16.1 · Treinnummer + datum zoeken op Home */
.vsd-home-train-search{margin:20px 0;padding:22px;border:1px solid #dce5ef;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(16,47,87,.06)}
.vsd-home-train-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.vsd-home-train-search-head h2{margin:3px 0 5px;font-size:24px;line-height:1.15;color:#102f57}
.vsd-home-train-search-head p{margin:0;max-width:760px;color:#617084}
.vsd-home-train-search-head>.dashicons{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eef5fb;color:#102f57;font-size:24px;line-height:48px}
.vsd-home-train-search-form{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,.8fr) auto;align-items:end;gap:12px;padding:14px;border-radius:17px;background:#f5f8fb}
.vsd-home-train-search-form label{display:flex;flex-direction:column;gap:6px;margin:0;font-weight:700;color:#2c4159}
.vsd-home-train-search-form label>span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.vsd-home-train-search-form input{width:100%;min-height:44px;border:1px solid #cbd8e5;border-radius:11px;background:#fff;padding:8px 11px;font-size:16px}
.vsd-home-train-search-form .button{min-height:44px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 18px}
.vsd-home-train-search-form .button .dashicons{font-size:18px;width:18px;height:18px}
.vsd-home-train-search-hint{display:flex;gap:9px;align-items:flex-start;margin-top:12px;color:#6a7888;font-size:13px}
.vsd-home-train-search-error{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:15px 16px;border:1px solid #f0c6c6;border-radius:14px;background:#fff6f6;color:#842828}
.vsd-home-train-search-error>.dashicons{margin-top:1px}
.vsd-home-train-search-error div{display:flex;flex-direction:column;gap:3px}
.vsd-home-train-result{margin-top:18px;border:1px solid #d7e4ef;border-radius:18px;overflow:hidden;background:#fbfdff}
.vsd-home-train-result.is-cancelled{border-color:#efc7c7}
.vsd-home-train-result-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px 19px;background:#102f57;color:#fff}
.vsd-home-train-number{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.vsd-home-train-result-top h3{margin:8px 0 3px;color:#fff;font-size:24px;line-height:1.2}
.vsd-home-train-result-top h3 i{font-style:normal;opacity:.65;margin:0 5px}
.vsd-home-train-result-top p{margin:0;color:rgba(255,255,255,.75)}
.vsd-home-train-result-state span{display:inline-flex;white-space:nowrap;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:800}
.vsd-home-train-result-state .is-live{background:#dff6e8;color:#17623a}
.vsd-home-train-result-state .is-bad{background:#ffe4e4;color:#8b2222}
.vsd-home-train-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dce6ef;border-bottom:1px solid #dce6ef}
.vsd-home-train-result-grid>div{min-width:0;display:flex;flex-direction:column;gap:3px;padding:15px 16px;background:#fff}
.vsd-home-train-result-grid small{color:#718093;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.vsd-home-train-result-grid strong{font-size:20px;color:#102f57;line-height:1.15;overflow-wrap:anywhere}
.vsd-home-train-result-grid span{font-size:12px;color:#6c7988}
.vsd-home-train-result-grid em{font-style:normal;font-size:12px;font-weight:800;color:#2c638f}
.vsd-home-train-route{background:#fff}
.vsd-home-train-route>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;color:#102f57}
.vsd-home-train-route>summary::-webkit-details-marker{display:none}
.vsd-home-train-route>summary>span:first-child{display:flex;flex-direction:column}
.vsd-home-train-route>summary small{font-size:12px;color:#788698;font-weight:500}
.vsd-home-train-route[open]>summary .dashicons{transform:rotate(180deg)}
.vsd-home-train-route-list{padding:0 18px 17px}
.vsd-home-train-route-row{display:grid;grid-template-columns:50px 18px minmax(0,1fr);gap:8px;align-items:stretch;min-height:48px}
.vsd-home-train-route-time{padding-top:8px;font-variant-numeric:tabular-nums;font-weight:800;color:#2e5578;font-size:13px;text-align:right}
.vsd-home-train-route-dot{position:relative}
.vsd-home-train-route-dot:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#c9d9e7}
.vsd-home-train-route-dot:after{content:"";position:absolute;left:4px;top:12px;width:10px;height:10px;border-radius:50%;background:#102f57;box-shadow:0 0 0 3px #fff}
.vsd-home-train-route-row.pass .vsd-home-train-route-dot:after{width:7px;height:7px;left:5.5px;top:13.5px;background:#8295a7}
.vsd-home-train-route-station{display:flex;flex-direction:column;padding:6px 0 10px;min-width:0}
.vsd-home-train-route-station strong{color:#263c52}
.vsd-home-train-route-station small{color:#7a8796;font-size:12px}
@media (max-width:820px){
 .vsd-home-train-search{padding:17px;border-radius:18px}
 .vsd-home-train-search-head h2{font-size:21px}
 .vsd-home-train-search-head>.dashicons{display:none}
 .vsd-home-train-search-form{grid-template-columns:1fr 1fr}
 .vsd-home-train-search-form .button{grid-column:1/-1}
 .vsd-home-train-result-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
 .vsd-home-train-search{margin:16px 0;padding:14px}
 .vsd-home-train-search-head{margin-bottom:13px}
 .vsd-home-train-search-head p{font-size:13px}
 .vsd-home-train-search-form{grid-template-columns:1fr;padding:11px}
 .vsd-home-train-search-form .button{grid-column:auto;width:100%}
 .vsd-home-train-result-top{padding:15px;flex-direction:column;gap:10px}
 .vsd-home-train-result-top h3{font-size:20px}
 .vsd-home-train-result-grid{grid-template-columns:1fr 1fr}
 .vsd-home-train-result-grid>div{padding:12px}
 .vsd-home-train-result-grid strong{font-size:17px}
 .vsd-home-train-route-list{padding-left:12px;padding-right:12px}
 .vsd-home-train-route-row{grid-template-columns:45px 16px minmax(0,1fr)}
}

/* v3.16.3 · begin/eind en passeerpunten in Trein zoeken */
.vsd-home-train-route-row.is-train-start .vsd-home-train-route-station small,.vsd-home-train-route-row.is-train-end .vsd-home-train-route-station small{font-weight:800;color:#2c638f;text-transform:uppercase;letter-spacing:.04em}
.vsd-home-train-route-row.pass .vsd-home-train-route-station small{font-weight:700}


/* v3.16.6 · terug-naar-bovenknop blijft vrij van de vaste onderdock */
@media(max-width:782px){
  body.vsd-frontend-body .vsd-scroll-top,
  body.vsd-frontend-body .scroll-to-top,
  body.vsd-frontend-body .scroll-top,
  body.vsd-frontend-body .back-to-top,
  body.vsd-frontend-body .backtotop,
  body.vsd-frontend-body #scroll-to-top,
  body.vsd-frontend-body #scroll-top,
  body.vsd-frontend-body #back-to-top,
  body.vsd-frontend-body #scrollUp,
  body.vsd-frontend-body .scrollup,
  body.vsd-frontend-body .go-top,
  body.vsd-frontend-body .to-top,
  body.vsd-frontend-body .ct-back-to-top,
  body.vsd-frontend-body .ast-scroll-top-icon,
  body.vsd-frontend-body #ast-scroll-top,
  body.vsd-frontend-body .generate-back-to-top,
  body.vsd-frontend-body .kadence-scroll-to-top,
  body.vsd-frontend-body .et_pb_scroll_top,
  body.vsd-frontend-body #elementor-scroll-to-top,
  body.vsd-frontend-body .elementor-scroll-to-top,
  body.vsd-frontend-body .nv-scroll-to-top,
  body.vsd-frontend-body #site-scroll-top,
  body.vsd-frontend-body .site-scroll-top,
  body.vsd-frontend-body .scroll-to-top-button,
  body.vsd-frontend-body .back-to-top-button,
  body.vsd-frontend-body .js-back-to-top,
  body.vsd-frontend-body .topbutton,
  body.vsd-frontend-body .fusion-top-top,
  body.vsd-frontend-body .mkdf-back-to-top,
  body.vsd-frontend-body .qodef-back-to-top{
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
    z-index:9997!important;
  }
}

/* v3.16.11 · verjaardag + persoonlijke reistijd */
.vsd-profile-avatar-birthday{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;overflow:visible}
.vsd-profile-avatar-birthday>.vsd-own-profile-photo,.vsd-profile-avatar-birthday>.avatar{display:block;border-radius:18px}
.vsd-birthday-badge{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#fff;color:#173a61;border:1px solid #d8e5f2;box-shadow:0 5px 16px rgba(16,47,87,.14);font-size:9px!important;letter-spacing:0!important;font-weight:800!important}
.vsd-birthday-badge span{font-size:12px!important;letter-spacing:0!important;color:inherit!important}.vsd-birthday-badge strong{font-size:9px;line-height:1;color:inherit}.vsd-birthday-badge.is-today{background:#fff6d8;border-color:#f0ca61;color:#6b4a00}
.vsd-profile-hero .vsd-profile-avatar-birthday{margin-bottom:8px}.vsd-profile-hero .vsd-birthday-badge{color:#173a61}.vsd-profile-photo-preview{overflow:visible!important}.vsd-profile-photo-preview .vsd-profile-avatar-birthday{width:88px;height:88px}.vsd-profile-photo-preview .vsd-birthday-badge{bottom:-13px}
.vsd-friend-profile-person .vsd-profile-avatar-birthday{margin-bottom:8px}.vsd-friend-profile-person .vsd-birthday-badge{bottom:-12px}
.vsd-frontend-profile-form label small{font-size:9px;line-height:1.45;color:#7a8797;font-weight:500}

.vsd-travel-page{max-width:1180px;margin:0 auto}.vsd-travel-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;margin-bottom:16px;border-radius:20px;background:linear-gradient(135deg,#123a67,#0f2e52);color:#fff;box-shadow:0 14px 34px rgba(16,47,87,.16)}
.vsd-travel-hero h1{margin:4px 0 6px;font-size:26px}.vsd-travel-hero p{max-width:720px;margin:0;color:#d5e1ef;font-size:11px;line-height:1.55}.vsd-travel-hero>.dashicons{width:56px;height:56px;font-size:32px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.1);color:#a8d4ff}
.vsd-travel-grid{display:grid;grid-template-columns:minmax(320px,410px) minmax(0,1fr);gap:16px;align-items:start}.vsd-travel-settings,.vsd-travel-today{background:#fff;border:1px solid #dce5ee;border-radius:18px;padding:20px;box-shadow:0 6px 22px rgba(31,50,74,.05)}
.vsd-travel-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.vsd-travel-section-head h2{margin:3px 0 0;font-size:18px;color:#173858}.vsd-travel-private,.vsd-travel-fresh{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#eef7f1;color:#2c6b48;font-size:9px;font-weight:800;white-space:nowrap}.vsd-travel-private .dashicons,.vsd-travel-fresh .dashicons{width:14px;height:14px;font-size:14px}
.vsd-travel-privacy-copy{margin:0 0 15px;color:#748093;font-size:10px;line-height:1.5}.vsd-travel-form{display:grid;gap:13px}.vsd-travel-form label:not(.vsd-travel-calendar-check){display:flex;flex-direction:column;gap:6px}.vsd-travel-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#66758a;font-weight:850}.vsd-travel-form input[type=text],.vsd-travel-form input[type=number],.vsd-travel-form select{width:100%;min-height:46px;border:1px solid #d3dee9;border-radius:11px;background:#fff;padding:9px 11px;font-size:16px;color:#173858}.vsd-travel-form small{font-size:9px;color:#8994a3;line-height:1.45}.vsd-travel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vsd-travel-calendar-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dbe5ee;border-radius:12px;background:#f7fafc}.vsd-travel-calendar-check input{margin-top:2px}.vsd-travel-calendar-check>span{display:flex!important;flex-direction:column;gap:2px;text-transform:none!important;letter-spacing:0!important}.vsd-travel-calendar-check strong{font-size:10px;color:#173858}.vsd-travel-calendar-check small{font-size:9px;color:#7c8897}.vsd-travel-form>.button{min-height:44px;border-radius:11px;font-weight:800;justify-content:center}
.vsd-travel-today{display:flex;flex-direction:column;gap:11px}.vsd-travel-today>.vsd-travel-section-head{margin-bottom:1px}.vsd-travel-service{border:1px solid #dce6ef;border-radius:15px;overflow:hidden;background:#fbfdff}.vsd-travel-service-main{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 16px}.vsd-travel-service-main>div:first-child{display:flex;flex-direction:column;gap:3px}.vsd-travel-service-main small{font-size:9px;color:#77869a;text-transform:uppercase;letter-spacing:.04em}.vsd-travel-service-main strong{font-size:15px;color:#173858}.vsd-travel-service-main span{display:flex;align-items:center;gap:4px;font-size:10px;color:#61748a}.vsd-travel-service-main span .dashicons{width:14px;height:14px;font-size:14px}.vsd-travel-leave{text-align:right;min-width:120px}.vsd-travel-leave strong{font-size:24px!important;color:#0c5894!important;line-height:1}.vsd-travel-leave small{color:#6f8195!important}
.vsd-travel-service-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e3ebf2;background:#f5f9fc}.vsd-travel-service-metrics>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-right:1px solid #e0e9f1}.vsd-travel-service-metrics>div:last-child{border-right:0}.vsd-travel-service-metrics small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#8491a1}.vsd-travel-service-metrics strong{font-size:12px;color:#173858}.vsd-travel-service-metrics span{font-size:8px;color:#7d8998}.vsd-travel-service.is-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-color:#efc8c8;background:#fff7f7}.vsd-travel-service.is-error div{display:flex;flex-direction:column}.vsd-travel-service.is-error p{margin:0;color:#9b3e3e;font-size:10px}.vsd-travel-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:28px 16px;border:1px dashed #ccdae7;border-radius:14px;background:#f8fbfd}.vsd-travel-empty>.dashicons{font-size:25px;width:25px;height:25px;color:#6793bc}.vsd-travel-empty strong{font-size:13px;color:#173858}.vsd-travel-empty p{margin:0;max-width:390px;font-size:10px;color:#7b8898}.vsd-travel-disclaimer{margin:3px 2px 0;font-size:9px;color:#8a95a3;line-height:1.5}

@media(max-width:860px){.vsd-travel-grid{grid-template-columns:1fr}.vsd-travel-hero{padding:18px}.vsd-travel-hero h1{font-size:22px}.vsd-travel-hero>.dashicons{width:48px;height:48px;font-size:27px}.vsd-travel-settings,.vsd-travel-today{padding:15px}.vsd-birthday-badge{font-size:8px!important}}
@media(max-width:560px){.vsd-travel-page{padding-bottom:8px}.vsd-travel-hero{align-items:flex-start;border-radius:16px}.vsd-travel-hero>.dashicons{display:none}.vsd-travel-form-row{grid-template-columns:1fr}.vsd-travel-service-main{align-items:flex-end;padding:13px}.vsd-travel-leave{min-width:104px}.vsd-travel-leave strong{font-size:22px!important}.vsd-travel-service-metrics{grid-template-columns:1fr 1fr}.vsd-travel-service-metrics>div:nth-child(2){border-right:0}.vsd-travel-service-metrics>div:nth-child(3){grid-column:1/-1;border-right:0;border-top:1px solid #e0e9f1}.vsd-birthday-badge{left:0;transform:none;bottom:-13px}.vsd-profile-hero .vsd-birthday-badge,.vsd-friend-profile-person .vsd-birthday-badge{left:50%;transform:translateX(-50%)}}

/* v3.16.12 · routecontrole + profiel/verjaardag verfijning */
.vsd-profile-hero-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.vsd-profile-public-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.09);color:#fff!important;font-size:10px!important;font-weight:850;text-decoration:none;letter-spacing:0!important}
.vsd-profile-public-link:hover{background:rgba(255,255,255,.16);color:#fff}.vsd-profile-public-link .dashicons{width:16px;height:16px;font-size:16px;color:#c6def6!important;letter-spacing:0!important}

.vsd-birthday-badge{left:6px;bottom:-27px;transform:none;min-width:122px;max-width:154px;gap:7px;padding:6px 9px;border-radius:11px;white-space:normal;text-align:left}
.vsd-birthday-badge .vsd-birthday-icon{display:grid!important;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:8px;background:#edf5fb;font-size:13px!important;line-height:1;letter-spacing:0!important}
.vsd-birthday-badge .vsd-birthday-copy{display:flex!important;min-width:0;flex-direction:column;gap:0;letter-spacing:0!important;color:inherit!important}
.vsd-birthday-badge .vsd-birthday-copy small{display:block;font-size:6px!important;line-height:1.15;text-transform:uppercase;letter-spacing:.07em;color:#7c91a7!important;font-weight:900}
.vsd-birthday-badge .vsd-birthday-copy strong{display:block;font-size:8.5px!important;line-height:1.25;color:#173a61!important;white-space:nowrap}
.vsd-birthday-badge.is-today .vsd-birthday-icon{background:#fff0b7}.vsd-birthday-badge.is-today .vsd-birthday-copy strong{color:#6b4a00!important}
.vsd-profile-hero .vsd-profile-avatar-birthday{align-self:flex-start;margin-bottom:28px}.vsd-profile-hero .vsd-birthday-badge{left:0;bottom:-31px}
.vsd-profile-photo-preview .vsd-profile-avatar-birthday{margin-bottom:28px}.vsd-profile-photo-preview .vsd-birthday-badge{left:0;bottom:-31px}
.vsd-friend-profile-person .vsd-profile-avatar-birthday{margin-bottom:30px}.vsd-friend-profile-person .vsd-birthday-badge{left:0;bottom:-31px}
.vsd-friend-profile-about{grid-template-columns:repeat(4,minmax(0,1fr))}
.vsd-friend-profile-about .vsd-friend-birthday-about>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#fff3d4;font-size:17px}

.vsd-travel-route-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid #e1eaf1;background:#fff}
.vsd-travel-route-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border-radius:9px;font-size:10px;font-weight:850}.vsd-travel-route-actions .button .dashicons{width:15px;height:15px;font-size:15px}
.vsd-travel-route-actions>span{color:#77889a;font-size:8px;text-align:right;line-height:1.35}
.vsd-travel-route-modal[hidden]{display:none!important}.vsd-travel-route-modal{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:18px}.vsd-travel-route-backdrop{position:absolute;inset:0;background:rgba(7,23,41,.67);backdrop-filter:blur(4px)}
.vsd-travel-route-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:min(780px,calc(100dvh - 36px));overflow:auto;border-radius:20px;background:#fff;border:1px solid #dbe5ee;box-shadow:0 24px 80px rgba(5,26,49,.32)}
.vsd-travel-route-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #e1e9f0}.vsd-travel-route-dialog h2{margin:3px 0 0;font-size:19px;color:#173858}.vsd-travel-route-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#eef4f9;color:#234d77;font-size:26px;line-height:1;cursor:pointer}
.vsd-travel-route-map{height:360px;background:#e8eef3;position:relative}.vsd-travel-route-map-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#708195;font-size:11px}.vsd-travel-route-map .leaflet-container{height:100%;width:100%}
.vsd-travel-route-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4ebf1;border-bottom:1px solid #e4ebf1;background:#f7fafc}.vsd-travel-route-summary>div{padding:11px 14px;border-right:1px solid #e2eaf0}.vsd-travel-route-summary>div:last-child{border-right:0}.vsd-travel-route-summary small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.07em;color:#8290a0;font-weight:850}.vsd-travel-route-summary strong{display:block;margin-top:2px;font-size:13px;color:#173858}
.vsd-travel-route-context{margin:12px 18px 0;padding:9px 11px;border-radius:10px;background:#eef6fb;color:#41657f;font-size:9px;line-height:1.45}.vsd-travel-route-links{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 18px 0}.vsd-travel-route-links .button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:10px;font-weight:850}.vsd-travel-route-note{margin:10px 18px 17px;color:#7f8b99;font-size:8.5px;line-height:1.5}
body.vsd-travel-route-opened{overflow:hidden}

@media(max-width:782px){
 .vsd-profile-hero{overflow:visible}.vsd-profile-hero .vsd-profile-avatar-birthday{flex:0 0 132px;width:132px;justify-content:flex-start}.vsd-profile-hero .vsd-profile-avatar-birthday>.vsd-own-profile-photo,.vsd-profile-hero .vsd-profile-avatar-birthday>.avatar{width:76px!important;height:76px!important}
 .vsd-friend-profile-about{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-friend-profile-about>div:last-child{grid-column:auto;border-top:0}.vsd-friend-profile-about .vsd-friend-birthday-about>span{flex-basis:27px;width:27px;height:27px;border-radius:8px;font-size:14px}
}
@media(max-width:560px){
 .vsd-profile-hero{gap:10px;padding:16px}.vsd-profile-hero .vsd-profile-avatar-birthday{flex-basis:125px;width:125px;margin-bottom:29px}.vsd-profile-hero .vsd-profile-avatar-birthday>.vsd-own-profile-photo,.vsd-profile-hero .vsd-profile-avatar-birthday>.avatar{width:70px!important;height:70px!important}.vsd-profile-public-link{width:100%;justify-content:center;margin-top:10px}
 .vsd-birthday-badge{min-width:118px;max-width:124px}.vsd-profile-photo-preview .vsd-birthday-badge,.vsd-friend-profile-person .vsd-birthday-badge{left:0;transform:none}
 .vsd-travel-route-actions{align-items:stretch;flex-direction:column}.vsd-travel-route-actions .button{width:100%}.vsd-travel-route-actions>span{text-align:left}
 .vsd-travel-route-modal{padding:0;align-items:end}.vsd-travel-route-dialog{width:100%;max-height:calc(100dvh - 22px);border-radius:20px 20px 0 0}.vsd-travel-route-map{height:42dvh;min-height:270px;max-height:390px}.vsd-travel-route-links{grid-template-columns:1fr}.vsd-travel-route-summary>div{padding:10px 9px}.vsd-travel-route-summary strong{font-size:11px}
}

/* ========================================================================
   v3.16.13 · Mijn dienst als echte chronologische tijdlijn
   ======================================================================== */
.vsd-myday-timeline-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:1px 2px 7px;padding:0 2px;color:#7c93a2
}
.vsd-myday-timeline-head>span{font-size:8px;font-weight:950;letter-spacing:.13em;color:#52758b}
.vsd-myday-timeline-head>small{font-size:8px;color:#91a1ab}
.vsd-myday-timeline{position:relative;gap:7px!important}
.vsd-myday-timeline:before{
  content:"";position:absolute;left:24px;top:22px;bottom:22px;width:2px;
  border-radius:999px;background:linear-gradient(#d9e8f1,#c8dfec,#d9e8f1);z-index:0
}
.vsd-myday-timeline>.vsd-myday-ride,
.vsd-myday-timeline>.vsd-myday-break{position:relative;z-index:1}
.vsd-myday-ride{
  background:#fff;border-color:#dbe6ed;box-shadow:0 2px 10px rgba(37,78,105,.035)
}
.vsd-myday-ride.state-past{opacity:.72;background:#fafcfd}
.vsd-myday-ride.state-current{opacity:1;border-color:#72b8de;background:#fafdff;box-shadow:0 0 0 2px rgba(56,144,194,.09),0 5px 18px rgba(38,106,145,.08)}
.vsd-myday-ride-summary{background:transparent}
.vsd-myday-ride-order{position:relative;z-index:3;box-shadow:0 0 0 4px #fff}
.vsd-myday-ride.state-current .vsd-myday-ride-order{background:#1f78aa;color:#fff}
.vsd-myday-ride-time strong{font-size:13px;font-weight:900;white-space:nowrap}
.vsd-myday-ride-main>strong{font-size:16px;line-height:1.05}
.vsd-myday-ride-main p{font-weight:650}
.vsd-myday-quick-grid{border-top:1px solid #edf2f5;padding-top:7px}
.vsd-myday-danger{padding-top:0}
.vsd-myday-danger .vsd-myday-delete{
  min-height:26px!important;padding:2px 7px!important;border:0!important;background:transparent!important;
  box-shadow:none!important;color:#a44c45!important;font-size:8px!important
}
.vsd-myday-danger .vsd-myday-delete:hover{background:#fff4f2!important}

.vsd-myday-break{
  display:grid;grid-template-columns:28px 118px auto minmax(0,1fr);gap:9px;align-items:center;
  padding:9px 11px;border:1px solid #e7dfd0;border-radius:11px;background:#fffdf8;
  box-shadow:0 2px 9px rgba(108,87,48,.035);overflow:hidden
}
.vsd-myday-break.state-past{opacity:.72;background:#fbfaf7}
.vsd-myday-break.state-current{opacity:1;border-color:#d2b675;box-shadow:0 0 0 2px rgba(184,143,56,.08)}
.vsd-myday-break .vsd-myday-ride-order{background:#f5eddc;color:#806a37}
.vsd-myday-break.state-current .vsd-myday-ride-order{background:#a98131;color:#fff}
.vsd-myday-break-time strong,.vsd-myday-break-time small{display:block}
.vsd-myday-break-time strong{color:#6d5b39;font-size:12px;font-weight:900;white-space:nowrap}
.vsd-myday-break-time strong i{color:#b5a98f;font-style:normal}
.vsd-myday-break-time small{margin-top:2px;color:#a29273;font-size:7px;font-weight:900;letter-spacing:.06em}
.vsd-myday-break-icon{width:24px;height:24px;font-size:24px;color:#9a7d43}
.vsd-myday-break-main{min-width:0}
.vsd-myday-break-main .vsd-myday-type.break{background:#f6edd9;color:#81672f}
.vsd-myday-break-main>strong{display:block;margin-top:3px;color:#675837;font-size:13px}
.vsd-myday-break-main p{margin:1px 0 0;color:#918165;font-size:9px;font-weight:650}

@media(max-width:600px){
  .vsd-myday-service.actual{padding:7px!important;background:#fff}
  .vsd-myday-timeline-head{margin:0 2px 5px;padding:1px 1px 0}
  .vsd-myday-timeline-head>span{font-size:6.5px}
  .vsd-myday-timeline-head>small{font-size:6.5px}
  .vsd-myday-timeline{gap:6px!important}
  .vsd-myday-timeline:before{left:17px;top:17px;bottom:17px;width:1.5px}
  .vsd-myday-ride{border-radius:11px!important}
  .vsd-myday-ride-summary{
    grid-template-columns:22px minmax(0,1fr) auto!important;
    grid-template-areas:"order time buttons" "order main main"!important;
    gap:2px 7px!important;padding:7px!important
  }
  .vsd-myday-ride-order{grid-area:order!important;width:22px!important;height:22px!important;border-radius:999px!important;font-size:8px!important;box-shadow:0 0 0 3px #fff}
  .vsd-myday-ride-time{grid-area:time!important;display:block!important;min-height:0!important}
  .vsd-myday-ride-time strong{font-size:10px!important;line-height:1.15}
  .vsd-myday-ride-main{grid-area:main!important;padding:1px 0 0!important;min-width:0}
  .vsd-myday-ride-main>div{margin-bottom:2px}
  .vsd-myday-ride-main>strong{display:inline!important;margin:0 4px 0 0!important;font-size:12px!important;line-height:1.2}
  .vsd-myday-ride-main p{display:inline!important;font-size:8px!important;line-height:1.25}
  .vsd-myday-ride-main small{display:block;margin-top:2px;font-size:7px!important;line-height:1.25}
  .vsd-myday-ride-buttons{grid-area:buttons!important;padding:0!important}
  .vsd-myday-ride-buttons .button{min-height:24px!important;padding:2px 6px!important;border-radius:8px!important;font-size:7px!important}
  .vsd-myday-ride-buttons .dashicons{width:11px;height:11px;font-size:11px}
  .vsd-myday-type,.vsd-myday-delay-badge,.vsd-myday-now,.vsd-myday-cancel-badge{min-height:15px!important;padding:1px 4px!important;font-size:6px!important}
  .vsd-myday-quick-grid{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;padding:6px 7px 5px!important
  }
  .vsd-myday-quick-grid>.vsd-myday-quick[open]{grid-column:1/-1!important}
  .vsd-myday-quick>summary{min-height:32px!important;padding:4px 5px!important;grid-template-columns:14px minmax(0,1fr)!important;gap:3px!important}
  .vsd-myday-quick>summary>.dashicons:first-child{width:14px;height:14px;font-size:14px}
  .vsd-myday-quick>summary span strong{font-size:7px!important;line-height:1.1}
  .vsd-myday-quick>summary span small{display:none!important}
  .vsd-myday-danger{padding:0 6px 4px!important;border-top:0}
  .vsd-myday-danger .button{min-height:22px!important;font-size:6.5px!important}

  .vsd-myday-break{
    grid-template-columns:22px 72px 18px minmax(0,1fr)!important;gap:6px!important;
    padding:7px!important;border-radius:10px!important
  }
  .vsd-myday-break .vsd-myday-ride-order{width:22px!important;height:22px!important}
  .vsd-myday-break-time strong{font-size:9px!important}
  .vsd-myday-break-time small{font-size:5.5px!important}
  .vsd-myday-break-icon{width:18px;height:18px;font-size:18px}
  .vsd-myday-break-main>strong{font-size:10px!important}
  .vsd-myday-break-main p{font-size:7px!important}
  .vsd-myday-break-main .vsd-myday-type.break{font-size:5.5px!important}

  .vsd-myday-service-actions{display:grid!important;grid-template-columns:1.2fr 1fr 1fr!important;gap:4px!important}
  .vsd-myday-service-actions .button{width:100%;min-height:29px!important;padding:3px 4px!important;font-size:7px!important}
}


/* ========================================================================
   v3.16.14 · Mijn dienst mobiel: leesbare pauzes + ritverloop-modal
   ======================================================================== */
.vsd-myday-route-modal[hidden]{display:none!important}
.vsd-myday-route-modal{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:18px}
.vsd-myday-route-backdrop{position:absolute;inset:0;border:0;background:rgba(13,35,54,.58);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:pointer}
.vsd-myday-route-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:min(86dvh,820px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6e3eb;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(12,42,65,.28)}
.vsd-myday-route-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 18px 14px;border-bottom:1px solid #e5edf2;background:#fbfdff}
.vsd-myday-route-dialog-head h3{margin:2px 0 2px;color:#173f5d;font-size:22px;line-height:1.12}
.vsd-myday-route-dialog-head p{margin:0;color:#6f8798;font-size:12px;font-weight:650}
.vsd-myday-route-close{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:#eef5fa;color:#225b82;cursor:pointer}
.vsd-myday-route-close .dashicons{width:20px;height:20px;font-size:20px}
.vsd-myday-route-list{overflow:auto;padding:14px 16px 8px;overscroll-behavior:contain}
.vsd-myday-route-stop{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:52px;padding:7px 9px;border-radius:11px;color:#667085}
.vsd-myday-route-stop:before,.vsd-myday-route-stop:after{content:"";position:absolute;left:18px;width:2px;background:#d7e1e8}
.vsd-myday-route-stop:before{top:-9px;bottom:calc(50% + 7px)}
.vsd-myday-route-stop:after{top:calc(50% + 7px);bottom:-9px}
.vsd-myday-route-stop:first-child:before,.vsd-myday-route-stop:last-child:after{display:none}
.vsd-myday-route-dot{position:relative;z-index:2;width:10px;height:10px;border:2px solid #fff;border-radius:999px;background:#91a1ad;box-shadow:0 0 0 2px #d7e1e8}
.vsd-myday-route-stop-main{min-width:0;display:flex;flex-direction:column;gap:1px}
.vsd-myday-route-stop-main strong{color:#354d5e;font-size:13px;line-height:1.2;overflow-wrap:normal;word-break:normal;hyphens:none}
.vsd-myday-route-stop-main small{color:#8193a0;font-size:9px;font-weight:850;letter-spacing:.06em}
.vsd-myday-route-stop-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;white-space:nowrap;font-variant-numeric:tabular-nums}
.vsd-myday-route-stop-time strong{color:#3f6075;font-size:11px}.vsd-myday-route-stop-time small{color:#b35a3c;font-size:9px}
.vsd-myday-route-stop.is-before,.vsd-myday-route-stop.is-after{opacity:.48}
.vsd-myday-route-stop.is-own{opacity:1;background:#edf7fe;border:1px solid #c7e3f5}
.vsd-myday-route-stop.is-own:before,.vsd-myday-route-stop.is-own:after{background:#2783bc}
.vsd-myday-route-stop.is-own .vsd-myday-route-dot{background:#2783bc;box-shadow:0 0 0 2px #94c9e8}
.vsd-myday-route-stop.is-own .vsd-myday-route-stop-main strong,.vsd-myday-route-stop.is-own .vsd-myday-route-stop-time strong{color:#164f77}
.vsd-myday-route-stop.type-pass .vsd-myday-route-dot{width:7px;height:7px}
.vsd-myday-route-help{margin:0;padding:8px 18px 15px;color:#778c9b;font-size:10px;line-height:1.45}
.vsd-myday-route-empty{margin:15px;padding:16px;border:1px dashed #cedde6;border-radius:12px;background:#f8fbfd;text-align:center;color:#718796}
.vsd-myday-route-empty strong{display:block;color:#365c74}.vsd-myday-route-empty p{margin:4px 0 0;font-size:11px}
html.vsd-myday-route-opened,html.vsd-myday-route-opened body{overflow:hidden!important}
.vsd-myday-ride-buttons{gap:6px;flex-wrap:wrap}
.vsd-myday-route-open{color:#24678f!important;border-color:#bcd7e7!important;background:#f6fbfe!important}

@media(max-width:600px){
  /* Ritkaart: acties krijgen hun eigen rij. Zo hoeft tekst niet samen met twee
     knoppen in één smalle kolom te vechten. */
  .vsd-myday-ride-summary{
    grid-template-columns:22px minmax(0,1fr)!important;
    grid-template-areas:"order time" "order main" "order buttons"!important;
    gap:4px 7px!important;
  }
  .vsd-myday-ride-buttons{grid-area:buttons!important;justify-content:flex-start!important;display:flex!important;gap:5px!important;margin-top:3px}
  .vsd-myday-ride-buttons .button{min-height:27px!important;padding:3px 7px!important;font-size:7.5px!important;white-space:nowrap!important}

  /* Pauze/schaft: geen vier smalle kolommen meer. Tijd en omschrijving krijgen
     de volledige tekstbreedte waardoor woorden alleen op normale spaties breken. */
  .vsd-myday-break{
    grid-template-columns:22px minmax(0,1fr)!important;
    grid-template-areas:"order time" "order main"!important;
    gap:3px 8px!important;padding:9px!important;align-items:start!important;overflow:visible!important
  }
  .vsd-myday-break .vsd-myday-ride-order{grid-area:order!important;align-self:start!important;margin:0!important}
  .vsd-myday-break-time{grid-area:time!important;min-width:0!important;display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
  .vsd-myday-break-time strong{display:inline!important;font-size:10px!important;white-space:nowrap!important}
  .vsd-myday-break-time small{display:inline!important;margin:0!important;font-size:6px!important;white-space:nowrap!important}
  .vsd-myday-break-icon{display:none!important}
  .vsd-myday-break-main{grid-area:main!important;min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:3px 7px!important;align-items:center!important}
  .vsd-myday-break-main .vsd-myday-type.break{grid-column:1!important;grid-row:1!important;font-size:6px!important;white-space:nowrap!important}
  .vsd-myday-break-main>strong{grid-column:2!important;grid-row:1!important;margin:0!important;font-size:10.5px!important;line-height:1.2!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  .vsd-myday-break-main p{grid-column:1/-1!important;margin:1px 0 0!important;font-size:8px!important;line-height:1.25!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}

  .vsd-myday-route-modal{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
  .vsd-myday-route-dialog{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));border-radius:17px}
  .vsd-myday-route-dialog-head{padding:13px 13px 11px}
  .vsd-myday-route-dialog-head h3{font-size:17px}.vsd-myday-route-dialog-head p{font-size:9px}
  .vsd-myday-route-close{width:34px;height:34px}
  .vsd-myday-route-list{padding:10px 9px 6px}
  .vsd-myday-route-stop{grid-template-columns:16px minmax(0,1fr) auto;gap:7px;min-height:47px;padding:6px 5px}
  .vsd-myday-route-stop:before,.vsd-myday-route-stop:after{left:13px}
  .vsd-myday-route-stop-main strong{font-size:11px}.vsd-myday-route-stop-main small{font-size:7px}
  .vsd-myday-route-stop-time strong{font-size:9px}.vsd-myday-route-stop-time small{font-size:7px}
  .vsd-myday-route-help{padding:7px 12px 11px;font-size:8px}
}


/* ========================================================================
   v3.16.15 · Diensten als één consistente app-sectie
   ======================================================================== */
.vsd-frontend-content .vsd-services-page-v315,
.vsd-frontend-content .vsd-service-view-appshell{
  --vsd-diensten-navy:#173f70;
  --vsd-diensten-blue:#245f93;
  --vsd-diensten-soft:#eef6fc;
  --vsd-diensten-border:#d8e5ef;
  --vsd-diensten-text:#214d6b;
  --vsd-diensten-muted:#7890a0;
}

/* Bovenbalk van het dienstenoverzicht sluit nu aan op Mijn dienst. */
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar{
  position:relative;
  overflow:hidden;
  align-items:center;
  padding:17px 18px;
  border:1px solid var(--vsd-diensten-border);
  border-radius:17px;
  background:linear-gradient(135deg,#ffffff 0%,#eef7fc 100%);
  box-shadow:0 7px 24px rgba(27,68,97,.07);
}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar:before{
  content:"";
  position:absolute;inset:0 auto 0 0;width:5px;background:#2b83bd;
}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar .vsd-kicker{color:#7491a4}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar h2{margin:3px 0;color:var(--vsd-diensten-text);font-size:22px}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar p{color:var(--vsd-diensten-muted)}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar .button-primary{
  border-color:var(--vsd-diensten-navy)!important;
  background:var(--vsd-diensten-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Duidelijke sub-tabs binnen Diensten. Op mobiel horizontaal scrollbaar in plaats
   van alle labels onder elkaar te proppen. */
.vsd-services-section-tabs{
  display:flex;
  align-items:stretch;
  gap:5px;
  margin:0;
  padding:5px;
  border:1px solid var(--vsd-diensten-border,#d8e5ef);
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 16px rgba(26,64,94,.04);
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.vsd-services-section-tabs::-webkit-scrollbar{display:none}
.vsd-services-section-tabs a,
.vsd-services-section-tabs>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:1 0 auto;
  min-height:38px;
  padding:7px 11px;
  border-radius:10px;
  color:#637d90;
  font-size:10px;
  font-weight:850;
  text-decoration:none!important;
  white-space:nowrap;
}
.vsd-services-section-tabs a:hover{background:#f2f7fb;color:#285f87}
.vsd-services-section-tabs .dashicons{width:16px;height:16px;font-size:16px}
.vsd-services-section-tabs .is-active{
  background:var(--vsd-diensten-navy,#173f70)!important;
  color:#fff!important;
  box-shadow:0 3px 10px rgba(23,63,112,.16);
}
.vsd-services-section-tabs .is-current-service{max-width:190px;overflow:hidden;text-overflow:ellipsis}

.vsd-services-empty-card{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;border:1px dashed #cbdce8;border-radius:13px;background:#f8fbfd;color:#6f8798;
}
.vsd-services-empty-card>.dashicons{color:#4a7fa5}
.vsd-services-empty-card strong,.vsd-services-empty-card small{display:block}
.vsd-services-empty-card strong{color:#315b77;font-size:11px}
.vsd-services-empty-card small{margin-top:2px;font-size:9px}

/* Lijstkaarten krijgen dezelfde rustige blauwe kaartenfamilie als Mijn dienst. */
.vsd-frontend-content .vsd-services-page-v315 .vsd-service-list-card,
.vsd-frontend-content .vsd-services-page-v315 .vsd-service-focus-card{
  border-color:var(--vsd-diensten-border)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vsd-frontend-content .vsd-services-page-v315 .vsd-service-list-card{border-left:4px solid #2b83bd!important}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-group{
  border-color:var(--vsd-diensten-border);
  border-radius:15px;
  box-shadow:none;
}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-group>summary{background:#f7fbfe}
.vsd-frontend-content .vsd-services-page-v315 .vsd-services-upcoming-group[open]>summary{background:#edf6fc}

/* Geopende dienst: ook hier blijft de Diensten-navigatie zichtbaar. */
.vsd-service-view-appshell{display:grid;gap:10px}
.vsd-service-view-appshell .vsd-service-neighbors,
.vsd-service-view-appshell .vsd-service-view-actions,
.vsd-service-view-appshell .vsd-version-tabs,
.vsd-service-view-appshell .vsd-version-banner,
.vsd-service-view-appshell .vsd-service-overview-strip,
.vsd-service-view-appshell .vsd-flow-panel{margin-bottom:0!important}

/* Planning / Werkelijk / Vergelijking zijn echte, compacte tabbladen. */
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  padding:5px!important;
  border:1px solid var(--vsd-diensten-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow-x:auto;
  scrollbar-width:none;
}
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs::-webkit-scrollbar{display:none}
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs a,
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs>span{
  width:auto!important;
  flex:1 0 max-content!important;
  min-height:39px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  justify-content:center!important;
  color:#637d90!important;
  font-size:10px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs a.is-active{
  background:var(--vsd-diensten-navy)!important;color:#fff!important;
}
.vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs>span.is-disabled{background:#f3f6f8!important;color:#91a0ab!important}

/* Dienstsamenvatting zelf in dezelfde blauw/wit stijl, zonder los groen accent. */
.vsd-frontend-content .vsd-service-view-appshell .vsd-service-overview-strip{
  border:1px solid var(--vsd-diensten-border)!important;
  border-left:5px solid #2b83bd!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fff 0%,#f3f9fd 100%)!important;
  box-shadow:none!important;
}
.vsd-frontend-content .vsd-service-view-appshell .vsd-service-overview-main h2{color:var(--vsd-diensten-text)!important}
.vsd-frontend-content .vsd-service-view-appshell .vsd-service-overview-counts span{background:#edf5fa!important;color:#617d90!important}
.vsd-frontend-content .vsd-service-view-appshell .vsd-flow-panel{
  border:1px solid var(--vsd-diensten-border)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden;
}
.vsd-frontend-content .vsd-service-view-appshell .vsd-flow-row{background:#fff}
.vsd-frontend-content .vsd-service-view-appshell .vsd-flow-row.type-train{box-shadow:inset 4px 0 #2b83bd}

@media(max-width:782px){
  .vsd-frontend-content .vsd-services-page-v315{gap:9px}
  .vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar{
    gap:9px;padding:12px 12px 12px 15px;border-radius:14px;
  }
  .vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar h2{font-size:18px}
  .vsd-frontend-content .vsd-services-page-v315 .vsd-services-toolbar p{font-size:9px}
  .vsd-services-section-tabs{
    gap:4px;padding:4px;border-radius:12px;
  }
  .vsd-services-section-tabs a,
  .vsd-services-section-tabs>span{
    flex:0 0 auto;
    min-height:35px;
    padding:6px 9px;
    font-size:9px;
  }
  .vsd-services-section-tabs .dashicons{width:15px;height:15px;font-size:15px}

  .vsd-service-view-appshell{gap:8px}
  .vsd-service-view-appshell .vsd-service-neighbors{margin-top:0!important}
  .vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs a,
  .vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs>span{
    flex:0 0 auto!important;
    min-height:35px!important;
    padding:6px 9px!important;
    font-size:9px!important;
  }
  .vsd-frontend-content .vsd-service-view-appshell .vsd-version-tabs .dashicons{width:15px;height:15px;font-size:15px}
  .vsd-frontend-content .vsd-service-view-appshell .vsd-service-overview-strip{padding:10px!important;border-radius:13px!important}
  .vsd-frontend-content .vsd-service-view-appshell .vsd-flow-panel{border-radius:13px!important}
}

@media(max-width:430px){
  .vsd-services-section-tabs a,
  .vsd-services-section-tabs>span{padding-left:8px;padding-right:8px}
  .vsd-services-section-tabs .is-current-service{max-width:130px}
}

/* ========================================================================
   v3.16.16 · Mijn dienst gebruikt dezelfde Werkelijk-gereden kaarten
   ======================================================================== */
.vsd-myday-as-service-view{
  padding:0!important;
  overflow:hidden;
  border:1px solid #d7e2ee!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(18,44,74,.045)
}
.vsd-myday-service-view-head{
  margin:0!important;
  padding:16px 18px!important;
  border-bottom:1px solid #e5ebf1;
  background:#fbfdff
}
.vsd-myday-service-view-head>div{min-width:0}
.vsd-myday-service-view-head h2{margin:0 0 5px!important;color:#1d3653!important;font-size:20px!important;line-height:1.2}
.vsd-myday-service-view-head p{margin:0!important;color:#708298!important;font-size:11px!important;line-height:1.45}
.vsd-myday-service-view-head small{display:block;margin-top:5px;color:#7890a3;font-size:10px;font-weight:700}
.vsd-myday-service-view-head>.vsd-badge{flex:0 0 auto}

.vsd-myday-service-flow{padding:12px!important;gap:10px!important;background:#fff!important}
.vsd-myday-service-flow:before{display:none!important}
.vsd-myday-flow-card,
.vsd-myday-flow-break{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  opacity:1!important
}
.vsd-myday-flow-card.state-past,.vsd-myday-flow-break.state-past{opacity:1!important;background:transparent!important}
.vsd-myday-flow-card.state-current>.vsd-flow-row{
  border-color:#8bc4e4!important;
  box-shadow:0 0 0 2px rgba(43,131,189,.08),0 10px 24px rgba(18,44,74,.05)
}
.vsd-myday-flow-card>.vsd-flow-row,
.vsd-myday-flow-break>.vsd-flow-row{margin:0!important}
.vsd-myday-flow-break>.vsd-flow-row{border-left-color:#ba8529!important}

.vsd-myday-flow-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}
.vsd-myday-flow-buttons .button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:5px;
  min-height:32px!important;padding:5px 10px!important;border-radius:9px!important;
  color:#244d70!important;border-color:#c8d9e7!important;background:#fff!important;
  font-size:10px!important;font-weight:800!important;line-height:1.1!important
}
.vsd-myday-flow-buttons .button:hover{background:#f5faff!important;border-color:#9fc6df!important}
.vsd-myday-flow-buttons .dashicons{width:15px;height:15px;font-size:15px}
.vsd-myday-flow-buttons .vsd-myday-route-open{color:#216790!important;border-color:#b7d7e9!important;background:#f7fbfe!important}

/* De operationele knoppen blijven aanwezig, maar zijn een subtiele werkbalk
   onder dezelfde kaart in plaats van een tweede concurrerende kaartlayout. */
.vsd-myday-flow-card .vsd-myday-quick-grid{
  margin:6px 0 0!important;padding:6px!important;gap:5px!important;
  border:1px solid #e2eaf0!important;border-radius:11px!important;background:#f8fbfd!important
}
.vsd-myday-flow-card .vsd-myday-quick{
  border-color:#d9e5ed!important;background:#fff!important;box-shadow:none!important
}
.vsd-myday-flow-card .vsd-myday-danger{padding:3px 7px 0!important}
.vsd-myday-flow-card .vsd-myday-delete{font-size:8px!important}

.vsd-myday-transfer{margin:-2px 0 0 20px!important;padding-left:0!important}
.vsd-myday-transfer strong{color:#4f6d87!important}
.vsd-myday-transfer>span:last-child{color:#8395a7!important}

.vsd-myday-as-service-view>.vsd-myday-service-actions{
  margin:0!important;padding:12px!important;border-top:1px solid #e5edf2;background:#fbfdff
}

@media(max-width:600px){
  .vsd-myday-as-service-view{border-radius:14px!important}
  .vsd-myday-service-view-head{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:13px 12px!important}
  .vsd-myday-service-view-head h2{font-size:15px!important;line-height:1.25!important}
  .vsd-myday-service-view-head p{font-size:8.5px!important;line-height:1.4!important}
  .vsd-myday-service-view-head small{font-size:8px!important}
  .vsd-myday-service-view-head>.vsd-badge{padding:5px 8px!important;font-size:8px!important;white-space:nowrap!important}
  .vsd-myday-service-flow{padding:8px!important;gap:8px!important}

  /* Exact dezelfde kaartverhoudingen als de Werkelijk-weergave. */
  .vsd-myday-flow-card>.vsd-flow-row,
  .vsd-myday-flow-break>.vsd-flow-row{
    grid-template-columns:1fr auto!important;
    align-items:start!important;
    gap:8px!important;
    padding:10px!important;
    border-radius:14px!important
  }
  .vsd-myday-flow-card .vsd-flow-time,
  .vsd-myday-flow-break .vsd-flow-time{
    grid-column:1!important;grid-row:1!important;width:max-content!important;max-width:100%!important;
    min-height:38px;padding:8px 10px!important;border-radius:13px!important;background:#f2f6fb!important
  }
  .vsd-myday-flow-card .vsd-flow-main,
  .vsd-myday-flow-break .vsd-flow-main{grid-column:1/-1!important;grid-row:2!important;min-width:0!important}
  .vsd-myday-flow-card .vsd-flow-side,
  .vsd-myday-flow-break .vsd-flow-side{grid-column:2!important;grid-row:1!important;min-width:68px!important}
  .vsd-myday-flow-card .vsd-flow-title,
  .vsd-myday-flow-break .vsd-flow-title{display:flex!important;align-items:center!important;flex-direction:row!important;flex-wrap:wrap!important;gap:5px!important}
  .vsd-myday-flow-card .vsd-flow-title h3,
  .vsd-myday-flow-break .vsd-flow-title h3{
    flex-basis:100%;max-width:100%!important;white-space:normal!important;overflow:visible!important;
    text-overflow:clip!important;font-size:13px!important;line-height:1.3!important;word-break:normal!important;overflow-wrap:break-word!important
  }
  .vsd-myday-flow-card .vsd-flow-sub,.vsd-myday-flow-break .vsd-flow-sub{font-size:9px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .vsd-myday-flow-card .vsd-train-origin-note{font-size:8px!important;line-height:1.35!important;white-space:normal!important}
  .vsd-myday-flow-card .vsd-flow-material{margin-top:7px!important}
  .vsd-myday-flow-buttons{margin-top:8px!important;gap:6px!important}
  .vsd-myday-flow-buttons .button{min-height:31px!important;padding:5px 9px!important;font-size:9px!important}

  .vsd-myday-flow-card .vsd-myday-quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    margin-top:5px!important;padding:5px!important;gap:4px!important
  }
  .vsd-myday-flow-card .vsd-myday-quick-grid>.vsd-myday-quick[open]{grid-column:1/-1!important}
  .vsd-myday-flow-card .vsd-myday-quick>summary{min-height:34px!important;padding:5px!important}
  .vsd-myday-flow-card .vsd-myday-quick>summary span strong{font-size:7.5px!important}
  .vsd-myday-transfer{margin:-3px 0 0 14px!important;grid-template-columns:16px auto!important;gap:5px!important}
  .vsd-myday-transfer>span:last-child{grid-column:2!important;font-size:8px!important}
  .vsd-myday-transfer strong{font-size:9px!important}
  .vsd-myday-as-service-view>.vsd-myday-service-actions{padding:8px!important}
}

/* ========================================================================
   v3.16.17 · Ritverloop toont ingevoerde vertraging
   ======================================================================== */
.vsd-myday-route-delay-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.vsd-myday-route-delay-summary>span{color:#7890a0;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.vsd-myday-route-delay-summary strong{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#fff1ec;color:#b54d32;border:1px solid #f2c8bc;font-size:10px;line-height:1;white-space:nowrap}
.vsd-myday-route-plan-time{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.vsd-myday-route-delay-badge{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:3px 7px;border-radius:999px;background:#fff0eb;color:#b83f28;border:1px solid #eca58f;font-size:9px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(184,63,40,.10)}
.vsd-myday-route-stop.has-delay{box-shadow:inset 3px 0 0 #e97955}
.vsd-myday-route-stop.has-delay .vsd-myday-route-stop-time small{display:flex;align-items:center;justify-content:flex-end;gap:3px;color:#b35a3c;font-weight:750}
.vsd-myday-route-stop-time small span{color:#8a9aa5;font-weight:700}
@media(max-width:600px){
  .vsd-myday-route-delay-summary{gap:4px;margin-top:6px}
  .vsd-myday-route-delay-summary>span{width:100%;font-size:7px}
  .vsd-myday-route-delay-summary strong{min-height:19px;padding:2px 6px;font-size:8px}
  .vsd-myday-route-plan-time{gap:3px}
  .vsd-myday-route-delay-badge{min-height:17px;padding:2px 4px;font-size:7px}
  .vsd-myday-route-stop.has-delay{box-shadow:inset 2px 0 0 #e97955}
}


/* =========================================================
   v3.16.18 · Reistijdinstellingen inklapbaar
   ========================================================= */
.vsd-travel-settings-collapsible{padding:0!important;overflow:hidden}
.vsd-travel-settings-collapsible>summary{list-style:none}
.vsd-travel-settings-collapsible>summary::-webkit-details-marker{display:none}
.vsd-travel-settings-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;cursor:pointer;user-select:none;background:#fff}
.vsd-travel-settings-summary-main{display:flex;align-items:center;gap:11px;min-width:0}
.vsd-travel-settings-icon{display:grid!important;place-items:center;flex:0 0 38px;width:38px!important;height:38px!important;border-radius:12px;background:#edf6fc;color:#176ca8;font-size:20px!important}
.vsd-travel-settings-summary h2{margin:2px 0 0;font-size:17px;color:#173858}
.vsd-travel-settings-summary p{margin:3px 0 0;color:#78889a;font-size:9px;line-height:1.35}
.vsd-travel-settings-toggle{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.vsd-travel-settings-toggle>.dashicons{width:18px;height:18px;font-size:18px;color:#678098;transition:transform .2s ease}
.vsd-travel-settings-collapsible[open] .vsd-travel-settings-toggle>.dashicons{transform:rotate(180deg)}
.vsd-travel-settings-body{padding:0 18px 18px;border-top:1px solid #e4ebf1;background:#fff}
.vsd-travel-settings-body .vsd-travel-privacy-copy{margin-top:14px}
@media(max-width:560px){
 .vsd-travel-settings-summary{padding:14px 13px;gap:9px}
 .vsd-travel-settings-icon{flex-basis:34px;width:34px!important;height:34px!important;font-size:18px!important;border-radius:10px}
 .vsd-travel-settings-summary h2{font-size:15px}
 .vsd-travel-settings-summary p{font-size:8px}
 .vsd-travel-settings-toggle .vsd-travel-private{display:none}
 .vsd-travel-settings-body{padding:0 13px 14px}
}

/* ========================================================================
   v3.16.25 · Reistijd mobiel opnieuw opgebouwd voor HC én MCN
   Eén gedeelde mobiele UI; functie-inhoud verandert niet.
   ======================================================================== */
@media (max-width:782px){
  .vsd-travel-page{
    width:100%;
    max-width:none;
    margin:0;
    padding:0 0 calc(94px + env(safe-area-inset-bottom,0px));
    min-width:0;
  }
  .vsd-travel-page *{box-sizing:border-box;min-width:0}

  .vsd-travel-hero{
    margin:0 0 12px;
    padding:17px 16px;
    border-radius:17px;
    gap:10px;
    box-shadow:0 8px 22px rgba(16,47,87,.11);
  }
  .vsd-travel-hero h1{
    margin:3px 0 4px;
    font-size:21px;
    line-height:1.08;
    overflow-wrap:normal;
    word-break:normal;
  }
  .vsd-travel-hero p{
    font-size:10px;
    line-height:1.45;
    max-width:100%;
  }
  .vsd-travel-hero>.dashicons{
    flex:0 0 42px;
    width:42px;
    height:42px;
    font-size:24px;
    border-radius:13px;
  }

  .vsd-travel-grid{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
  }
  .vsd-travel-settings,
  .vsd-travel-today{
    width:100%;
    border-radius:17px;
    box-shadow:0 4px 16px rgba(31,50,74,.045);
  }
  .vsd-travel-settings-collapsible{order:0}
  .vsd-travel-today{order:1;padding:14px 12px}

  .vsd-travel-settings-summary{
    width:100%;
    min-height:72px;
    padding:13px 12px;
    gap:9px;
  }
  .vsd-travel-settings-summary-main{flex:1 1 auto;min-width:0}
  .vsd-travel-settings-summary-main>div{min-width:0}
  .vsd-travel-settings-summary .vsd-kicker{font-size:7px!important}
  .vsd-travel-settings-summary h2{
    margin:2px 0 0;
    font-size:14px;
    line-height:1.18;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .vsd-travel-settings-summary p{
    margin:3px 0 0;
    font-size:8.5px;
    line-height:1.35;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
  }
  .vsd-travel-settings-toggle{gap:4px}
  .vsd-travel-settings-toggle .vsd-travel-private{display:none!important}
  .vsd-travel-settings-toggle>.dashicons{flex:0 0 20px;width:20px;height:20px;font-size:20px}
  .vsd-travel-settings-body{padding:0 12px 13px}
  .vsd-travel-settings-body .vsd-travel-privacy-copy{
    margin:11px 0;
    padding:9px 10px;
    border-radius:10px;
    background:#f5f9fc;
    font-size:9px;
    line-height:1.45;
  }
  .vsd-travel-form{gap:11px}
  .vsd-travel-form-row{grid-template-columns:1fr;gap:11px}
  .vsd-travel-form label:not(.vsd-travel-calendar-check){gap:5px}
  .vsd-travel-form label>span{font-size:8px;line-height:1.3}
  .vsd-travel-form input[type=text],
  .vsd-travel-form input[type=number],
  .vsd-travel-form select{
    width:100%!important;
    max-width:100%!important;
    min-height:48px;
    padding:10px 12px;
    border-radius:12px;
    font-size:16px!important;
  }
  .vsd-travel-form small{font-size:8.5px;line-height:1.4}
  .vsd-travel-calendar-check{
    width:100%;
    padding:11px;
    gap:9px;
    border-radius:12px;
  }
  .vsd-travel-calendar-check input{flex:0 0 auto}
  .vsd-travel-calendar-check strong{font-size:10px;line-height:1.3}
  .vsd-travel-calendar-check small{font-size:8.5px;line-height:1.4}
  .vsd-travel-form>.button{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    padding:10px 13px!important;
    white-space:normal!important;
    text-align:center;
    border-radius:12px!important;
  }

  .vsd-travel-section-head{
    align-items:center;
    gap:8px;
    margin:0 2px 5px;
  }
  .vsd-travel-section-head h2{
    margin:2px 0 0;
    font-size:20px;
    line-height:1.08;
  }
  .vsd-travel-fresh{
    flex:0 0 auto;
    padding:6px 8px;
    font-size:8px;
  }

  .vsd-travel-service{
    width:100%;
    border-radius:17px;
    background:#fff;
    border-color:#d8e5ee;
    box-shadow:0 3px 12px rgba(31,70,98,.035);
    overflow:hidden;
  }
  .vsd-travel-service-main{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:stretch;
    padding:13px 12px 0;
  }
  .vsd-travel-service-main>div:first-child{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:3px;
  }
  .vsd-travel-service-main small{
    font-size:8px;
    line-height:1.3;
    letter-spacing:.05em;
  }
  .vsd-travel-service-main strong{
    font-size:18px;
    line-height:1.12;
    overflow-wrap:normal;
    word-break:normal;
  }
  .vsd-travel-service-main span{
    display:flex;
    align-items:flex-start;
    gap:5px;
    font-size:10px;
    line-height:1.35;
    overflow-wrap:normal;
    word-break:normal;
  }
  .vsd-travel-service-main span .dashicons{flex:0 0 15px;width:15px;height:15px;font-size:15px;margin-top:0}

  .vsd-travel-leave{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:calc(100% + 24px);
    min-width:0;
    margin:1px -12px 0;
    padding:10px 12px;
    text-align:left;
    background:linear-gradient(135deg,#edf7ff,#e4f2fb);
    border-top:1px solid #d4e5f1;
  }
  .vsd-travel-leave small{
    font-size:8px!important;
    color:#5e7890!important;
    letter-spacing:.08em;
  }
  .vsd-travel-leave strong{
    flex:0 0 auto;
    font-size:27px!important;
    line-height:1!important;
    color:#0a5d99!important;
    font-variant-numeric:tabular-nums;
  }

  .vsd-travel-service-metrics{
    grid-template-columns:1fr 1fr;
    border-top:0;
    background:#f7fafc;
  }
  .vsd-travel-service-metrics>div{
    min-width:0;
    padding:10px 11px;
    gap:3px;
    border-top:1px solid #e2ebf2;
  }
  .vsd-travel-service-metrics>div:nth-child(1){border-right:1px solid #e0e9f1}
  .vsd-travel-service-metrics>div:nth-child(2){border-right:0}
  .vsd-travel-service-metrics>div:nth-child(3){grid-column:1/-1;border-right:0}
  .vsd-travel-service-metrics small{font-size:7.5px;line-height:1.2}
  .vsd-travel-service-metrics strong{font-size:13px;line-height:1.15;overflow-wrap:normal;word-break:normal}
  .vsd-travel-service-metrics span{font-size:8px;line-height:1.3;overflow-wrap:normal;word-break:normal}

  .vsd-travel-route-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    padding:10px 11px 11px;
    align-items:stretch;
  }
  .vsd-travel-route-actions .button{
    width:100%!important;
    min-height:43px!important;
    border-radius:11px!important;
    font-size:10px!important;
  }
  .vsd-travel-route-actions>span{
    display:block;
    padding:0 2px;
    font-size:8px;
    line-height:1.35;
    text-align:left;
    white-space:normal;
  }

  .vsd-travel-service.is-error{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:12px;
  }
  .vsd-travel-service.is-error p{font-size:9px;line-height:1.4}
  .vsd-travel-disclaimer{
    margin:2px 3px 0;
    padding:10px 11px;
    border-radius:11px;
    background:#f5f8fb;
    font-size:8.5px;
    line-height:1.45;
  }

  .vsd-travel-route-modal{
    padding:0;
    align-items:end;
    padding-bottom:calc(0px + env(safe-area-inset-bottom,0px));
  }
  .vsd-travel-route-dialog{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 58px);
    border-radius:20px 20px 0 0;
  }
  .vsd-travel-route-dialog>header{padding:13px 13px 11px}
  .vsd-travel-route-dialog h2{font-size:17px;line-height:1.15}
  .vsd-travel-route-close{flex-basis:38px}
  .vsd-travel-route-map{height:38dvh;min-height:235px;max-height:340px}
  .vsd-travel-route-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vsd-travel-route-summary>div{padding:9px 8px;min-width:0}
  .vsd-travel-route-summary small{font-size:6.5px}
  .vsd-travel-route-summary strong{font-size:11px;overflow-wrap:normal;word-break:normal}
  .vsd-travel-route-context{margin:10px 12px 0;padding:8px 9px;font-size:8.5px}
  .vsd-travel-route-links{grid-template-columns:1fr;padding:10px 12px 0;gap:8px}
  .vsd-travel-route-links .button{width:100%!important;min-height:44px!important}
  .vsd-travel-route-note{margin:9px 12px 15px;font-size:8px}
}

@media (max-width:420px){
  .vsd-travel-hero{padding:15px 13px}
  .vsd-travel-hero h1{font-size:19px}
  .vsd-travel-hero p{font-size:9.5px}
  .vsd-travel-settings-summary{padding:12px 10px}
  .vsd-travel-settings-icon{flex-basis:32px!important;width:32px!important;height:32px!important;font-size:17px!important}
  .vsd-travel-today{padding:12px 9px}
  .vsd-travel-service-main{padding-left:10px;padding-right:10px}
  .vsd-travel-leave{width:calc(100% + 20px);margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
  .vsd-travel-leave strong{font-size:25px!important}
  .vsd-travel-service-metrics>div{padding:9px}
}

/* ========================================================================
   v3.16.26 · Reistijd bediening gecorrigeerd op desktop + mobiel
   Alleen presentatie: geen wijziging aan routes, opslag of berekeningen.
   ======================================================================== */
.vsd-travel-page .vsd-travel-calendar-check{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:11px!important;
  width:100%!important;
  min-width:0!important;
  padding:13px 14px!important;
}
.vsd-travel-page .vsd-travel-calendar-check input[type="checkbox"]{
  -webkit-appearance:auto!important;
  appearance:auto!important;
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:1px 0 0!important;
  padding:0!important;
  flex:none!important;
  accent-color:#1769aa;
}
.vsd-travel-page .vsd-travel-calendar-check>span{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.vsd-travel-page .vsd-travel-calendar-check strong,
.vsd-travel-page .vsd-travel-calendar-check small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}
.vsd-travel-page .vsd-travel-calendar-check strong{
  color:#173858!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:850!important;
}
.vsd-travel-page .vsd-travel-calendar-check small{
  color:#7a8999!important;
  font-size:10px!important;
  line-height:1.45!important;
}

/* Eigen knopstijl, onafhankelijk van wp-admin/theme button-regels. */
.vsd-travel-page .vsd-travel-form>button[type="submit"],
.vsd-travel-page .vsd-travel-route-open,
.vsd-travel-page .vsd-travel-route-links>a{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:46px!important;
  padding:10px 17px!important;
  border-radius:12px!important;
  border:1px solid #b9cede!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:normal!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}
.vsd-travel-page .vsd-travel-form>button[type="submit"]{
  width:100%!important;
  background:#174f80!important;
  border-color:#174f80!important;
  color:#fff!important;
}
.vsd-travel-page .vsd-travel-form>button[type="submit"]:hover{
  background:#103f69!important;
  border-color:#103f69!important;
}
.vsd-travel-page .vsd-travel-route-open{
  width:auto!important;
  min-width:158px!important;
  background:#eef6fc!important;
  border-color:#bad3e5!important;
  color:#174f80!important;
}
.vsd-travel-page .vsd-travel-route-open:hover{
  background:#e2f0fa!important;
  border-color:#8db8d5!important;
}
.vsd-travel-page .vsd-travel-route-open .dashicons,
.vsd-travel-page .vsd-travel-route-links .dashicons{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  font-size:18px!important;
  line-height:18px!important;
}
.vsd-travel-page .vsd-travel-route-links>a[data-vsd-route-apple]{
  background:#174f80!important;
  border-color:#174f80!important;
  color:#fff!important;
}
.vsd-travel-page .vsd-travel-route-links>a[data-vsd-route-google]{
  background:#fff!important;
  border-color:#bfd1df!important;
  color:#174f80!important;
}
.vsd-travel-page .vsd-travel-route-links>a:hover{
  transform:translateY(-1px)!important;
}

/* Routeknop en context vormen samen één nette footer. */
.vsd-travel-page .vsd-travel-route-actions{
  min-width:0!important;
}
.vsd-travel-page .vsd-travel-route-actions>span{
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

@media (max-width:782px){
  .vsd-travel-page .vsd-travel-calendar-check{
    grid-template-columns:22px minmax(0,1fr)!important;
    padding:12px!important;
  }
  .vsd-travel-page .vsd-travel-calendar-check strong{font-size:11px!important}
  .vsd-travel-page .vsd-travel-calendar-check small{font-size:9px!important}
  .vsd-travel-page .vsd-travel-form>button[type="submit"],
  .vsd-travel-page .vsd-travel-route-open,
  .vsd-travel-page .vsd-travel-route-links>a{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:11px 13px!important;
    font-size:11px!important;
    border-radius:12px!important;
  }
  .vsd-travel-page .vsd-travel-route-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
}

/* v3.16.27 · Sociale profielen: eerstvolgende dienst, aankomend/verleden en dienstlabels. */
.vsd-friend-services-section{min-width:0}
.vsd-profile-next-service{
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px;
  gap:14px;
  align-items:stretch;
  margin:12px;
  overflow:hidden;
  border:1px solid #cfe0eb;
  border-radius:16px;
  background:linear-gradient(135deg,#f5fbff 0%,#eef7ff 58%,#f9fcff 100%);
  box-shadow:0 8px 22px rgba(31,85,122,.08);
}
.vsd-profile-next-service-copy{padding:16px 17px;min-width:0}
.vsd-profile-next-service-copy h4{margin:3px 0 7px;color:#184e77;font-size:21px;line-height:1.08}
.vsd-profile-next-service-copy p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;color:#738997;font-size:10px}
.vsd-profile-next-service-copy p strong{color:#385f79}
.vsd-profile-next-service-copy p span{display:inline-flex;align-items:center;gap:3px}
.vsd-profile-next-service-copy p .dashicons{width:13px;height:13px;font-size:13px;color:#5a839c}
.vsd-profile-next-service-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px;background:linear-gradient(160deg,#276da9,#174f82);color:#fff;text-align:center}
.vsd-profile-next-service-date small{font-size:8px;font-weight:900;letter-spacing:.13em;opacity:.82}
.vsd-profile-next-service-date strong{margin:4px 0 2px;font-size:29px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}
.vsd-profile-next-service-date span{font-size:10px;font-weight:750;color:#deecf8}
.vsd-profile-next-service.is-empty{display:flex;align-items:center;gap:10px;padding:15px 17px;background:#f8fbfd;color:#668095}
.vsd-profile-next-service.is-empty>.dashicons{width:28px;height:28px;font-size:28px;color:#8aa4b6}
.vsd-profile-next-service.is-empty strong,.vsd-profile-next-service.is-empty small{display:block}
.vsd-profile-next-service.is-empty strong{color:#365f79;font-size:13px}
.vsd-profile-next-service.is-empty small{margin-top:2px;font-size:9px}
.vsd-profile-service-badges{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}
.vsd-profile-service-badges>span{display:inline-flex!important;align-items:center;justify-content:center;min-height:22px;padding:2px 7px;border-radius:999px;font-size:7.5px!important;font-weight:900!important;line-height:1!important;text-transform:uppercase;letter-spacing:.045em}
.vsd-profile-service-badges .is-planning{background:#eaf3fb;color:#2e6792;border:1px solid #d2e4f2}
.vsd-profile-service-badges .is-actual{background:#e5f5eb;color:#28734a;border:1px solid #cce9d8}
.vsd-profile-service-badges .is-reserve{background:#fff1d8;color:#8b620d;border:1px solid #eedba9}
.vsd-profile-service-badges .is-shunting{background:#eee9fb;color:#624a98;border:1px solid #ddd3f2}
.vsd-profile-service-group{border-top:1px solid #edf1f4}
.vsd-profile-service-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px 5px}
.vsd-profile-service-group-head h4{margin:2px 0 0;color:#315b75;font-size:13px}
.vsd-profile-service-group-head>span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#edf4f8;color:#6d8494;font-size:8px;font-weight:850}
.vsd-profile-service-group.is-past{margin-top:4px;background:linear-gradient(180deg,rgba(248,250,252,.45),rgba(255,255,255,0))}
.vsd-friend-history-service.is-upcoming{border-color:#cfe0ec;background:#fbfdff}
.vsd-friend-history-service.is-upcoming>summary{background:linear-gradient(90deg,#f7fbff,#fff)}
.vsd-friend-history-service.is-past>summary{background:#fff}
.vsd-friend-history-service>summary .vsd-profile-service-badges{margin-top:5px}

@media(max-width:700px){
  .vsd-profile-next-service{grid-template-columns:minmax(0,1fr) 92px;margin:8px;border-radius:12px;gap:0}
  .vsd-profile-next-service-copy{padding:12px}
  .vsd-profile-next-service-copy h4{font-size:16px}
  .vsd-profile-next-service-copy p{gap:5px;font-size:8.5px}
  .vsd-profile-next-service-date{padding:11px 7px}
  .vsd-profile-next-service-date strong{font-size:23px}
  .vsd-profile-next-service-date span{font-size:8px}
  .vsd-profile-service-group-head{padding:10px 10px 4px}
  .vsd-profile-service-group-head h4{font-size:11px}
  .vsd-profile-service-group-head>span{font-size:7px;padding:3px 6px}
  .vsd-profile-service-badges>span{min-height:19px;padding:2px 6px;font-size:6.5px!important}
}

/* v3.16.57 · veilige snelle rit toevoegen in Mijn dienst */
.vsd-myday-quick-add{
  margin:0 20px 18px;
  padding:18px;
  border:1px solid #b9d6eb;
  border-radius:18px;
  background:linear-gradient(145deg,#eef8ff,#fff);
  box-shadow:0 10px 28px rgba(25,79,125,.09);
}
.vsd-myday-quick-add[hidden]{display:none!important}
.vsd-myday-quick-add-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.vsd-myday-quick-add-head h3{margin:3px 0 4px;color:#173f69;font-size:24px}
.vsd-myday-quick-add-head p{max-width:820px;margin:0;color:#617c91;line-height:1.45}
.vsd-myday-quick-add-close{width:38px;height:38px;border:1px solid #c5d8e7;border-radius:999px;background:#fff;color:#315e7c;font-size:25px;line-height:1;cursor:pointer}
.vsd-myday-quick-add-search{display:grid;grid-template-columns:minmax(220px,360px) auto;align-items:end;gap:10px}
.vsd-myday-quick-add-search label,.vsd-myday-quick-add-fields label{display:grid;gap:6px;color:#365f7b;font-weight:850}
.vsd-myday-quick-add-search input,.vsd-myday-quick-add-fields select{width:100%;min-height:46px;border:1px solid #bfd3e2;border-radius:12px;background:#fff;padding:0 13px;color:#183f62;font-weight:800}
.vsd-myday-quick-add-search .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:12px!important}
.vsd-myday-quick-add-status{margin-top:10px;padding:10px 12px;border-radius:11px;background:#f1f5f8;color:#5a7182;font-size:12px}
.vsd-myday-quick-add-status.is-loading{background:#eef7ff;color:#276b9d}
.vsd-myday-quick-add-status.is-error{background:#fff0ee;color:#a43b32}
.vsd-myday-quick-add-status.is-success{background:#ebf8f0;color:#27734b}
.vsd-myday-quick-add-route{margin-top:14px;padding-top:14px;border-top:1px solid #d6e5ef}
.vsd-myday-quick-route-label{display:block;margin-bottom:10px;color:#173f69;font-size:16px}
.vsd-myday-quick-add-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vsd-myday-quick-add-actions{display:flex;align-items:center;gap:14px;margin-top:14px}
.vsd-myday-quick-add-actions .button{display:inline-flex;align-items:center;gap:7px;min-height:44px;border-radius:12px!important}
.vsd-myday-quick-add-actions small{color:#698194}
.vsd-myday-head-actions .vsd-myday-quick-add-toggle{display:inline-flex;align-items:center;gap:6px}
@media(max-width:760px){
  .vsd-myday-quick-add{margin:0 8px 12px;padding:13px;border-radius:14px}
  .vsd-myday-quick-add-head h3{font-size:19px}
  .vsd-myday-quick-add-head p{font-size:11px}
  .vsd-myday-quick-add-search{grid-template-columns:1fr}
  .vsd-myday-quick-add-fields{grid-template-columns:1fr}
  .vsd-myday-quick-add-actions{align-items:stretch;flex-direction:column}
  .vsd-myday-quick-add-actions .button{width:100%;justify-content:center}
}

/* ========================================================================
   v3.16.29 · CTA-profielkop + verjaardagbadge weg uit banner/upload
   ======================================================================== */
.vsd-profile-hero.vsd-profile-hero-cta{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr);
  align-items:stretch;
  gap:16px;
  padding:18px;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(18,72,120,.12);
  background:linear-gradient(130deg,#0f4c88 0%,#1768a4 58%,#6ba9ce 100%);
  box-shadow:0 18px 44px rgba(13,47,82,.16);
}
.vsd-profile-hero.vsd-profile-hero-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.30),transparent 26%),linear-gradient(0deg,rgba(6,24,43,.10),transparent 55%);
  pointer-events:none;
}
.vsd-profile-hero-cta .vsd-profile-hero-main,
.vsd-profile-hero-cta .vsd-profile-hero-side{
  position:relative;
  z-index:1;
}
.vsd-profile-hero-cta .vsd-profile-hero-main{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  padding:16px 18px;
  border-radius:20px;
  background:#f8fbff;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.vsd-profile-hero-cta .vsd-profile-hero-avatar{
  display:grid;
  place-items:center;
  flex:0 0 92px;
  width:92px;
  min-width:92px;
  height:92px;
  padding:8px;
  border-radius:20px;
  background:linear-gradient(160deg,#dbeaf5,#f5fbff);
  box-shadow:inset 0 0 0 1px rgba(24,76,122,.10);
}
.vsd-profile-hero-cta .vsd-profile-hero-avatar .vsd-own-profile-photo,
.vsd-profile-hero-cta .vsd-profile-hero-avatar .avatar{
  width:76px!important;
  height:76px!important;
  border-radius:18px!important;
  object-fit:cover;
}
.vsd-profile-hero-cta .vsd-profile-hero-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.vsd-profile-hero-cta .vsd-profile-hero-copy>span{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf3fb;
  color:#4f7088;
  font-size:8px;
  letter-spacing:.16em;
  font-weight:900;
}
.vsd-profile-hero-cta .vsd-profile-hero-copy h1{
  margin:8px 0 5px;
  color:#173a61;
  font-size:31px;
  line-height:1.05;
}
.vsd-profile-hero-cta .vsd-profile-hero-copy p{
  margin:0;
  color:#537086;
  font-size:11px;
  line-height:1.55;
}
.vsd-profile-hero-cta .vsd-profile-public-link{
  margin-top:12px;
  border-color:#c5d9eb;
  background:#173a61;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(17,53,88,.14);
}
.vsd-profile-hero-cta .vsd-profile-public-link .dashicons{color:#d7ebff!important}
.vsd-profile-hero-cta .vsd-profile-hero-side{
  display:grid;
  gap:12px;
  align-content:stretch;
}
.vsd-profile-hero-cta .vsd-profile-hero-side>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:calc(50% - 6px);
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}
.vsd-profile-hero-cta .vsd-profile-hero-side small{
  display:block;
  margin-bottom:4px;
  color:#6b89a0;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:900;
}
.vsd-profile-hero-cta .vsd-profile-hero-side strong{
  display:block;
  color:#173a61;
  font-size:18px;
  line-height:1.2;
}

.vsd-social-profile-page .vsd-friend-profile-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(185px,.34fr);
  gap:16px;
  min-height:auto;
  padding:18px;
  align-items:stretch;
  overflow:hidden;
  border-radius:21px 21px 0 0;
  background:linear-gradient(130deg,#0f4c88 0%,#1768a4 58%,#6ba9ce 100%);
}
.vsd-social-profile-page .vsd-friend-profile-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.30),transparent 26%),linear-gradient(0deg,rgba(6,24,43,.10),transparent 55%);
}
.vsd-social-profile-page .vsd-friend-profile-person,
.vsd-social-profile-page .vsd-friend-profile-badges{position:relative;z-index:1}
.vsd-social-profile-page .vsd-friend-profile-person{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  padding:16px 18px;
  border-radius:20px;
  background:#f8fbff;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.vsd-social-profile-page .vsd-friend-profile-person>div{min-width:0}
.vsd-social-profile-page .vsd-friend-profile-person>.vsd-own-profile-photo,
.vsd-social-profile-page .vsd-friend-profile-person>.avatar{
  width:96px!important;
  height:96px!important;
  flex:0 0 96px;
  border:5px solid #fff;
  border-radius:999px;
  box-shadow:0 8px 24px rgba(10,32,53,.18);
  object-fit:cover;
}
.vsd-social-profile-page .vsd-friend-profile-person h2{
  margin:6px 0 3px;
  color:#173a61;
  font-size:30px;
  line-height:1.05;
  text-shadow:none;
}
.vsd-social-profile-page .vsd-friend-profile-person p,
.vsd-social-profile-page .vsd-friend-profile-person .vsd-kicker{
  color:#547186;
}
.vsd-social-profile-page .vsd-friend-profile-person .vsd-kicker{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf3fb;
  font-size:8px;
  letter-spacing:.16em;
  font-weight:900;
}
.vsd-social-profile-page .vsd-friend-profile-badges{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
}
.vsd-social-profile-page .vsd-friend-profile-badges>span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:52px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  color:#173a61;
  font-size:10px;
  font-weight:850;
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}
.vsd-social-profile-page .vsd-friend-profile-badges>span.private{background:#fff9ea;color:#7b5b10}

@media(max-width:900px){
  .vsd-profile-hero.vsd-profile-hero-cta,
  .vsd-social-profile-page .vsd-friend-profile-hero{grid-template-columns:1fr}
  .vsd-profile-hero-cta .vsd-profile-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsd-social-profile-page .vsd-friend-profile-badges{flex-direction:row;flex-wrap:wrap}
  .vsd-social-profile-page .vsd-friend-profile-badges>span{flex:1 1 180px}
}
@media(max-width:640px){
  .vsd-profile-hero-cta .vsd-profile-hero-main,
  .vsd-social-profile-page .vsd-friend-profile-person{align-items:flex-start;flex-direction:column}
  .vsd-profile-hero-cta .vsd-profile-hero-avatar{flex-basis:84px;width:84px;min-width:84px;height:84px}
  .vsd-profile-hero-cta .vsd-profile-hero-avatar .vsd-own-profile-photo,
  .vsd-profile-hero-cta .vsd-profile-hero-avatar .avatar{width:68px!important;height:68px!important}
  .vsd-profile-hero-cta .vsd-profile-hero-copy h1,
  .vsd-social-profile-page .vsd-friend-profile-person h2{font-size:24px}
  .vsd-profile-hero-cta .vsd-profile-hero-side{grid-template-columns:1fr}
}

/* ========================================================================
   v3.16.33 · Mijn dienst compacter + eigen printdienst
   ======================================================================== */
.vsd-myday-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.vsd-myday-head-actions .vsd-print-myday-service,
.vsd-myday-head-actions .vsd-myday-pdf-service{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:31px!important;
  padding:4px 9px!important;
  border-radius:9px!important;
  border-color:#c8d9e7!important;
  background:#fff!important;
  color:#244d70!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
}
.vsd-myday-head-actions .vsd-print-myday-service .dashicons,
.vsd-myday-head-actions .vsd-myday-pdf-service .dashicons{
  width:14px;
  height:14px;
  font-size:14px;
}

@media(max-width:600px){
  .vsd-myday-service-view-head{
    padding:9px 10px!important;
    gap:7px!important;
  }
  .vsd-myday-service-view-head h2{
    margin-bottom:2px!important;
    font-size:14px!important;
  }
  .vsd-myday-service-view-head p{
    display:none!important;
  }
  .vsd-myday-service-view-head small{
    margin-top:2px!important;
    font-size:7.5px!important;
  }
  .vsd-myday-head-actions{
    align-items:flex-start;
    gap:5px;
  }
  .vsd-myday-head-actions .vsd-print-myday-service,
.vsd-myday-head-actions .vsd-myday-pdf-service{
    min-height:27px!important;
    padding:3px 6px!important;
    font-size:7.5px!important;
  }
  .vsd-myday-head-actions .vsd-print-myday-service .dashicons,
.vsd-myday-head-actions .vsd-myday-pdf-service .dashicons{
    width:12px;
    height:12px;
    font-size:12px;
  }
  .vsd-myday-service-view-head>.vsd-badge,
  .vsd-myday-head-actions>.vsd-badge{
    padding:4px 6px!important;
    font-size:7px!important;
  }

  .vsd-myday-service-flow{
    padding:6px!important;
    gap:5px!important;
  }
  .vsd-myday-flow-card>.vsd-flow-row,
  .vsd-myday-flow-break>.vsd-flow-row{
    gap:5px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
  }
  .vsd-myday-flow-card .vsd-flow-time,
  .vsd-myday-flow-break .vsd-flow-time{
    min-height:31px!important;
    padding:5px 7px!important;
    border-radius:10px!important;
  }
  .vsd-myday-flow-card .vsd-flow-time strong,
  .vsd-myday-flow-break .vsd-flow-time strong{
    font-size:15px!important;
  }
  .vsd-myday-flow-card .vsd-flow-side,
  .vsd-myday-flow-break .vsd-flow-side{
    min-width:56px!important;
  }
  .vsd-myday-flow-card .vsd-flow-status,
  .vsd-myday-flow-break .vsd-flow-status{
    min-height:25px!important;
    padding:4px 8px!important;
    font-size:9px!important;
  }
  .vsd-myday-flow-card .vsd-flow-side small,
  .vsd-myday-flow-break .vsd-flow-side small{
    margin-top:2px!important;
    font-size:7px!important;
  }
  .vsd-myday-flow-card .vsd-flow-title,
  .vsd-myday-flow-break .vsd-flow-title{
    gap:4px!important;
  }
  .vsd-myday-flow-card .vsd-flow-title h3,
  .vsd-myday-flow-break .vsd-flow-title h3{
    margin:2px 0 0!important;
    font-size:11.5px!important;
    line-height:1.22!important;
  }
  .vsd-myday-flow-card .vsd-flow-sub,
  .vsd-myday-flow-break .vsd-flow-sub{
    margin-top:2px!important;
    font-size:7.5px!important;
  }
  .vsd-myday-flow-card .vsd-activity-type-chip,
  .vsd-myday-flow-card .vsd-workform-label,
  .vsd-myday-flow-break .vsd-activity-type-chip{
    min-height:18px!important;
    padding:2px 6px!important;
    font-size:6.5px!important;
  }
  .vsd-myday-flow-card .vsd-train-origin-note{
    margin-top:3px!important;
    font-size:7px!important;
    line-height:1.25!important;
  }
  .vsd-myday-flow-card .vsd-flow-material{
    margin-top:4px!important;
    gap:4px!important;
  }

  .vsd-myday-flow-buttons{
    margin-top:5px!important;
    gap:4px!important;
  }
  .vsd-myday-flow-buttons .button{
    min-height:26px!important;
    padding:3px 7px!important;
    border-radius:8px!important;
    font-size:7.5px!important;
  }
  .vsd-myday-flow-buttons .dashicons{
    width:12px!important;
    height:12px!important;
    font-size:12px!important;
  }

  .vsd-myday-flow-card .vsd-myday-quick-grid{
    margin-top:3px!important;
    padding:3px!important;
    gap:3px!important;
    border-radius:9px!important;
  }
  .vsd-myday-flow-card .vsd-myday-quick>summary{
    min-height:29px!important;
    padding:3px 4px!important;
  }
  .vsd-myday-flow-card .vsd-myday-quick>summary>.dashicons:first-child{
    width:12px!important;
    height:12px!important;
    font-size:12px!important;
  }
  .vsd-myday-flow-card .vsd-myday-quick>summary span strong{
    font-size:6.8px!important;
    line-height:1.05!important;
  }
  .vsd-myday-flow-card .vsd-myday-quick>summary span small,
  .vsd-myday-flow-card .vsd-myday-quick>summary>span:last-child{
    display:none!important;
  }
  .vsd-myday-flow-card .vsd-myday-danger{
    padding:1px 4px 0!important;
  }
  .vsd-myday-flow-card .vsd-myday-delete{
    min-height:22px!important;
    padding:1px 5px!important;
    font-size:6.5px!important;
  }
  .vsd-myday-flow-card .vsd-myday-delete .dashicons{
    width:12px!important;
    height:12px!important;
    font-size:12px!important;
  }

  .vsd-myday-transfer{
    min-height:20px!important;
    margin:-2px 0 -1px 10px!important;
    gap:3px!important;
  }
  .vsd-myday-transfer .dashicons{
    width:12px!important;
    height:12px!important;
    font-size:12px!important;
  }
  .vsd-myday-transfer strong{font-size:7.5px!important}
  .vsd-myday-transfer>span:last-child{font-size:7px!important}

  .vsd-myday-as-service-view>.vsd-myday-service-actions{
    padding:6px!important;
    gap:4px!important;
  }
  .vsd-myday-as-service-view>.vsd-myday-service-actions .button{
    min-height:29px!important;
    padding:4px 7px!important;
    font-size:7.5px!important;
  }
}

@media print{
  body.vsd-printing-myday{
    background:#fff!important;
  }
  body.vsd-printing-myday .vsd-frontend-header,
  body.vsd-printing-myday .vsd-mobile-bottom-nav,
  body.vsd-printing-myday .vsd-mobile-more,
  body.vsd-printing-myday .vsd-scroll-top,
  body.vsd-printing-myday .vsd-myday-hero,
  body.vsd-printing-myday .vsd-myday-actual-required,
  body.vsd-printing-myday .vsd-myday-flow-buttons,
  body.vsd-printing-myday .vsd-myday-quick-grid,
  body.vsd-printing-myday .vsd-myday-danger,
  body.vsd-printing-myday .vsd-myday-service-actions,
  body.vsd-printing-myday .vsd-myday-head-actions,
  body.vsd-printing-myday .vsd-myday-route-modal,
  body.vsd-printing-myday .vsd-flow-modal{
    display:none!important;
  }
  body.vsd-printing-myday .vsd-myday-page>.vsd-myday-service{
    display:none!important;
  }
  body.vsd-printing-myday .vsd-myday-page>.vsd-myday-service.is-print-target{
    display:block!important;
  }
  body.vsd-printing-myday .vsd-frontend-main,
  body.vsd-printing-myday .vsd-frontend-content,
  body.vsd-printing-myday .vsd-myday-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.vsd-printing-myday .vsd-myday-as-service-view{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.vsd-printing-myday .vsd-myday-service-view-head{
    padding:10px 0!important;
    background:#fff!important;
    border-bottom:2px solid #244d70!important;
  }
  body.vsd-printing-myday .vsd-myday-service-view-head p{
    display:none!important;
  }
  body.vsd-printing-myday .vsd-myday-service-flow{
    padding:8px 0!important;
    background:#fff!important;
  }
  body.vsd-printing-myday .vsd-myday-flow-card,
  body.vsd-printing-myday .vsd-myday-flow-break,
  body.vsd-printing-myday .vsd-myday-flow-card>.vsd-flow-row,
  body.vsd-printing-myday .vsd-myday-flow-break>.vsd-flow-row,
  body.vsd-printing-myday .vsd-myday-transfer{
    break-inside:avoid!important;
    box-shadow:none!important;
  }
  body.vsd-printing-myday .vsd-myday-flow-card>.vsd-flow-row,
  body.vsd-printing-myday .vsd-myday-flow-break>.vsd-flow-row{
    border-color:#cfd8e2!important;
    background:#fff!important;
  }
}


/* v3.16.34 · mobiele header: lege accountchip/rondje volledig weg */
@media(max-width:600px){
  .vsd-frontend-user{display:none!important;}
}


/* ========================================================================
   v3.16.36 · PDF-preview / web-app printflow
   ======================================================================== */
.vsd-pdf-preview-page{max-width:1100px;margin:0 auto;padding-bottom:110px}
.vsd-pdf-preview-card{
  overflow:hidden;
  border:1px solid #cbddea;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(21,65,103,.10);
}
.vsd-pdf-preview-card.is-error{padding:28px;text-align:center}
.vsd-pdf-preview-card.is-error>.dashicons{width:42px;height:42px;font-size:42px;color:#b94b40}
.vsd-pdf-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:20px 22px;
  background:linear-gradient(135deg,#eef7ff,#fff);
  border-bottom:1px solid #d7e4ee;
}
.vsd-pdf-preview-head h2{margin:3px 0 2px;color:#173f69;font-size:28px}
.vsd-pdf-preview-head p{margin:0;color:#6a8398;font-weight:650}
.vsd-pdf-preview-actions{
  display:flex;
  gap:10px;
  padding:14px 22px;
  border-bottom:1px solid #d7e4ee;
  background:#fff;
}
.vsd-pdf-preview-actions .button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 18px!important;
  border-radius:12px!important;
  font-weight:850!important;
}
.vsd-pdf-preview-actions .button-primary{background:#174f80!important;border-color:#174f80!important;color:#fff!important}
.vsd-pdf-preview-help{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:11px 22px;
  background:#f1f8fd;
  color:#537086;
  font-size:12px;
  line-height:1.45;
}
.vsd-pdf-preview-help strong{flex:0 0 auto;color:#174f80}
.vsd-pdf-preview-frame{height:min(72vh,900px);background:#e9eef3}
.vsd-pdf-preview-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.vsd-spin{animation:vsdPdfSpin .8s linear infinite}
@keyframes vsdPdfSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .vsd-pdf-preview-page{padding:0 10px 105px}
  .vsd-pdf-preview-card{border-radius:18px}
  .vsd-pdf-preview-head{align-items:flex-start;padding:15px;gap:10px}
  .vsd-pdf-preview-head h2{font-size:22px}
  .vsd-pdf-preview-head p{font-size:11px}
  .vsd-pdf-preview-head>.button{flex:0 0 auto;min-height:38px}
  .vsd-pdf-preview-actions{display:grid;grid-template-columns:1fr;padding:10px 15px}
  .vsd-pdf-preview-actions .button{width:100%;min-height:48px}
  .vsd-pdf-preview-help{display:block;padding:10px 15px;font-size:11px}
  .vsd-pdf-preview-help strong{display:block;margin-bottom:3px}
  .vsd-pdf-preview-frame{height:62vh;min-height:480px}
}


/* ========================================================================
   v3.16.72 · Mijn dienst mobiel + snelle rit in portaalheader + compact zoeken
   ======================================================================== */
.vsd-frontend-quick-ride{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 11px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.14);color:#fff;font:800 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.vsd-frontend-quick-ride:hover,.vsd-frontend-quick-ride:focus{background:rgba(255,255,255,.22);color:#fff}
.vsd-frontend-quick-ride .dashicons{width:16px;height:16px;font-size:16px}
.vsd-quick-ride-hidden-trigger{display:none!important}
.vsd-home-tools-grid .vsd-home-train-search{padding:12px!important;border-radius:15px!important;box-shadow:0 5px 18px rgba(16,47,87,.05)!important}
.vsd-home-tools-grid .vsd-home-train-search-head{gap:8px!important;margin-bottom:8px!important;align-items:center!important}
.vsd-home-tools-grid .vsd-home-train-search-head h2{margin:1px 0 0!important;font-size:16px!important;line-height:1.1!important}
.vsd-home-tools-grid .vsd-home-train-search-head p{display:none!important}
.vsd-home-tools-grid .vsd-home-train-search-head>.dashicons{width:32px!important;height:32px!important;border-radius:10px!important;font-size:17px!important;line-height:32px!important}
.vsd-home-tools-grid .vsd-home-train-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:7px!important;padding:8px!important;border-radius:11px!important}
.vsd-home-tools-grid .vsd-home-train-search-form label{gap:3px!important}
.vsd-home-tools-grid .vsd-home-train-search-form label>span{font-size:8px!important}
.vsd-home-tools-grid .vsd-home-train-search-form input{min-height:34px!important;padding:5px 8px!important;border-radius:8px!important;font-size:12px!important}
.vsd-home-tools-grid .vsd-home-train-search-form .button{min-height:34px!important;padding:0 10px!important;border-radius:8px!important;font-size:10px!important}
.vsd-home-tools-grid .vsd-home-train-search-hint{display:none!important}
@media(max-width:600px){
 .vsd-myday-service-view-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:7px 9px!important}
 .vsd-myday-service-view-head>div:first-child{min-width:0!important;width:auto!important;max-width:none!important}
 .vsd-myday-service-view-head h2,.vsd-myday-service-view-head small{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
 .vsd-myday-service-view-head h2{font-size:14px!important;line-height:1.2!important}
 .vsd-myday-head-actions{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:flex-end!important;width:auto!important;min-width:0!important}
 .vsd-myday-head-actions .vsd-myday-pdf-service,.vsd-myday-head-actions>.vsd-badge{white-space:nowrap!important}
 .vsd-frontend-quick-ride{margin-left:auto;padding:5px 8px;min-height:31px;font-size:9px}
 .vsd-frontend-quick-ride span:last-child{display:none}
 .vsd-home-tools-grid .vsd-home-train-search-form{grid-template-columns:1fr 1fr!important}
 .vsd-home-tools-grid .vsd-home-train-search-form .button{grid-column:1/-1!important;width:100%!important}
}


/* v3.16.73 · Snelle rit staat weer op zijn oorspronkelijke plek in Mijn dienst. */
.vsd-quick-ride-hidden-trigger{display:inline-flex!important}

/* ========================================================================
   v3.16.74 · Mijn dienst telefoon: koptekst weer leesbaar
   ======================================================================== */
@media(max-width:600px){
  .vsd-myday-service-view-head{
    display:block!important;
    width:100%!important;
    padding:12px 12px 10px!important;
    box-sizing:border-box!important;
  }
  .vsd-myday-service-view-head>div:first-child{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .vsd-myday-service-view-head h2{
    margin:0 0 4px!important;
    width:100%!important;
    max-width:100%!important;
    font-size:18px!important;
    line-height:1.18!important;
    letter-spacing:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }
  .vsd-myday-service-view-head small{
    display:block!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .vsd-myday-head-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    gap:6px!important;
    margin-top:10px!important;
  }
  .vsd-myday-head-actions .vsd-myday-quick-add-toggle{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:6px 10px!important;
    justify-content:center!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .vsd-myday-head-actions .vsd-myday-pdf-service{
    min-height:38px!important;
    padding:6px 9px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  .vsd-myday-head-actions>.vsd-badge{
    display:inline-flex!important;
    align-items:center!important;
    min-height:38px!important;
    padding:6px 9px!important;
    box-sizing:border-box!important;
    font-size:8px!important;
    white-space:nowrap!important;
  }
}
@media(max-width:370px){
  .vsd-myday-head-actions{grid-template-columns:1fr auto!important}
  .vsd-myday-head-actions>.vsd-badge{grid-column:1/-1!important;justify-content:center!important;min-height:30px!important}
}

/* ========================================================================
   v3.17.02 · Mijn diensten op telefoon als compacte dagagenda
   ======================================================================== */
.vsd-myday-mobile-actions>summary{display:none}
.vsd-myday-mobile-primary-actions{display:none}
.vsd-myday-mobile-actions-body{display:block}

@media(max-width:600px){
  .vsd-myday-page{gap:8px!important}
  .vsd-myday-hero{padding:8px 9px!important;gap:5px!important}
  .vsd-myday-hero>div:first-child>span{font-size:6.5px!important}
  .vsd-myday-hero h1{font-size:15px!important;line-height:1.1!important;margin:1px 0!important}
  .vsd-myday-hero-stats{gap:3px!important}
  .vsd-myday-hero-stats>span{padding:3px 2px!important;min-height:34px!important}
  .vsd-myday-hero-stats strong{font-size:12px!important}
  .vsd-myday-hero-stats small{font-size:5.8px!important}

  .vsd-myday-service-view-head{padding:8px 9px!important}
  .vsd-myday-service-view-head h2{font-size:14px!important;margin:0 0 2px!important}
  .vsd-myday-service-view-head small{font-size:8px!important}
  .vsd-myday-head-actions{margin-top:6px!important;gap:4px!important}
  .vsd-myday-head-actions .vsd-myday-quick-add-toggle,
  .vsd-myday-head-actions .vsd-myday-pdf-service,
  .vsd-myday-head-actions>.vsd-badge{min-height:31px!important}
  .vsd-myday-head-actions .vsd-myday-quick-add-toggle{font-size:9px!important;padding:4px 8px!important}
  .vsd-myday-head-actions .vsd-myday-pdf-service{font-size:7.5px!important;padding:4px 6px!important}
  .vsd-myday-head-actions>.vsd-badge{font-size:7px!important;padding:4px 6px!important}

  .vsd-myday-service-flow{padding:5px!important;gap:4px!important}
  .vsd-myday-flow-card>.vsd-flow-row,
  .vsd-myday-flow-break>.vsd-flow-row{
    display:grid!important;
    grid-template-columns:72px 23px minmax(0,1fr) 52px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:5px!important;
    min-height:58px!important;
    padding:6px 7px!important;
    border-radius:11px!important;
  }
  .vsd-myday-flow-card .vsd-flow-time,
  .vsd-myday-flow-break .vsd-flow-time{
    grid-column:1!important;grid-row:1!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    width:72px!important;min-width:72px!important;max-width:72px!important;min-height:28px!important;
    padding:4px 5px!important;border-radius:9px!important;background:#f1f6fb!important;
    white-space:nowrap!important
  }
  .vsd-myday-flow-card .vsd-flow-time strong,
  .vsd-myday-flow-break .vsd-flow-time strong{font-size:11px!important;line-height:1!important}
  .vsd-myday-flow-card .vsd-flow-time-arrow,
  .vsd-myday-flow-break .vsd-flow-time span{font-size:8px!important}
  .vsd-myday-flow-card .vsd-flow-icon,
  .vsd-myday-flow-break .vsd-flow-icon{grid-column:2!important;grid-row:1!important;width:23px!important;height:23px!important}
  .vsd-myday-flow-card .vsd-flow-icon .dashicons,
  .vsd-myday-flow-break .vsd-flow-icon .dashicons{font-size:13px!important;width:13px!important;height:13px!important}
  .vsd-myday-flow-card .vsd-flow-main,
  .vsd-myday-flow-break .vsd-flow-main{grid-column:3!important;grid-row:1!important;min-width:0!important}
  .vsd-myday-flow-card .vsd-flow-side,
  .vsd-myday-flow-break .vsd-flow-side{grid-column:4!important;grid-row:1!important;min-width:0!important;width:52px!important;text-align:right!important}
  .vsd-myday-flow-card .vsd-flow-title,
  .vsd-myday-flow-break .vsd-flow-title{display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:wrap!important}
  .vsd-myday-flow-card .vsd-flow-title h3,
  .vsd-myday-flow-break .vsd-flow-title h3{
    flex:1 1 100%!important;margin:1px 0 0!important;font-size:9.7px!important;line-height:1.12!important;
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important
  }
  .vsd-myday-flow-card .vsd-activity-type-chip,
  .vsd-myday-flow-card .vsd-workform-label,
  .vsd-myday-flow-break .vsd-activity-type-chip{min-height:14px!important;padding:1px 4px!important;font-size:5.5px!important}
  .vsd-myday-flow-card .vsd-flow-sub,
  .vsd-myday-flow-break .vsd-flow-sub{margin-top:1px!important;font-size:6.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .vsd-myday-flow-card .vsd-train-origin-note,
  .vsd-myday-flow-card .vsd-effective-destination,
  .vsd-myday-flow-card .vsd-flow-detail-warning{display:none!important}
  .vsd-myday-flow-card .vsd-flow-material{margin-top:2px!important;gap:3px!important;display:flex!important;flex-wrap:nowrap!important;overflow:hidden!important}
  .vsd-myday-flow-card .vsd-flow-material span{min-height:16px!important;padding:1px 4px!important;white-space:nowrap!important}
  .vsd-myday-flow-card .vsd-flow-material small{display:none!important}
  .vsd-myday-flow-card .vsd-flow-material b{font-size:6.5px!important}
  .vsd-myday-flow-card .vsd-flow-status,
  .vsd-myday-flow-break .vsd-flow-status{min-height:20px!important;padding:3px 5px!important;font-size:7px!important;white-space:nowrap!important}
  .vsd-myday-flow-card .vsd-flow-side small,
  .vsd-myday-flow-break .vsd-flow-side small{display:none!important}
  .vsd-myday-flow-card .vsd-myday-flow-buttons{display:none!important}

  .vsd-myday-transfer{min-height:15px!important;margin:-1px 0 -1px 8px!important;gap:2px!important}
  .vsd-myday-transfer .dashicons{width:10px!important;height:10px!important;font-size:10px!important}
  .vsd-myday-transfer strong{font-size:6.5px!important}
  .vsd-myday-transfer>span:last-child{font-size:6px!important}

  .vsd-myday-mobile-actions{margin:3px 0 0!important;border:1px solid #e1eaf1!important;border-radius:9px!important;background:#f8fbfd!important;overflow:hidden!important}
  .vsd-myday-mobile-actions>summary{
    display:grid!important;grid-template-columns:15px auto minmax(0,1fr) 14px!important;align-items:center!important;gap:4px!important;
    min-height:27px!important;padding:4px 7px!important;cursor:pointer!important;list-style:none!important;color:#355f7d!important
  }
  .vsd-myday-mobile-actions>summary::-webkit-details-marker{display:none!important}
  .vsd-myday-mobile-actions>summary .dashicons{width:13px!important;height:13px!important;font-size:13px!important}
  .vsd-myday-mobile-actions>summary strong{font-size:7.5px!important}
  .vsd-myday-mobile-actions-hint{font-size:6px!important;color:#8294a2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .vsd-myday-mobile-actions[open]>summary{border-bottom:1px solid #e2eaf0!important;background:#f3f8fb!important}
  .vsd-myday-mobile-actions-body{padding:4px!important}
  .vsd-myday-mobile-primary-actions{display:flex!important;gap:4px!important;margin-bottom:4px!important}
  .vsd-myday-mobile-primary-actions .button{min-height:25px!important;padding:3px 6px!important;font-size:7px!important;border-radius:7px!important}
  .vsd-myday-flow-card .vsd-myday-quick-grid{margin:0!important;padding:3px!important;gap:3px!important}
  .vsd-myday-flow-card .vsd-myday-danger{padding:3px 3px 0!important}

  .vsd-myday-service-flow.vsd-mobile-hide-past>.state-past,
  .vsd-myday-service-flow.vsd-mobile-hide-past>.vsd-myday-transfer.vsd-past-transfer{display:none!important}
  .vsd-myday-past-toggle{
    width:100%!important;min-height:30px!important;margin:0 0 4px!important;border:1px solid #d8e4ed!important;border-radius:9px!important;
    background:#f7fafc!important;color:#527087!important;font-size:8px!important;font-weight:800!important;text-align:center!important
  }

  .vsd-myday-as-service-view>.vsd-myday-service-actions{padding:5px!important;gap:4px!important}
  .vsd-myday-as-service-view>.vsd-myday-service-actions .button{min-height:27px!important;padding:3px 6px!important;font-size:7px!important}
}

/* v3.17.03 - snel dienstkaartje printen vanaf Home */
.vsd-today-overview-quick-actions{display:flex;align-items:stretch;gap:10px}
.vsd-today-print-service{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
@media(max-width:700px){
 .vsd-today-overview-quick-actions{gap:7px;flex:1 1 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
 .vsd-today-print-service,.vsd-today-quick-service-button{min-width:0!important;padding-left:10px!important;padding-right:10px!important}
}

/* ========================================================================
   v3.17.10 · Home telefoon: status + twee acties weer grafisch kloppend
   ======================================================================== */
@media(max-width:700px){
  /* Met drie elementen (status + dienstkaartje + snelle dienst) werd de status
     op telefoon in een absurd smalle kolom geperst. Maak er bewust 2 rijen van. */
  .vsd-today-overview-status-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    align-items:stretch!important;
  }
  .vsd-today-overview-status-actions>.vsd-today-overview-status{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:54px!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px 12px!important;
    box-sizing:border-box!important;
  }
  .vsd-today-overview-status-actions>.vsd-today-overview-status small,
  .vsd-today-overview-status-actions>.vsd-today-overview-status strong,
  .vsd-today-overview-status-actions>.vsd-today-overview-status span{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .vsd-today-overview-status-actions>.vsd-today-overview-status small{font-size:8px!important}
  .vsd-today-overview-status-actions>.vsd-today-overview-status strong{font-size:14px!important}
  .vsd-today-overview-status-actions>.vsd-today-overview-status span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:8px!important;
  }

  .vsd-today-overview-quick-actions{
    grid-column:1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  .vsd-today-print-service,
  .vsd-today-quick-service-button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:48px!important;
    height:48px!important;
    margin:0!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    justify-content:center!important;
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .vsd-today-print-service .dashicons,
  .vsd-today-quick-service-button .dashicons{
    width:17px!important;
    height:17px!important;
    font-size:17px!important;
    flex:0 0 auto!important;
  }
  .vsd-today-quick-service-button span:last-child{display:inline!important}
}
@media(max-width:370px){
  .vsd-today-overview-quick-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .vsd-today-print-service,.vsd-today-quick-service-button{font-size:9.5px!important;padding:7px 6px!important}
}


/* v3.17.13 · Info pagina */
.vsd-info-page{display:grid;gap:18px;max-width:1180px;margin:0 auto}.vsd-info-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;border:1px solid #d7e6f2;border-radius:24px;background:linear-gradient(135deg,#f8fcff 0%,#eef7ff 62%,#fff8de 100%);box-shadow:0 12px 30px rgba(17,64,104,.07)}.vsd-info-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:250px;height:250px;border-radius:50%;background:rgba(24,108,174,.07)}.vsd-info-eyebrow{display:block;margin-bottom:7px;color:#517494;font-size:11px;font-weight:900;letter-spacing:.18em}.vsd-info-hero h1{margin:0 0 8px;color:#163e66;font-size:30px;line-height:1.1}.vsd-info-hero p{max-width:760px;margin:0;color:#60778e;font-size:14px}.vsd-info-hero-icon{position:relative;z-index:1;display:grid!important;place-items:center;width:64px!important;height:64px!important;border-radius:20px;background:#176da8;color:#fff;font-size:32px!important;box-shadow:0 10px 25px rgba(23,109,168,.22)}.vsd-info-section{padding:24px;border:1px solid #dae6ef;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(18,56,88,.05)}.vsd-info-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.vsd-info-section-head>div{display:flex;align-items:center;gap:12px}.vsd-info-section-head .dashicons{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf6fd;color:#1671ae;font-size:22px}.vsd-info-section-head small{display:block;color:#66819a;font-size:9px;font-weight:900;letter-spacing:.18em}.vsd-info-section-head h2{margin:2px 0 0;color:#193f63;font-size:20px}.vsd-info-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#edf5fb;color:#315d82;font-weight:900}.vsd-info-intro{margin:-3px 0 16px;color:#5e758b}.vsd-info-manual-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.vsd-info-primary,.vsd-info-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border-radius:12px;text-decoration:none!important;font-weight:800}.vsd-info-primary{background:#154d83;color:#fff!important}.vsd-info-secondary{border:1px solid #cdddea;background:#f8fbfe;color:#245879!important}.vsd-info-pdf-wrap{overflow:hidden;height:min(68vh,720px);min-height:480px;border:1px solid #cfdde9;border-radius:16px;background:#eef3f7}.vsd-info-pdf-wrap iframe{width:100%;height:100%;border:0;background:#fff}.vsd-info-empty{display:grid;place-items:center;min-height:150px;padding:22px;text-align:center;border:1px dashed #cedce7;border-radius:16px;background:#f8fbfd;color:#6f8497}.vsd-info-empty .dashicons{font-size:30px;width:30px;height:30px;margin-bottom:8px;color:#82a0b8}.vsd-info-empty p{margin:5px 0 0}.vsd-info-timeline{display:grid;gap:0}.vsd-info-update{position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;padding-bottom:16px}.vsd-info-update:not(:last-child):before{content:"";position:absolute;left:20px;top:39px;bottom:-1px;width:2px;background:#d9e6ef}.vsd-info-update-dot{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eef6fc;color:#1c76ae}.vsd-info-update-card{padding:14px 16px;border:1px solid #dce7ef;border-radius:15px;background:#fbfdff}.vsd-info-update.is-latest .vsd-info-update-card{border-color:#afd4ec;background:#f5fbff}.vsd-info-update-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.vsd-info-update-meta time{color:#7b8fa1;font-size:11px}.vsd-info-newest{padding:3px 7px;border-radius:999px;background:#fff2bf;color:#765b00;font-size:9px;font-weight:900;text-transform:uppercase}.vsd-info-update-card h3{margin:8px 0 5px;color:#173e61;font-size:16px}.vsd-info-update-card p{margin:0;color:#5b7186;line-height:1.55}.vsd-info-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vsd-info-credit{display:flex;gap:12px;padding:15px;border:1px solid #dce7ef;border-radius:15px;background:#fbfdff}.vsd-info-credit-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#1d6ea7,#174a79);color:#fff;font-weight:900}.vsd-info-credit h3{margin:0;color:#183f63;font-size:15px}.vsd-info-credit strong{display:block;margin-top:2px;color:#427294;font-size:11px}.vsd-info-credit p{margin:6px 0 0;color:#637a8e;font-size:12px;line-height:1.45}@media(max-width:720px){.vsd-info-page{gap:12px}.vsd-info-hero{padding:20px 18px;border-radius:18px}.vsd-info-hero h1{font-size:23px}.vsd-info-hero-icon{width:50px!important;height:50px!important;font-size:26px!important}.vsd-info-section{padding:17px 15px;border-radius:18px}.vsd-info-section-head h2{font-size:18px}.vsd-info-pdf-wrap{height:58vh;min-height:380px}.vsd-info-credit-grid{grid-template-columns:1fr}.vsd-info-manual-actions>a{flex:1 1 150px}.vsd-info-update{grid-template-columns:34px 1fr}.vsd-info-update-dot{width:34px;height:34px}.vsd-info-update:not(:last-child):before{left:16px;top:31px}}

/* ========================================================================
   v3.17.13 · Mijn diensten mobiel: compacte volledige dag + Snelle wijziging
   ======================================================================== */
.vsd-myday-quick-change{margin:8px 10px 0;padding:12px;border:1px solid #cfe0ec;border-radius:14px;background:#f8fbfd}
.vsd-myday-quick-change[hidden]{display:none!important}
.vsd-myday-quick-change-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.vsd-myday-quick-change-head h3{margin:2px 0 3px;font-size:16px;color:#173d61}
.vsd-myday-quick-change-head p{margin:0;color:#6f8597;font-size:12px;line-height:1.35}
.vsd-myday-quick-change-close{border:0;background:#eaf2f8;color:#174d7e;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1;cursor:pointer}
.vsd-myday-quick-change-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.vsd-myday-quick-change-list{margin-top:12px;border-top:1px solid #dde8ef;padding-top:9px}
.vsd-myday-quick-change-list>strong{display:block;margin-bottom:6px;font-size:11px;color:#46677f}
.vsd-myday-quick-change-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #e5edf2}
.vsd-myday-quick-change-item:first-of-type{border-top:0}
.vsd-myday-quick-change-item>div{min-width:0}
.vsd-myday-quick-change-item b{display:block;font-size:11px;color:#173d61}
.vsd-myday-quick-change-item span{display:block;font-size:9px;color:#7b8e9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.vsd-myday-quick-remove{color:#a33!important;border-color:#efc7c7!important}
.vsd-myday-quick-change-note{display:flex;gap:7px;align-items:flex-start;margin-top:9px;padding:8px;border-radius:9px;background:#fff8e8;color:#6d5a2b;font-size:10px}

@media(max-width:600px){
  /* Afgelopen onderdelen blijven zichtbaar. Geen inklapknop en geen verborgen historie meer. */
  .vsd-myday-service-flow.vsd-mobile-hide-past>.state-past,
  .vsd-myday-service-flow.vsd-mobile-hide-past>.vsd-myday-transfer.vsd-past-transfer{display:block!important}
  .vsd-myday-past-toggle{display:none!important}
  .vsd-myday-service-flow>.state-past{opacity:.72}
  .vsd-myday-service-flow>.state-current{box-shadow:0 0 0 1px rgba(25,119,181,.16)}
  .vsd-myday-service-flow>.state-future{opacity:1}

  .vsd-myday-head-actions{grid-template-columns:minmax(0,1fr) auto!important}
  .vsd-myday-head-actions .vsd-myday-quick-change-toggle{min-height:31px!important;padding:4px 8px!important;font-size:8.5px!important;white-space:nowrap!important}
  .vsd-myday-head-actions .vsd-myday-pdf-service{font-size:7px!important}
  .vsd-myday-head-actions>.vsd-badge{grid-column:1/-1!important;justify-content:center!important;min-height:25px!important}

  .vsd-myday-quick-change{margin:5px;padding:8px;border-radius:10px}
  .vsd-myday-quick-change-head h3{font-size:12px}
  .vsd-myday-quick-change-head p{font-size:8px}
  .vsd-myday-quick-change-close{width:28px;height:28px;font-size:18px}
  .vsd-myday-quick-change-tools{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}
  .vsd-myday-quick-change-tools .button{min-height:30px!important;padding:4px 6px!important;font-size:7px!important;justify-content:center}
  .vsd-myday-quick-change-list{margin-top:8px;padding-top:6px}
  .vsd-myday-quick-change-list>strong{font-size:8px}
  .vsd-myday-quick-change-item{padding:5px 0;gap:5px}
  .vsd-myday-quick-change-item b{font-size:8px}
  .vsd-myday-quick-change-item span{font-size:6.5px;max-width:210px}
  .vsd-myday-quick-change-item .button{min-height:25px!important;padding:3px 5px!important;font-size:6.5px!important}
  .vsd-myday-quick-change-note{font-size:7px;padding:6px}
}

/* ========================================================================
   v3.17.14 · Snelle wijziging grafisch rustiger + schaft/pauze direct beheren
   ======================================================================== */
.vsd-myday-quick-change{margin:10px 12px 4px;padding:16px;border:1px solid #c9dce9;border-radius:18px;background:linear-gradient(180deg,#fbfdff 0%,#f4f8fb 100%);box-shadow:0 10px 28px rgba(20,61,94,.07)}
.vsd-myday-quick-change-head{padding-bottom:12px;border-bottom:1px solid #dde8ef}
.vsd-myday-quick-change-head h3{margin:2px 0 4px;font-size:18px}
.vsd-myday-quick-change-head p{max-width:720px}
.vsd-myday-quick-change-tools{margin:12px 0 2px}
.vsd-myday-quick-section{margin-top:14px;padding:12px;border:1px solid #dbe7ef;border-radius:14px;background:#fff}
.vsd-myday-quick-section-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.vsd-myday-quick-section-title>.dashicons{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf6fc;color:#1f73a8}
.vsd-myday-quick-section-title.break>.dashicons{background:#fff6df;color:#8a6a25}
.vsd-myday-quick-section-title strong{display:block;color:#173d61;font-size:13px}
.vsd-myday-quick-section-title small{display:block;margin-top:1px;color:#7b8f9f;font-size:10px}
.vsd-myday-quick-change-list{margin:0;padding:0;border:0}
.vsd-myday-quick-change-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #e6eef3}
.vsd-myday-quick-change-item:first-child{border-top:0}
.vsd-myday-quick-item-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf6fc;color:#1c72a9}
.vsd-myday-quick-item-copy{min-width:0}
.vsd-myday-quick-item-copy b{display:block;color:#173d61;font-size:12px}
.vsd-myday-quick-item-copy span{display:block;margin-top:2px;color:#718697;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-myday-quick-remove{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;color:#a44040!important;border-color:#ecc7c7!important;background:#fffafa!important}
.vsd-myday-quick-remove:hover{background:#fff2f2!important;border-color:#e5abab!important}
.vsd-myday-quick-break-list{display:grid;gap:9px}
.vsd-myday-quick-break-card{padding:11px;border:1px solid #eadfbe;border-radius:12px;background:#fffdf7}
.vsd-myday-quick-break-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.vsd-myday-quick-break-head b{display:block;color:#5b4a25;font-size:12px}
.vsd-myday-quick-break-head span:not(.dashicons){display:block;margin-top:2px;color:#8b7956;font-size:9px}
.vsd-myday-quick-break-head>.dashicons{color:#9a772d}
.vsd-myday-quick-break-fields{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(2,minmax(100px,.7fr)) minmax(110px,.8fr);gap:8px}
.vsd-myday-quick-break-fields label>span{display:block;margin-bottom:4px;color:#6a7f90;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vsd-myday-quick-break-fields input,.vsd-myday-quick-break-fields select{width:100%;min-height:36px;border:1px solid #cfdee8;border-radius:9px;background:#fff;padding:6px 8px;color:#173d61}
.vsd-myday-quick-break-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #eee4c9}
.vsd-myday-quick-break-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.vsd-myday-quick-break-delete{margin:0}
.vsd-myday-quick-empty{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#f8fafc;color:#73889a;font-size:10px}
.vsd-myday-quick-break-footer{margin-top:8px}.vsd-myday-quick-break-footer .button{display:inline-flex;align-items:center;gap:5px}

@media(max-width:600px){
  .vsd-myday-quick-change{margin:6px 4px 2px;padding:10px;border-radius:13px;box-shadow:none}
  .vsd-myday-quick-change-head{gap:8px;padding-bottom:8px}
  .vsd-myday-quick-change-head h3{font-size:14px}
  .vsd-myday-quick-change-head p{font-size:9px;line-height:1.4}
  .vsd-myday-quick-change-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
  .vsd-myday-quick-change-tools .button{min-height:36px!important;padding:5px 7px!important;font-size:8px!important;border-radius:10px!important}
  .vsd-myday-quick-section{margin-top:9px;padding:8px;border-radius:11px}
  .vsd-myday-quick-section-title{gap:7px;margin-bottom:5px}
  .vsd-myday-quick-section-title>.dashicons{width:28px;height:28px;border-radius:8px;font-size:16px}
  .vsd-myday-quick-section-title strong{font-size:10px}.vsd-myday-quick-section-title small{font-size:7px}
  .vsd-myday-quick-change-item{grid-template-columns:28px minmax(0,1fr) auto;gap:6px;padding:6px 0}
  .vsd-myday-quick-item-icon{width:26px;height:26px;border-radius:7px}.vsd-myday-quick-item-icon .dashicons{font-size:15px;width:15px;height:15px}
  .vsd-myday-quick-item-copy b{font-size:9px}.vsd-myday-quick-item-copy span{font-size:7px;max-width:none}
  .vsd-myday-quick-change-item .button{min-width:34px;min-height:28px!important;padding:3px 6px!important;border-radius:8px!important}
  .vsd-myday-quick-change-item .button span:not(.dashicons){display:none}
  .vsd-myday-quick-break-card{padding:8px;border-radius:10px}
  .vsd-myday-quick-break-head{margin-bottom:7px}.vsd-myday-quick-break-head b{font-size:9px}.vsd-myday-quick-break-head span:not(.dashicons){font-size:7px}
  .vsd-myday-quick-break-fields{grid-template-columns:1fr 1fr;gap:6px}
  .vsd-myday-quick-break-fields label:first-child{grid-column:1/-1}
  .vsd-myday-quick-break-fields label>span{font-size:6.5px;margin-bottom:3px}
  .vsd-myday-quick-break-fields input,.vsd-myday-quick-break-fields select{min-height:32px;padding:4px 6px;font-size:9px;border-radius:8px}
  .vsd-myday-quick-break-actions{justify-content:stretch;gap:5px;margin-top:7px;padding-top:7px}
  .vsd-myday-quick-break-actions>.button,.vsd-myday-quick-break-actions form{flex:1 1 0}
  .vsd-myday-quick-break-actions form .button{width:100%}
  .vsd-myday-quick-break-actions .button{min-height:31px!important;padding:4px 6px!important;font-size:7px!important;border-radius:8px!important}
  .vsd-myday-quick-break-footer .button{width:100%;justify-content:center;font-size:7px!important;min-height:31px!important}
}

/* v3.17.15 · Snelle wijziging mobiel opnieuw vormgegeven */
.vsd-myday-quick-change{position:relative;overflow:hidden;border-color:#bfd5e5;background:#fff}
.vsd-myday-quick-change-head{background:linear-gradient(135deg,#f4f9fd 0%,#fff 75%);margin:-16px -16px 0;padding:16px 16px 14px}
.vsd-myday-quick-change-head .vsd-kicker{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8f2fa;color:#17609b;font-size:9px;font-weight:900;letter-spacing:.12em}
.vsd-myday-quick-change-tools .button{border-radius:12px!important;box-shadow:none!important;font-weight:800}
.vsd-myday-quick-section{margin-top:14px;padding:12px;border:1px solid #d8e6ef;border-radius:14px;background:#fbfdff}
.vsd-myday-quick-section-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.vsd-myday-quick-section-title>.dashicons{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf4fb;color:#2479b3}
.vsd-myday-quick-section-title.break>.dashicons{background:#fff5dc;color:#8a6920}
.vsd-myday-quick-section-title strong{display:block;color:#173d61;font-size:15px}
.vsd-myday-quick-section-title small{display:block;color:#8295a4;font-size:10px;margin-top:1px}
.vsd-myday-quick-change-list{background:#fff;border:1px solid #e3edf3;border-radius:12px;padding:0 10px!important}
.vsd-myday-quick-change-item{min-height:56px}
.vsd-myday-quick-item-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eff6fb;color:#2b77aa}
.vsd-myday-quick-item-copy b{font-size:12px!important}.vsd-myday-quick-item-copy span{font-size:9px!important;color:#8294a2!important}
.vsd-myday-quick-remove{border:0!important;background:transparent!important;color:#a44!important;box-shadow:none!important}.vsd-myday-quick-remove:hover{background:#fff1f1!important}
.vsd-myday-quick-break-list{display:grid;gap:12px}
.vsd-myday-quick-break-card{padding:0!important;border:1px solid #eadfbf!important;border-radius:14px!important;background:#fff!important;overflow:hidden}
.vsd-myday-quick-break-head{margin:0!important;padding:12px 14px;background:linear-gradient(135deg,#fff8e9 0%,#fff 80%);border-bottom:1px solid #eee2c5}
.vsd-myday-quick-break-head .vsd-myday-quick-break-label{display:block;color:#775b1c;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.vsd-myday-quick-break-head strong{display:block;margin-top:2px;color:#3f4f5d;font-size:15px}
.vsd-myday-quick-break-edit{padding:12px 14px 0}
.vsd-myday-quick-break-fields{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(90px,.7fr)) minmax(110px,.8fr);gap:10px}
.vsd-myday-quick-break-fields label{min-width:0}.vsd-myday-quick-break-fields label>span{font-size:9px!important;color:#71889a!important}
.vsd-myday-quick-break-fields input,.vsd-myday-quick-break-fields select{min-height:42px!important;border-radius:10px!important;font-size:13px!important;border-color:#cbdce7!important;box-shadow:0 1px 0 rgba(13,61,96,.02) inset}
.vsd-myday-quick-break-actions{margin-top:12px!important;padding:12px 0!important;border-top:1px solid #edf1f3!important}
.vsd-myday-break-save{width:100%;min-height:42px!important;border-radius:10px!important;font-weight:900!important}
.vsd-myday-quick-break-delete{margin:0;padding:0 14px 14px}.vsd-myday-break-delete-button{width:100%;min-height:40px!important;border:1px solid #efc7c7!important;background:#fff7f7!important;color:#a23d3d!important;border-radius:10px!important;font-weight:800!important}.vsd-myday-break-delete-button:hover{background:#ffeded!important}
.vsd-myday-quick-break-footer{margin-top:10px}.vsd-myday-quick-break-footer .button{border-radius:10px!important}
@media (max-width:600px){
.vsd-myday-quick-change{margin:6px 0 2px!important;padding:12px!important;border-radius:16px!important;background:#f8fbfd!important}
.vsd-myday-quick-change-head{margin:-12px -12px 0!important;padding:12px 12px 11px!important;background:#fff!important}
.vsd-myday-quick-change-head h3{font-size:17px!important;line-height:1.15!important;margin-top:5px!important}.vsd-myday-quick-change-head p{font-size:11px!important;line-height:1.45!important;margin-top:4px!important}.vsd-myday-quick-change-close{width:32px!important;height:32px!important;background:#eef4f8!important}
.vsd-myday-quick-change-tools{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}.vsd-myday-quick-change-tools .button{min-height:44px!important;padding:8px 10px!important;font-size:11px!important}
.vsd-myday-quick-section{margin-top:12px!important;padding:10px!important;border-radius:14px!important;background:#fff!important}.vsd-myday-quick-section-title{margin-bottom:8px!important}.vsd-myday-quick-section-title>.dashicons{width:34px;height:34px}.vsd-myday-quick-section-title strong{font-size:14px!important}.vsd-myday-quick-section-title small{font-size:9px!important}
.vsd-myday-quick-change-list{padding:0 8px!important}.vsd-myday-quick-change-item{grid-template-columns:30px minmax(0,1fr) 34px!important;gap:7px!important;min-height:58px!important;padding:7px 0!important}.vsd-myday-quick-item-copy b{font-size:12px!important}.vsd-myday-quick-item-copy span{font-size:9px!important;max-width:none!important;white-space:normal!important;line-height:1.25!important}
.vsd-myday-quick-change-item .vsd-myday-quick-remove{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;border:1px solid #f0d4d4!important;border-radius:9px!important;background:#fff8f8!important}.vsd-myday-quick-change-item .vsd-myday-quick-remove .dashicons{margin:0!important}
.vsd-myday-quick-break-card{border-radius:13px!important}.vsd-myday-quick-break-head{padding:11px 12px!important}.vsd-myday-quick-break-head .vsd-myday-quick-break-label{font-size:9px!important}.vsd-myday-quick-break-head strong{font-size:14px!important}.vsd-myday-quick-break-edit{padding:11px 12px 0!important}
.vsd-myday-quick-break-fields{grid-template-columns:1fr 1fr!important;gap:8px!important}.vsd-myday-quick-break-fields .is-location,.vsd-myday-quick-break-fields .is-type{grid-column:1/-1!important}.vsd-myday-quick-break-fields label>span{font-size:8px!important;margin-bottom:4px!important}.vsd-myday-quick-break-fields input,.vsd-myday-quick-break-fields select{min-height:42px!important;padding:7px 9px!important;font-size:13px!important}
.vsd-myday-quick-break-actions{margin-top:10px!important;padding:10px 0!important}.vsd-myday-break-save{min-height:42px!important;font-size:10px!important}.vsd-myday-quick-break-delete{padding:0 12px 12px!important}.vsd-myday-break-delete-button{min-height:40px!important;font-size:10px!important}.vsd-myday-quick-break-footer .button{min-height:40px!important;font-size:9px!important}
}

/* v3.17.26 - live dienst op vriendenprofiel */
.vsd-friend-live-service{margin:0 12px 12px;border:1px solid #cfe1ec;border-radius:15px;background:#f7fbfd;overflow:hidden;box-shadow:0 7px 22px rgba(34,77,103,.07)}
.vsd-friend-live-service details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:13px 14px;background:linear-gradient(90deg,#eef8fc,#f8fbfd)}
.vsd-friend-live-service details>summary::-webkit-details-marker{display:none}
.vsd-friend-live-summary-main{display:flex;align-items:center;gap:10px;min-width:0}
.vsd-live-dot{width:12px;height:12px;border-radius:999px;background:#2a9b69;box-shadow:0 0 0 5px rgba(42,155,105,.12);flex:0 0 12px}
.vsd-friend-live-summary-main div>*{display:block}.vsd-friend-live-summary-main small{font-size:7px;font-weight:900;letter-spacing:.12em;color:#2f8562}.vsd-friend-live-summary-main strong{margin-top:2px;font-size:14px;color:#28556e}.vsd-friend-live-summary-main span{font-size:9px;color:#748b99}
.vsd-friend-live-summary-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}.vsd-friend-live-summary-side mark,.vsd-friend-live-summary-side>span{padding:5px 8px;border-radius:999px;background:#e8f7ef;color:#2f7b58;font-size:8px;font-weight:900}.vsd-friend-live-summary-side mark{background:#fff0df;color:#b4681b}.vsd-friend-live-summary-side b{font-size:9px;color:#2e6587}.vsd-friend-live-summary-side i{transition:transform .2s}.vsd-friend-live-service details[open] .vsd-friend-live-summary-side i{transform:rotate(180deg)}
.vsd-friend-live-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:10px;padding:10px;border-top:1px solid #dfebf1;background:#fff}
.vsd-friend-live-timeline{min-width:0}.vsd-friend-live-timeline .vsd-friend-history-row{border:1px solid #e5edf2;border-radius:10px;margin-bottom:6px;background:#fbfdfe}
.vsd-friend-live-map-card{min-width:0;border:1px solid #e1eaf0;border-radius:12px;overflow:hidden;background:#f9fbfc}
.vsd-friend-live-map-head{display:flex;align-items:center;gap:8px;padding:10px 11px;border-bottom:1px solid #e6eef3}.vsd-friend-live-map-head>.dashicons{color:#277ba9}.vsd-friend-live-map-head div>*{display:block}.vsd-friend-live-map-head small{font-size:6.5px;font-weight:900;letter-spacing:.1em;color:#8296a2}.vsd-friend-live-map-head strong{margin-top:1px;font-size:11px;color:#315d77}.vsd-friend-live-map-head span{font-size:7.5px;color:#8496a1}.vsd-friend-day-route-map{height:230px;background:#eaf1f5}
@media(max-width:900px){.vsd-friend-live-body{grid-template-columns:1fr}.vsd-friend-day-route-map{height:250px}}
@media(max-width:600px){.vsd-friend-live-service{margin:0 6px 7px;border-radius:11px}.vsd-friend-live-service details>summary{padding:10px;gap:7px}.vsd-live-dot{width:9px;height:9px;flex-basis:9px;box-shadow:0 0 0 4px rgba(42,155,105,.12)}.vsd-friend-live-summary-main{gap:7px}.vsd-friend-live-summary-main strong{font-size:11px}.vsd-friend-live-summary-main span{font-size:7.5px}.vsd-friend-live-summary-side b{display:none}.vsd-friend-live-summary-side mark,.vsd-friend-live-summary-side>span{font-size:7px;padding:4px 6px}.vsd-friend-live-body{gap:7px;padding:7px}.vsd-friend-day-route-map{height:210px}.vsd-friend-live-map-head{padding:8px}}


/* v3.17.27 - klikbaar ritverloop op vriendenprofiel + betrouwbare kaart */
.vsd-friend-live-ride{margin:0 0 7px;border:1px solid #e5edf2;border-radius:11px;background:#fbfdfe;overflow:hidden}
.vsd-friend-live-ride>summary{display:block;cursor:pointer;list-style:none}.vsd-friend-live-ride>summary::-webkit-details-marker{display:none}
.vsd-friend-live-ride .vsd-friend-history-row{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.vsd-friend-ride-chevron{margin-left:5px;color:#6d899a;transition:transform .2s}.vsd-friend-live-ride[open] .vsd-friend-ride-chevron{transform:rotate(180deg)}
.vsd-friend-live-ride-detail{padding:9px 10px 11px;border-top:1px solid #e3edf3;background:#fff}
.vsd-friend-live-ride-detail-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:7px}.vsd-friend-live-ride-detail-head strong{font-size:10px;color:#285d7b}.vsd-friend-live-ride-detail-head span{font-size:7.5px;color:#8295a2;text-align:right}
.vsd-friend-ride-route{position:relative;display:grid;gap:0}.vsd-friend-ride-point{display:grid;grid-template-columns:74px 16px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:46px;padding:6px 3px;border-top:1px solid #edf2f5}.vsd-friend-ride-point:first-child{border-top:0}
.vsd-friend-ride-times{display:grid;gap:1px;text-align:right;color:#456b82;font-size:8px;font-weight:800}.vsd-friend-ride-times span{white-space:nowrap}.vsd-friend-ride-times b{display:inline-block;width:11px;color:#7a929f}
.vsd-friend-ride-point>i{position:relative;width:10px;height:10px;border:2px solid #2a80b2;border-radius:50%;background:#fff}.vsd-friend-ride-point>i:after{content:"";position:absolute;left:2px;top:8px;width:2px;height:39px;background:#c8d9e3}.vsd-friend-ride-point:last-child>i:after{display:none}.vsd-friend-ride-point.is-pass>i{width:7px;height:7px;margin-left:1px;border-color:#a7b7c1;background:#a7b7c1}
.vsd-friend-ride-station{min-width:0}.vsd-friend-ride-station strong,.vsd-friend-ride-station small,.vsd-friend-ride-station em{display:block}.vsd-friend-ride-station strong{font-size:9px;color:#315c74}.vsd-friend-ride-station small{margin-top:1px;font-size:7.3px;color:#8999a3}.vsd-friend-ride-station em{margin-top:2px;font-size:6.7px;font-style:normal;color:#9a7a61}
.vsd-friend-ride-point-status mark{display:inline-block;padding:3px 5px;border-radius:999px;background:#fff0df;color:#b4681b;font-size:7px;font-weight:900;white-space:nowrap}.vsd-friend-ride-empty{padding:12px;text-align:center;color:#8698a3;font-size:8px}
@media(max-width:600px){.vsd-friend-live-ride-detail{padding:7px}.vsd-friend-live-ride-detail-head{display:grid;gap:1px}.vsd-friend-live-ride-detail-head span{text-align:left}.vsd-friend-ride-point{grid-template-columns:60px 14px minmax(0,1fr) auto;gap:5px;min-height:43px}.vsd-friend-ride-times{font-size:7.3px}.vsd-friend-ride-station strong{font-size:8.5px}.vsd-friend-ride-point-status mark{font-size:6.5px}}


/* v3.17.28 - actieve vriendendienst altijd open */
.vsd-friend-live-static-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dce9ef;background:#f4fbfd}
.vsd-friend-live-service.is-locked-open .vsd-friend-live-body{display:grid}
@media(max-width:600px){.vsd-friend-live-static-head{padding:10px;gap:8px}.vsd-friend-live-static-head .vsd-friend-live-summary-side b{display:none}}


/* v3.17.29 - Mijn diensten: vertraging compact + historische diensten klikbaar */
@media (max-width:620px){
  /* De actuele tijden blijven in het tijdvak staan. De dubbele +min-badge naast de
     kloktijden verdwijnt; de duidelijke status rechts blijft leidend. */
  .vsd-myday-flow-card .vsd-flow-time .vsd-time-delay-badge{display:none!important}
  .vsd-myday-flow-card .vsd-flow-time{gap:4px!important}
  .vsd-myday-flow-card .vsd-flow-side-delay{align-self:center!important}
  .vsd-myday-flow-card .vsd-flow-side-delay .vsd-flow-status{
    min-width:48px!important;justify-content:center!important;white-space:nowrap!important
  }
}

/* Historische kaarten moeten zich altijd als echte links gedragen, ook binnen <details>. */
.vsd-services-history-group .vsd-service-list-card{
  position:relative!important;z-index:2!important;pointer-events:auto!important;cursor:pointer!important
}
.vsd-services-history-group .vsd-services-group-body{position:relative!important;z-index:1!important}


/* v3.17.30 - historische diensten openen als compacte Mijn diensten-weergave */
.vsd-myday-hero.is-history{position:relative}
.vsd-myday-history-back{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:800;text-decoration:none;color:#14558b}
.vsd-myday-history-back .dashicons{font-size:17px;width:17px;height:17px}
.vsd-myday-page.is-history .vsd-myday-service.actual{margin-top:14px}
@media (max-width:700px){
  .vsd-myday-page.is-history .vsd-myday-hero{padding-bottom:16px}
  .vsd-myday-history-back{width:max-content;max-width:100%;font-size:13px}
}


/* v3.17.31 - historische/compacte Mijn diensten: vertraging leesbaar naast tijden */
.vsd-flow-mobile-delay-summary{display:none}
@media (max-width:820px){
  .vsd-myday-flow-card .vsd-flow-time{
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-content:start!important;
    column-gap:5px!important;
    row-gap:2px!important;
    min-width:0!important;
  }
  .vsd-myday-flow-card .vsd-flow-time .vsd-time-delay-badge{display:none!important}
  .vsd-myday-flow-card .vsd-flow-departure-time,
  .vsd-myday-flow-card .vsd-flow-arrival-time{display:block!important;min-width:0!important}
  .vsd-myday-flow-card .vsd-flow-time strong{white-space:nowrap!important}
  .vsd-myday-flow-card .vsd-flow-mobile-delay-summary{
    display:block!important;grid-column:1 / -1!important;grid-row:2!important;
    margin:0!important;color:#b34d3f!important;font-size:7.5px!important;
    font-weight:850!important;line-height:1.1!important;white-space:nowrap!important;
    letter-spacing:.01em!important
  }
  .vsd-myday-flow-card .vsd-flow-side-delay{align-self:center!important}
}

/* v3.17.35 · Profiel: web-app & pushmeldingen */
.vsd-pwa-card{grid-column:1/-1;border:1px solid #c9dceb!important;background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 100%)!important;overflow:hidden}
.vsd-pwa-head{display:flex;align-items:flex-start;gap:16px}.vsd-pwa-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#0f5f9d;color:#fff;box-shadow:0 10px 26px rgba(15,95,157,.18)}
.vsd-pwa-icon .dashicons{width:auto;height:auto;font-size:28px}.vsd-pwa-kicker{display:block;margin-bottom:3px;color:#5680a2;font-size:10px;font-weight:900;letter-spacing:.16em}.vsd-pwa-head h2{margin:0 0 5px!important}.vsd-pwa-head p{margin:0!important;color:#627b90}
.vsd-pwa-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 12px}.vsd-pwa-status-grid>div{padding:12px 14px;border:1px solid #d6e4ef;border-radius:13px;background:#fff}.vsd-pwa-status-grid small{display:block;margin-bottom:3px;color:#7a8fa1;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.vsd-pwa-status-grid strong{color:#173f63;font-size:14px}
.vsd-pwa-actions{display:flex;flex-wrap:wrap;gap:8px}.vsd-pwa-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:10px!important}.vsd-pwa-actions .dashicons{width:auto;height:auto;font-size:17px}.vsd-pwa-actions button:disabled{opacity:.45;cursor:not-allowed}
.vsd-pwa-ios-help{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border:1px solid #f1d89a;border-radius:12px;background:#fff9e9;color:#715a25}.vsd-pwa-ios-help[hidden]{display:none!important}.vsd-pwa-ios-help strong{white-space:nowrap}.vsd-pwa-ios-help span{font-size:12px;line-height:1.45}
.vsd-pwa-prefs{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid #d7e5ef}.vsd-pwa-prefs>strong{flex:0 0 100%;color:#254b6c;font-size:12px}.vsd-pwa-prefs label{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #d5e3ee;border-radius:999px;background:#fff;color:#365a79;font-size:12px;font-weight:700;cursor:pointer}.vsd-pwa-prefs input{margin:0!important}
.vsd-pwa-message{min-height:18px;margin-top:9px;color:#19724b;font-size:12px;font-weight:700}.vsd-pwa-message.is-error{color:#a33b35}
@media(max-width:700px){.vsd-pwa-head{gap:11px}.vsd-pwa-icon{flex-basis:44px;width:44px;height:44px;border-radius:13px}.vsd-pwa-icon .dashicons{font-size:24px}.vsd-pwa-status-grid{grid-template-columns:1fr 1fr}.vsd-pwa-actions{display:grid;grid-template-columns:1fr 1fr}.vsd-pwa-actions .button{width:100%;min-width:0;height:auto;white-space:normal;line-height:1.2}.vsd-pwa-prefs{gap:6px}.vsd-pwa-prefs label{flex:1 1 calc(50% - 6px);justify-content:flex-start;border-radius:10px}.vsd-pwa-ios-help{flex-direction:column;gap:3px}}
@media(max-width:420px){.vsd-pwa-status-grid{grid-template-columns:1fr}.vsd-pwa-actions{grid-template-columns:1fr}.vsd-pwa-prefs label{flex-basis:100%}}

/* ========================================================================
   v3.17.36 · Meldingen-tab + inbox
   ======================================================================== */
.vsd-mobile-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.vsd-nav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.vsd-nav-badge{position:absolute;top:-7px;right:-11px;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#d62f3a;color:#fff;font-size:9px;line-height:13px;text-align:center;box-sizing:border-box;box-shadow:0 2px 6px rgba(125,22,34,.22)}
.vsd-mobile-bottom-nav .vsd-mobile-notifications.is-active .vsd-nav-badge{border-color:#edf5fd}
.vsd-notifications-page{width:min(980px,100%);margin:0 auto;display:grid;gap:18px}
.vsd-notifications-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid #d8e5f1;border-radius:24px;background:linear-gradient(135deg,#f7fbff 0%,#edf6ff 100%);box-shadow:0 12px 30px rgba(27,73,113,.08)}
.vsd-notifications-kicker{display:block;margin-bottom:5px;color:#326d9e;font-size:11px;font-weight:850;letter-spacing:.11em}
.vsd-notifications-hero h1{margin:0;color:#173d63;font-size:clamp(24px,3vw,34px);line-height:1.05}.vsd-notifications-hero p{margin:8px 0 0;color:#687c90;font-size:14px}
.vsd-notifications-hero-bell{position:relative;flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#174f85;color:#fff;box-shadow:0 10px 20px rgba(23,79,133,.18)}
.vsd-notifications-hero-bell .dashicons{width:27px;height:27px;font-size:27px;line-height:27px}.vsd-notifications-hero-bell b{position:absolute;top:-7px;right:-7px;min-width:24px;height:24px;padding:0 5px;border:3px solid #eef6fd;border-radius:999px;background:#d62f3a;color:#fff;font-size:10px;line-height:18px;text-align:center}
.vsd-notifications-list{display:grid;gap:10px}.vsd-notification-item{display:flex;align-items:flex-start;gap:14px;padding:16px 17px;border:1px solid #dfe8f0;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 6px 18px rgba(17,57,93,.05);transition:.15s ease}.vsd-notification-item:hover{border-color:#b8d0e5;box-shadow:0 10px 24px rgba(17,57,93,.09);transform:translateY(-1px)}
.vsd-notification-item.is-new{border-color:#b6d5ef;background:#f7fbff}.vsd-notification-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf4fd;color:#1b6197}.vsd-notification-icon .dashicons{width:21px;height:21px;font-size:21px;line-height:21px}.vsd-notification-item.is-admin .vsd-notification-icon{background:#f0eafe;color:#6e4bb2}.vsd-notification-item.is-ride-reminder .vsd-notification-icon{background:#e8f7ed;color:#287446}.vsd-notification-item.is-break-reminder .vsd-notification-icon{background:#fff4d8;color:#956800}.vsd-notification-item.is-delay .vsd-notification-icon{background:#fff0e1;color:#b35a11}.vsd-notification-item.is-cancel .vsd-notification-icon,.vsd-notification-item.is-disruption .vsd-notification-icon{background:#fdebed;color:#a62b35}.vsd-notification-item.is-duty-buffer{border-color:#ead6a6;background:#fffaf0}.vsd-notification-item.is-duty-buffer .vsd-notification-icon{background:#fff0c9;color:#8b5b00}
.vsd-notification-copy{min-width:0;flex:1}.vsd-notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;color:#8291a1;font-size:10px;font-weight:700}.vsd-notification-meta>span{color:#426d92;text-transform:uppercase;letter-spacing:.05em}.vsd-notification-meta b{padding:2px 6px;border-radius:999px;background:#174f85;color:#fff;font-size:9px}.vsd-notification-copy h3{margin:0;color:#173d63;font-size:15px;line-height:1.25}.vsd-notification-copy p{margin:5px 0 0;color:#5d7285;font-size:13px;line-height:1.45}.vsd-notification-arrow{align-self:center;flex:0 0 auto;color:#7d97ad}
.vsd-notifications-empty{padding:42px 24px;border:1px dashed #cfdde9;border-radius:22px;background:#fff;text-align:center;color:#667d91}.vsd-notifications-empty .dashicons{display:block;width:36px;height:36px;margin:0 auto 10px;font-size:36px;line-height:36px;color:#6f95b7}.vsd-notifications-empty strong{display:block;color:#173d63;font-size:16px}.vsd-notifications-empty p{margin:6px 0 0}
.vsd-pwa-reminder-times{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}.vsd-pwa-reminder-times label{display:grid!important;gap:6px!important;padding:0!important;border:0!important;background:transparent!important}.vsd-pwa-reminder-times label>span{font-size:11px;font-weight:800;color:#526c84}.vsd-pwa-reminder-times select{width:100%;min-height:40px;border:1px solid #cbd9e5;border-radius:11px;background:#fff;padding:0 10px;color:#274d70}
@media(max-width:720px){.vsd-notifications-hero{padding:19px 18px;border-radius:19px}.vsd-notifications-hero-bell{width:49px;height:49px;border-radius:15px}.vsd-notification-item{padding:13px 12px;gap:11px;border-radius:15px}.vsd-notification-icon{width:38px;height:38px;border-radius:11px}.vsd-notification-copy h3{font-size:14px}.vsd-notification-copy p{font-size:12px}.vsd-pwa-reminder-times{grid-template-columns:1fr}.vsd-mobile-bottom-nav small{font-size:8px}.vsd-mobile-bottom-nav>a,.vsd-mobile-bottom-nav>button{padding-left:1px;padding-right:1px}}
@media(max-width:390px){.vsd-mobile-bottom-nav small{font-size:7.5px}.vsd-mobile-bottom-nav .dashicons{font-size:20px;width:20px;height:20px;line-height:20px}}

/* v3.17.37 · meldingen kunnen worden verwijderd; vastgezette beheerberichten blijven staan */
.vsd-notification-item{position:relative;align-items:stretch;padding:0;overflow:hidden}
.vsd-notification-main{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1;padding:16px 17px;color:inherit;text-decoration:none}
.vsd-notification-item.is-pinned{border-color:#b9cee2;background:linear-gradient(135deg,#fff 0%,#f5faff 100%);box-shadow:0 8px 22px rgba(23,79,133,.08)}
.vsd-pinned-badge{display:inline-flex!important;align-items:center;gap:3px;background:#e9f2fa!important;color:#174f85!important}.vsd-pinned-badge .dashicons{width:12px;height:12px;font-size:12px;line-height:12px}
.vsd-notification-delete{display:flex;align-items:center;padding:10px 12px 10px 0}
.vsd-notification-delete button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:11px;background:#fff1f1;color:#a72a32;padding:8px 10px;cursor:pointer;font:inherit;font-size:11px;font-weight:750}
.vsd-notification-delete button:hover{background:#ffe3e3}.vsd-notification-delete .dashicons{width:16px;height:16px;font-size:16px;line-height:16px}
.vsd-notification-locked{display:grid;place-items:center;align-self:center;width:38px;height:38px;margin-right:12px;border-radius:11px;background:#e9f2fa;color:#174f85}.vsd-notification-locked .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
@media(max-width:720px){.vsd-notification-main{padding:13px 10px 13px 12px;gap:11px}.vsd-notification-delete{padding:8px 8px 8px 0}.vsd-notification-delete button{width:34px;height:34px;padding:0;justify-content:center}.vsd-notification-delete button span:last-child{display:none}.vsd-notification-locked{width:34px;height:34px;margin-right:8px}}

/* v3.17.40 · gebruiker kan, indien toegestaan, een beheer-gemarkeerde push sturen */
.vsd-notification-compose{padding:18px 20px;border:1px solid #d8e5f1;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(17,57,93,.05)}
.vsd-notification-compose-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.vsd-notification-compose-head>.dashicons{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:#eef5fb;color:#174f85;font-size:20px;line-height:38px;text-align:center}.vsd-notification-compose-head small{display:block;color:#6d8ba5;font-size:10px;font-weight:800;letter-spacing:.1em}.vsd-notification-compose-head strong{display:block;margin-top:2px;color:#173d63;font-size:16px}.vsd-notification-compose-head p{margin:4px 0 0;color:#6a7e91;font-size:12px}
.vsd-notification-compose form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vsd-notification-compose label{display:grid;gap:6px}.vsd-notification-compose label:nth-of-type(3){grid-column:1/-1}.vsd-notification-compose label>span{font-size:11px;font-weight:800;color:#476782}.vsd-notification-compose input,.vsd-notification-compose select,.vsd-notification-compose textarea{width:100%;box-sizing:border-box;border:1px solid #cfdce7;border-radius:12px;background:#fbfdff;padding:10px 11px;color:#173d63;font:inherit}.vsd-notification-compose textarea{resize:vertical}.vsd-notification-compose button{justify-self:start;display:inline-flex;align-items:center;gap:7px}
@media(max-width:720px){.vsd-notification-compose{padding:15px 14px;border-radius:17px}.vsd-notification-compose form{grid-template-columns:1fr}.vsd-notification-compose label:nth-of-type(3){grid-column:auto}.vsd-notification-compose button{width:100%;justify-content:center}}

/* v3.17.41 · aparte pagina voor gemachtigde gebruikers die beheerberichten mogen sturen */
.vsd-notification-compose{max-width:860px;margin:18px auto;padding:22px;border:1px solid #d6e5f2;border-radius:22px;background:#fff}.vsd-notification-compose-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.vsd-notification-compose-head>.dashicons{font-size:28px;width:28px;height:28px;color:#176ca8}.vsd-notification-compose-head small{display:block;font-weight:800;letter-spacing:.12em;color:#6f8aa0}.vsd-notification-compose-head strong{display:block;font-size:22px;color:#173b61}.vsd-notification-compose-head p{margin:4px 0 0;color:#6f8496}.vsd-notification-compose form{display:grid;gap:14px}.vsd-notification-compose label>span{display:block;margin-bottom:6px;font-weight:800;color:#254b6d}.vsd-notification-compose input,.vsd-notification-compose select,.vsd-notification-compose textarea{width:100%;box-sizing:border-box;border:1px solid #cbddea;border-radius:14px;padding:12px 14px;background:#fff}.vsd-notification-compose button{justify-self:start;padding:10px 18px}
@media(max-width:640px){.vsd-notification-compose{margin:12px 0;padding:16px;border-radius:18px}.vsd-notification-compose-head strong{font-size:19px}.vsd-notification-compose button{width:100%}}


/* v3.17.42 · gemachtigde afzenders: naar iedereen + eigen verzonden meldingen beheren */
.vsd-sent-notifications{max-width:860px;margin:18px auto 0;padding:22px;border:1px solid #d6e5f2;border-radius:22px;background:#fff}
.vsd-sent-notifications-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.vsd-sent-notifications-head small{display:block;font-size:10px;font-weight:850;letter-spacing:.12em;color:#6f8aa0}.vsd-sent-notifications-head h2{margin:2px 0 2px;color:#173b61;font-size:22px}.vsd-sent-notifications-head p{margin:0;color:#6f8496}.vsd-sent-notifications-head>.dashicons{width:38px;height:38px;font-size:22px;line-height:38px;text-align:center;border-radius:12px;background:#eef5fb;color:#176ca8}
.vsd-sent-notifications-empty{padding:18px;border:1px dashed #d3e1ec;border-radius:14px;color:#6f8496;text-align:center;background:#f9fcff}.vsd-sent-notifications-list{display:grid;gap:10px}.vsd-sent-notifications-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid #dbe6ef;border-radius:15px;background:#fbfdff}.vsd-sent-notification-copy{min-width:0}.vsd-sent-notification-copy small{display:block;color:#7890a4;font-size:10px;font-weight:750}.vsd-sent-notification-copy strong{display:block;margin-top:3px;color:#173d63;font-size:15px}.vsd-sent-notification-copy p{margin:4px 0 0;color:#61798e;font-size:12px;white-space:pre-wrap}.vsd-sent-notifications-list form{flex:0 0 auto}.vsd-sent-notifications-list button{display:inline-flex;align-items:center;gap:6px;border:1px solid #efcaca;border-radius:11px;background:#fff8f8;color:#a33439;padding:8px 10px;cursor:pointer;font:inherit;font-size:11px;font-weight:800}.vsd-sent-notifications-list button:hover{background:#fff0f0}
@media(max-width:640px){.vsd-sent-notifications{margin:12px 0 0;padding:16px;border-radius:18px}.vsd-sent-notifications-head h2{font-size:19px}.vsd-sent-notifications-list article{align-items:center;padding:12px}.vsd-sent-notifications-list button{width:38px;height:38px;justify-content:center;padding:0}.vsd-sent-notifications-list button span:last-child{display:none}}

/* v3.17.45 · Meldingen lezen in modal + automatisch archiveren */
.vsd-notification-folder{max-width:980px;margin:18px auto;padding:18px;border:1px solid #d6e5f2;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(17,57,93,.04)}
.vsd-notification-folder-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;list-style:none;cursor:default}.vsd-notification-folder-head::-webkit-details-marker{display:none}.vsd-notification-folder-head>div{display:flex;align-items:center;gap:11px}.vsd-notification-folder-head>div>.dashicons{width:38px;height:38px;border-radius:12px;background:#eef5fb;color:#176ca8;font-size:20px;line-height:38px;text-align:center}.vsd-notification-folder-head small{display:block;color:#6f8aa0;font-size:9px;font-weight:850;letter-spacing:.12em}.vsd-notification-folder-head h2{margin:1px 0 0;color:#173b61;font-size:20px}.vsd-notification-folder-head>b{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:999px;background:#eef5fb;color:#174f85;font-size:12px}
details.vsd-notification-folder>summary.vsd-notification-folder-head{cursor:pointer;margin-bottom:0}details.vsd-notification-folder[open]>summary.vsd-notification-folder-head{margin-bottom:14px}.vsd-notification-archive{background:#f9fbfd}.vsd-notification-archive .vsd-notification-item{opacity:.86}
.vsd-notifications-list .vsd-notification-item{display:flex;text-decoration:none;color:inherit;align-items:flex-start;gap:14px;padding:16px 17px}.vsd-notification-item:hover{border-color:#b8d5eb;background:#fbfdff}.vsd-notification-item.is-new{box-shadow:inset 4px 0 0 #1976b8}.vsd-notification-item.is-archived{background:#fff}.vsd-notifications-empty.compact{margin:0;min-height:0;padding:24px 18px}
.vsd-notification-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:18px}.vsd-notification-modal-backdrop{position:absolute;inset:0;background:rgba(12,35,57,.58);backdrop-filter:blur(5px)}.vsd-notification-modal-card{position:relative;width:min(680px,calc(100vw - 28px));max-height:min(82vh,760px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(5,24,43,.28);border:1px solid #d7e4ef}.vsd-notification-modal-top{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:13px;padding:20px 20px 16px;border-bottom:1px solid #e1eaf1}.vsd-notification-modal-top small{display:block;color:#7890a4;font-size:10px;font-weight:800;letter-spacing:.04em}.vsd-notification-modal-top h2{margin:3px 0 0;color:#173b61;font-size:24px;line-height:1.15}.vsd-notification-modal-close{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef5fb;color:#174f85;text-decoration:none}.vsd-notification-modal-close .dashicons{width:20px;height:20px;font-size:20px;line-height:20px}.vsd-notification-modal-body{padding:22px 22px 10px;color:#294e70;font-size:15px;line-height:1.65}.vsd-notification-modal-body p{margin:0 0 14px}.vsd-notification-modal-pinned{margin:16px 20px 0;padding:11px 13px;border-radius:12px;background:#edf5fc;color:#174f85;font-size:12px;font-weight:750}.vsd-notification-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 8px}.vsd-notification-modal-note{margin:0;padding:6px 20px 20px;color:#8294a5;font-size:11px;text-align:right}
@media(max-width:720px){.vsd-notification-folder{margin:12px 0;padding:13px;border-radius:18px}.vsd-notification-folder-head h2{font-size:17px}.vsd-notification-folder-head>div>.dashicons{width:34px;height:34px;line-height:34px}.vsd-notifications-list .vsd-notification-item{padding:13px 12px;gap:11px}.vsd-notification-modal{padding:10px;align-items:end}.vsd-notification-modal-card{width:100%;max-height:86vh;border-radius:24px 24px 18px 18px}.vsd-notification-modal-top{padding:17px 15px 14px}.vsd-notification-modal-top h2{font-size:20px}.vsd-notification-modal-body{padding:18px 16px 8px;font-size:14px}.vsd-notification-modal-actions{padding:10px 15px 8px;display:grid;grid-template-columns:1fr}.vsd-notification-modal-actions .button{text-align:center;justify-content:center}.vsd-notification-modal-note{padding:6px 16px 16px;text-align:left}}

/* v3.17.46 · Profiel pushvoorkeuren: vaste responsieve kaartlayout */
.vsd-pwa-prefs{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.vsd-pwa-prefs>strong,
.vsd-pwa-prefs>.vsd-pwa-reminder-times{
  grid-column:1/-1!important;
}
.vsd-pwa-prefs>label{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:auto!important;
  min-width:0!important;
  min-height:46px!important;
  padding:10px 12px!important;
  margin:0!important;
  border:1px solid #d5e3ee!important;
  border-radius:12px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}
.vsd-pwa-prefs>label input[type="checkbox"]{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
}
.vsd-pwa-prefs>label>span{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.25!important;
}
.vsd-pwa-reminder-times{
  margin-top:2px!important;
}
@media(max-width:760px){
  .vsd-pwa-prefs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:460px){
  .vsd-pwa-prefs{grid-template-columns:1fr!important}
  .vsd-pwa-prefs>label{min-height:44px!important}
}


/* v3.17.47 · meldingsmodal betrouwbaar sluiten + compact archief */
.vsd-notification-modal-backdrop{border:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer}
.vsd-notification-modal-close{border:0;cursor:pointer;font:inherit}
.vsd-notification-modal-actions button.button{cursor:pointer}
.vsd-notification-archive .vsd-notification-copy p{display:none!important}
html.vsd-notification-modal-open,html.vsd-notification-modal-open body{overflow:hidden}


/* ========================================================================
   v3.17.50 · actieve schaft/reserve bij Dienststatus, niet op CTA
   ======================================================================== */
.vsd-today-current-activity{
  display:flex;align-items:center;gap:8px;min-width:180px;max-width:270px;
  padding:8px 10px;border:1px solid #d8e4eb;border-radius:11px;background:#fff;box-sizing:border-box
}
.vsd-today-current-activity>.dashicons{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;
  font-size:16px;line-height:30px;background:#edf4fa;color:#2b6da5
}
.vsd-today-current-activity>div{min-width:0}
.vsd-today-current-activity small,.vsd-today-current-activity strong,.vsd-today-current-activity span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-today-current-activity small{font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6d8294}
.vsd-today-current-activity strong{margin-top:1px;font-size:11px;color:#244f75}
.vsd-today-current-activity span{margin-top:1px;font-size:8px;color:#778c9c}
.vsd-today-current-activity.is-break{border-color:#ead9b7;background:#fffaf0}
.vsd-today-current-activity.is-break>.dashicons{background:#fff0d2;color:#936519}
.vsd-today-current-activity.is-break small,.vsd-today-current-activity.is-break strong{color:#76571e}
.vsd-today-current-activity.is-reserve{border-color:#d9d3e8;background:#faf8fd}
.vsd-today-current-activity.is-reserve>.dashicons{background:#eee8f7;color:#6c568e}
.vsd-today-current-activity.is-reserve small,.vsd-today-current-activity.is-reserve strong{color:#655180}

@media(max-width:700px){
  .vsd-today-overview-status-actions.has-current-activity{
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
  }
  .vsd-today-overview-status-actions.has-current-activity>.vsd-today-overview-status{grid-column:1!important}
  .vsd-today-overview-status-actions.has-current-activity>.vsd-today-current-activity{
    grid-column:2!important;min-width:0!important;max-width:none!important;width:100%!important;min-height:54px!important;
    padding:7px 9px!important;gap:6px!important
  }
  .vsd-today-overview-status-actions.has-current-activity>.vsd-today-overview-quick-actions{grid-column:1 / -1!important}
  .vsd-today-current-activity>.dashicons{flex-basis:26px;width:26px;height:26px;font-size:14px;line-height:26px}
  .vsd-today-current-activity small{font-size:6.5px}.vsd-today-current-activity strong{font-size:9.5px}.vsd-today-current-activity span{font-size:7px}
}
@media(max-width:430px){
  .vsd-today-overview-status-actions.has-current-activity{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important}
}


/* ========================================================================
   v3.17.54 · Snelle dienst: dienstsoort-keuzes opnieuw vastgezet
   Voorkomt verticale letters / uitgerekte keuzevakken op desktop, tablet en mobiel.
   ======================================================================== */
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  align-content:start!important;
  align-items:stretch!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded legend{
  grid-column:1 / -1!important;
  width:100%!important;
  margin:0 0 2px!important;
  padding:0!important;
  color:#536f82!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.25!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  align-content:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:10px 13px!important;
  overflow:hidden!important;
  border:1px solid #d5e2eb!important;
  border-radius:12px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label:has(input:checked){
  border-color:#78b8df!important;
  background:#edf8ff!important;
  box-shadow:inset 3px 0 0 #2380bd!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label>input{
  grid-column:1!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label>span{
  grid-column:2!important;
  display:block!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label>span>strong{
  display:block!important;
  margin:0!important;
  color:#28536f!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.25!important;
  writing-mode:horizontal-tb!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
@media(min-width:1500px){
  .vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:782px){
  .vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .vsd-quick-service-form .vsd-quick-service-kind.vsd-service-kind-expanded>label{
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:9px 11px!important;
  }
}


/* v3.17.54 · drie losse reminder-tijden inclusief vertrek naar werk */
.vsd-pwa-reminder-times{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:850px){.vsd-pwa-reminder-times{grid-template-columns:1fr 1fr!important}}
@media(max-width:520px){.vsd-pwa-reminder-times{grid-template-columns:1fr!important}}

/* ========================================================================
   v3.17.55 · Meldingen desktop/tablet + live spoorkaart op Vrienden
   ======================================================================== */

/* Meldingen gebruiken op brede schermen voortaan de beschikbare ruimte.
   Inbox links, archief rechts; op tablet/telefoon zakt dit terug naar één kolom. */
@media (min-width:1051px){
  .vsd-notifications-page{
    width:min(1240px,100%);
    grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);
    gap:18px;
    align-items:start;
  }
  .vsd-notifications-page>.vsd-notifications-hero{grid-column:1/-1}
  .vsd-notifications-page>.vsd-notification-folder{margin:0;max-width:none;width:auto;box-sizing:border-box}
  .vsd-notifications-page>details.vsd-notification-folder{margin:0;align-self:start}
  .vsd-notifications-page .vsd-notification-folder-head{margin-bottom:12px}
  .vsd-notifications-page .vsd-notification-item{min-width:0}
  .vsd-notifications-page .vsd-notification-copy p{max-width:72ch}
  .vsd-notification-archive .vsd-notifications-list{gap:8px}
  .vsd-notification-archive .vsd-notification-item{padding:13px 14px}
}
@media (min-width:721px) and (max-width:1050px){
  .vsd-notifications-page{width:100%;max-width:none;padding:0 2px;box-sizing:border-box}
  .vsd-notifications-page>.vsd-notification-folder{max-width:none;width:100%;box-sizing:border-box}
  .vsd-notifications-hero{padding:21px 22px}
}

/* Grote netwerkkaart: dezelfde spoorlaag als de bestaande live/vriendenkaarten. */
.vsd-friends-live-overview{
  padding:16px;
  border:1px solid #d6e5ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 26px rgba(24,65,96,.06);
  min-width:0;
}
.vsd-friends-live-overview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:13px;
}
.vsd-friends-live-overview-head h2{margin:2px 0 3px;color:#234f6d;font-size:20px}
.vsd-friends-live-overview-head p{margin:0;color:#728897;font-size:12px}
.vsd-friends-live-overview-stats{display:flex;gap:8px;flex:0 0 auto}
.vsd-friends-live-overview-stats>span{
  display:grid;
  min-width:92px;
  padding:9px 11px;
  border:1px solid #dce7ee;
  border-radius:12px;
  background:#f8fbfd;
  text-align:center;
}
.vsd-friends-live-overview-stats b{color:#245878;font-size:18px;line-height:1.05}
.vsd-friends-live-overview-stats small{margin-top:3px;color:#8094a2;font-size:9px}
.vsd-friends-live-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,340px);
  gap:12px;
  min-width:0;
}
.vsd-friends-overview-map-wrap{min-width:0}
#vsd-friends-overview-map{
  width:100%;
  height:420px;
  border:1px solid #d5e2ea;
  border-radius:14px;
  overflow:hidden;
  background:#eaf1f5;
}
.vsd-friends-map-key{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;padding:0 3px;color:#6f8594;font-size:10px;font-weight:700}
.vsd-friends-map-key span{display:inline-flex;align-items:center;gap:5px}
.vsd-friends-map-key i{display:block;width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cbd9e3}
.vsd-friends-map-key i.is-working{background:#24966d}.vsd-friends-map-key i.is-base{background:#7457a7}.vsd-friends-map-key i.is-self{background:#1473b8}
.vsd-friends-live-roster{
  min-width:0;
  height:420px;
  display:flex;
  flex-direction:column;
  border:1px solid #dce6ed;
  border-radius:14px;
  background:#f8fbfd;
  overflow:hidden;
}
.vsd-friends-live-roster-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid #dfe8ee;background:#fff}
.vsd-friends-live-roster-title strong{color:#315b75;font-size:13px}.vsd-friends-live-roster-title small{color:#8194a1;font-size:9px}
.vsd-friends-live-roster-list{display:grid;gap:6px;padding:8px;overflow:auto;overscroll-behavior:contain}
.vsd-friends-live-person{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px;
  border:1px solid #e0e8ed;
  border-radius:11px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.vsd-friends-live-person.is-working{box-shadow:inset 3px 0 0 #24966d}
.vsd-friends-live-person.is-base{box-shadow:inset 3px 0 0 #7457a7}
.vsd-friends-live-person .vsd-own-profile-photo{width:38px;height:38px}
.vsd-friends-live-person>span{min-width:0}.vsd-friends-live-person strong,.vsd-friends-live-person small,.vsd-friends-live-person em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsd-friends-live-person strong{color:#315b75;font-size:11px}.vsd-friends-live-person small{margin-top:2px;color:#617b8e;font-size:9px}.vsd-friends-live-person em{margin-top:2px;color:#8a9aa5;font-size:8.5px;font-style:normal}
.vsd-friends-live-person>i{color:#78a0ba}
.vsd-friend-map-popup-link{display:inline-block;margin-top:6px;color:#176ca8;font-size:11px;font-weight:800;text-decoration:none}

@media(max-width:1050px){
  .vsd-friends-live-overview-grid{grid-template-columns:1fr}
  #vsd-friends-overview-map{height:350px}
  .vsd-friends-live-roster{height:auto;max-height:none}
  .vsd-friends-live-roster-list{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
}
@media(max-width:720px){
  .vsd-friends-live-overview{padding:12px;border-radius:16px}
  .vsd-friends-live-overview-head{display:grid;gap:10px}
  .vsd-friends-live-overview-stats{width:100%}
  .vsd-friends-live-overview-stats>span{flex:1;min-width:0}
  #vsd-friends-overview-map{height:300px;border-radius:12px}
  .vsd-friends-live-roster-list{grid-template-columns:1fr}
}
@media(max-width:420px){
  .vsd-friends-live-overview-stats{display:grid;grid-template-columns:1fr 1fr}
  #vsd-friends-overview-map{height:270px}
}

/* ========================================================================
   v3.17.56 · nieuw vriendschapsprofiel / sociaal profiel
   Gebouwd naar het goedgekeurde profielconcept, zonder bestaande ritlogica
   of privacyregels te wijzigen.
   ======================================================================== */
.vsd-social-profile-page{max-width:1500px!important;margin:18px auto 0!important;gap:12px!important}
.vsd-social-profile-page .vsd-social-profile-toolbar{padding:0 4px;color:#6f8391;font-size:12px}
.vsd-social-profile-page .vsd-friend-profile-v2{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.vsd-friend-profile-v2-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.vsd-friend-profile-v2-main{display:grid;gap:14px;min-width:0}
.vsd-friend-profile-v2-side{display:grid;gap:14px;min-width:0;position:sticky;top:92px}

.vsd-friend-profile-v2-identity{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:20px 22px;border:1px solid #dde7ee;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(29,66,91,.055)}
.vsd-friend-profile-v2-person{display:flex;align-items:center;gap:18px;min-width:0}
.vsd-friend-profile-v2-avatar-wrap{position:relative;flex:0 0 94px;width:94px;height:94px}
.vsd-friend-profile-v2-avatar-wrap>.vsd-own-profile-photo,.vsd-friend-profile-v2-avatar-wrap>.avatar,.vsd-friend-profile-v2-avatar-wrap>.vsd-letter-avatar{display:block!important;width:94px!important;height:94px!important;border:4px solid #fff!important;border-radius:999px!important;object-fit:cover!important;box-shadow:0 7px 20px rgba(24,61,86,.16)}
.vsd-friend-profile-v2-avatar-wrap>i{position:absolute;right:3px;bottom:5px;width:16px;height:16px;border:3px solid #fff;border-radius:999px;background:#a8b8c3;box-shadow:0 1px 6px rgba(0,0,0,.13)}
.vsd-friend-profile-v2-avatar-wrap>i.is-live{background:#22a06b}
.vsd-friend-profile-v2-person-copy{min-width:0}
.vsd-friend-profile-v2-person-copy .vsd-kicker{display:block;color:#7890a0;font-size:9px;font-weight:900;letter-spacing:.13em}
.vsd-friend-profile-v2-person-copy h2{margin:4px 0 5px!important;color:#163f65!important;font-size:27px!important;line-height:1.05!important;text-shadow:none!important}
.vsd-friend-profile-v2-person-copy>p{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0!important;color:#668094!important;font-size:11px!important}
.vsd-friend-profile-v2-person-copy>p .dashicons{width:15px;height:15px;font-size:15px;color:#4a7b9d}
.vsd-friend-profile-v2-person-copy>p b{font-weight:700;color:#aac0cf}
.vsd-friend-profile-v2-live{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.vsd-friend-profile-v2-live>strong{padding:5px 8px;border-radius:999px;background:#e6f7ed;color:#267852;font-size:9px}
.vsd-friend-profile-v2-live>span{color:#6f8595;font-size:9px}
.vsd-friend-profile-v2-live>a{flex-basis:100%;color:#17699d;text-decoration:none;font-size:9px;font-weight:850}
.vsd-friend-profile-v2-live.is-off>strong{background:#f0f3f5;color:#6f818e}
.vsd-friend-profile-v2-more{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #dbe6ed;border-radius:13px;background:#f8fbfd;color:#244f6b;text-decoration:none}
.vsd-friend-profile-v2-more .dashicons{width:20px;height:20px;font-size:20px}

.vsd-friend-profile-v2-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.vsd-friend-profile-v2-stats>div{display:flex;align-items:center;gap:11px;min-width:0;padding:14px 15px;border:1px solid #e0e8ee;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(27,65,90,.035)}
.vsd-friend-profile-v2-stats>div>.dashicons{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:12px;background:#edf5fa;color:#2874a5;font-size:19px;line-height:39px}
.vsd-friend-profile-v2-stats p,.vsd-friend-profile-v2-stats strong,.vsd-friend-profile-v2-stats small,.vsd-friend-profile-v2-stats em{display:block;min-width:0;margin:0}
.vsd-friend-profile-v2-stats strong{color:#163f65;font-size:21px;line-height:1}
.vsd-friend-profile-v2-stats small{margin-top:3px;color:#516f83;font-size:9px;font-weight:850}
.vsd-friend-profile-v2-stats em{margin-top:2px;overflow:hidden;color:#8a9ca8;font-size:7.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}

.vsd-friend-profile-v2-panel{min-width:0;border:1px solid #dde7ed;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(28,68,94,.045);overflow:hidden}
.vsd-friend-profile-v2-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid #edf1f4;background:#fff}
.vsd-friend-profile-v2-panel-head .vsd-kicker{display:block;color:#6f8aa0;font-size:8px;font-weight:900;letter-spacing:.13em}
.vsd-friend-profile-v2-panel-head h3{margin:3px 0 2px!important;color:#1e4b69!important;font-size:17px!important;line-height:1.12}
.vsd-friend-profile-v2-panel-head p{margin:0!important;color:#8294a0!important;font-size:9px!important;line-height:1.4}
.vsd-friend-profile-v2-panel-head>strong{color:#174d75;font-size:24px}
.vsd-friend-profile-v2-live-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#edf8f2;color:#287b58;font-size:8px;font-weight:900;white-space:nowrap}
.vsd-friend-profile-v2-live-tag i{width:7px;height:7px;border-radius:50%;background:#1ea66c;box-shadow:0 0 0 4px rgba(30,166,108,.12)}

.vsd-friend-profile-v2-live-panel>.vsd-friend-live-service{margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.vsd-friend-profile-v2-live-panel .vsd-friend-live-static-head{padding:12px 16px;background:#f8fbfd;border-bottom:1px solid #e7eef3}
.vsd-friend-profile-v2-live-panel .vsd-friend-live-body{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:12px;padding:12px;border-top:0}
.vsd-friend-profile-v2-live-panel .vsd-friend-day-route-map{height:300px}
.vsd-friend-profile-v2-live-panel .vsd-friend-live-map-card{border-radius:13px}

.vsd-friend-profile-v2-next-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:12px 16px}
.vsd-friend-profile-v2-next-body>div{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 12px;border-right:1px solid #edf1f4}
.vsd-friend-profile-v2-next-body>div:last-child{border-right:0}
.vsd-friend-profile-v2-next-body .dashicons{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#eef6fb;color:#2475a5;font-size:17px;line-height:34px}
.vsd-friend-profile-v2-next-body p,.vsd-friend-profile-v2-next-body small,.vsd-friend-profile-v2-next-body strong{display:block;min-width:0;margin:0}
.vsd-friend-profile-v2-next-body small{color:#8295a2;font-size:7px;font-weight:900;letter-spacing:.08em}
.vsd-friend-profile-v2-next-body strong{margin-top:2px;overflow:hidden;color:#2d5772;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.vsd-friend-profile-v2-next>.vsd-profile-service-badges{padding:0 16px 14px}

.vsd-friend-profile-v2-encounter-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}
.vsd-friend-profile-v2-encounter-strip article{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:11px;border:1px solid #e4ebf0;border-radius:12px;background:#fafcfd}
.vsd-friend-profile-v2-encounter-strip article>.dashicons{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#eef5fa;color:#2877a6;font-size:16px;line-height:32px}
.vsd-friend-profile-v2-encounter-strip small,.vsd-friend-profile-v2-encounter-strip strong,.vsd-friend-profile-v2-encounter-strip p{display:block;margin:0}
.vsd-friend-profile-v2-encounter-strip small{color:#8a9ca7;font-size:7px}.vsd-friend-profile-v2-encounter-strip strong{margin-top:2px;color:#2e5872;font-size:9px}.vsd-friend-profile-v2-encounter-strip p{margin-top:2px;color:#7b8f9c;font-size:7.5px;line-height:1.35}

.vsd-friend-profile-v2-history .vsd-profile-service-group{padding:12px 12px 0}.vsd-friend-profile-v2-history .vsd-profile-service-group:last-child{padding-bottom:12px}
.vsd-friend-profile-v2-history .vsd-friend-history{padding:8px 0 0}

.vsd-friend-profile-v2-side-card{padding:16px;border:1px solid #dde6ed;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(30,68,92,.045)}
.vsd-friend-profile-v2-side-card>.vsd-kicker{display:block;margin-bottom:10px;color:#7890a0;font-size:8px;font-weight:900;letter-spacing:.13em}
.vsd-friend-profile-v2-side-card>h3{margin:0 0 11px;color:#1e4a68;font-size:15px}
.vsd-profile-v2-action{display:flex!important;align-items:center!important;justify-content:center;gap:7px;width:100%;min-height:40px;margin:0 0 7px!important;padding:9px 11px!important;border:1px solid #dae5ec!important;border-radius:11px!important;background:#f5f9fc!important;color:#23536f!important;text-decoration:none!important;font-size:9px!important;font-weight:850!important;line-height:1!important;box-sizing:border-box;cursor:pointer}
.vsd-profile-v2-action.is-primary{border-color:#184d7c!important;background:#174b7a!important;color:#fff!important}
.vsd-profile-v2-action.is-danger{margin-bottom:0!important;border-color:#f0d6d2!important;background:#fff8f7!important;color:#b44b45!important}
.vsd-profile-v2-action .dashicons{width:16px;height:16px;font-size:16px}
.vsd-friend-profile-v2-side-card form{margin:0}
.vsd-profile-v2-share-list{display:grid;gap:0;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f4}
.vsd-profile-v2-share-list>strong{margin-bottom:5px;color:#8194a0;font-size:7px;letter-spacing:.12em}
.vsd-profile-v2-share-list>span{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 0;color:#587287;font-size:8px}
.vsd-profile-v2-share-list .dashicons{width:15px;height:15px;font-size:15px;color:#4e7d9b}.vsd-profile-v2-share-list b{color:#3b8a64;font-size:7px}
.vsd-profile-v2-table{display:grid}
.vsd-profile-v2-table>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f4;color:#6e8391;font-size:8.5px}
.vsd-profile-v2-table>span:last-child{border-bottom:0}.vsd-profile-v2-table b{color:#294f69;font-size:8.5px;text-align:right}
.vsd-friend-profile-v2-private{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;border:1px solid #dde6ed;border-radius:16px;background:#f8fafb;color:#718693}
.vsd-friend-profile-v2-private>.dashicons{color:#55758b}.vsd-friend-profile-v2-private strong{display:block;color:#34586f;font-size:11px}.vsd-friend-profile-v2-private p{margin:3px 0 0;font-size:9px;line-height:1.45}

@media(max-width:1180px){
  .vsd-friend-profile-v2-grid{grid-template-columns:minmax(0,1fr) 280px;gap:12px}
  .vsd-friend-profile-v2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vsd-friend-profile-v2-live-panel .vsd-friend-live-body{grid-template-columns:1fr}
  .vsd-friend-profile-v2-live-panel .vsd-friend-day-route-map{height:280px}
}
@media(max-width:900px){
  .vsd-friend-profile-v2-grid{grid-template-columns:1fr}
  .vsd-friend-profile-v2-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}
  .vsd-friend-profile-v2-side-card:first-child{grid-row:1 / span 2}
  .vsd-friend-profile-v2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .vsd-social-profile-page{margin-top:8px!important;gap:8px!important}
  .vsd-social-profile-page .vsd-social-profile-toolbar{align-items:flex-start;flex-direction:column-reverse;gap:6px;font-size:9px}
  .vsd-friend-profile-v2-main{gap:8px}
  .vsd-friend-profile-v2-identity{align-items:flex-start;padding:12px;border-radius:14px}
  .vsd-friend-profile-v2-person{gap:10px}
  .vsd-friend-profile-v2-avatar-wrap{flex-basis:62px;width:62px;height:62px}
  .vsd-friend-profile-v2-avatar-wrap>.vsd-own-profile-photo,.vsd-friend-profile-v2-avatar-wrap>.avatar,.vsd-friend-profile-v2-avatar-wrap>.vsd-letter-avatar{width:62px!important;height:62px!important;border-width:3px!important}
  .vsd-friend-profile-v2-avatar-wrap>i{right:0;bottom:2px;width:12px;height:12px;border-width:2px}
  .vsd-friend-profile-v2-person-copy .vsd-kicker{font-size:6.5px}
  .vsd-friend-profile-v2-person-copy h2{font-size:18px!important;margin:2px 0 3px!important}
  .vsd-friend-profile-v2-person-copy>p{gap:4px;font-size:7.5px!important}.vsd-friend-profile-v2-person-copy>p .dashicons{width:12px;height:12px;font-size:12px}
  .vsd-friend-profile-v2-live{margin-top:6px;gap:5px}.vsd-friend-profile-v2-live>strong,.vsd-friend-profile-v2-live>span,.vsd-friend-profile-v2-live>a{font-size:7px}.vsd-friend-profile-v2-live>strong{padding:4px 6px}
  .vsd-friend-profile-v2-more{flex-basis:34px;width:34px;height:34px;border-radius:10px}.vsd-friend-profile-v2-more .dashicons{width:17px;height:17px;font-size:17px}
  .vsd-friend-profile-v2-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .vsd-friend-profile-v2-stats>div{gap:7px;padding:8px 9px;border-radius:11px}.vsd-friend-profile-v2-stats>div>.dashicons{flex-basis:29px;width:29px;height:29px;border-radius:9px;font-size:14px;line-height:29px}.vsd-friend-profile-v2-stats strong{font-size:15px}.vsd-friend-profile-v2-stats small{font-size:7px}.vsd-friend-profile-v2-stats em{font-size:6px}
  .vsd-friend-profile-v2-panel{border-radius:12px}.vsd-friend-profile-v2-panel-head{padding:10px 11px;gap:8px}.vsd-friend-profile-v2-panel-head .vsd-kicker{font-size:6px}.vsd-friend-profile-v2-panel-head h3{font-size:13px!important}.vsd-friend-profile-v2-panel-head p{font-size:7px!important}.vsd-friend-profile-v2-panel-head>strong{font-size:18px}
  .vsd-friend-profile-v2-live-panel .vsd-friend-live-static-head{padding:8px 10px}.vsd-friend-profile-v2-live-panel .vsd-friend-live-body{gap:6px;padding:6px}.vsd-friend-profile-v2-live-panel .vsd-friend-day-route-map{height:220px}
  .vsd-friend-profile-v2-next-body{grid-template-columns:1fr;padding:6px 10px}.vsd-friend-profile-v2-next-body>div{padding:7px 0;border-right:0;border-bottom:1px solid #edf1f4}.vsd-friend-profile-v2-next-body>div:last-child{border-bottom:0}.vsd-friend-profile-v2-next-body .dashicons{flex-basis:28px;width:28px;height:28px;font-size:14px;line-height:28px}.vsd-friend-profile-v2-next-body small{font-size:6px}.vsd-friend-profile-v2-next-body strong{font-size:8px}
  .vsd-friend-profile-v2-encounter-strip{grid-template-columns:1fr;padding:7px;gap:5px}.vsd-friend-profile-v2-encounter-strip article{padding:8px}
  .vsd-friend-profile-v2-side{grid-template-columns:1fr;gap:8px}.vsd-friend-profile-v2-side-card:first-child{grid-row:auto}.vsd-friend-profile-v2-side-card{padding:11px;border-radius:12px}.vsd-friend-profile-v2-side-card>h3{font-size:12px}.vsd-profile-v2-action{min-height:36px;font-size:8px!important}.vsd-profile-v2-table>span{font-size:7.5px}.vsd-profile-v2-table b{font-size:7.5px}
}
.vsd-social-profile-toolbar-v2{align-items:flex-end!important;padding:2px 2px 0!important}
.vsd-social-profile-toolbar-v2>div{display:grid;gap:3px}
.vsd-social-profile-toolbar-v2>div>span{color:#7c8f9d;font-size:9px;font-weight:750}
.vsd-social-profile-toolbar-v2>div>span a{color:#2a668c;text-decoration:none}.vsd-social-profile-toolbar-v2>div>span b{padding:0 4px;color:#a0b1bc}
.vsd-social-profile-toolbar-v2>div>strong{color:#173f5f;font-size:19px;line-height:1.1}
@media(max-width:650px){.vsd-social-profile-toolbar-v2{align-items:flex-start!important}.vsd-social-profile-toolbar-v2>div>strong{font-size:15px}.vsd-social-profile-toolbar-v2>div>span{font-size:7px}}


/* v3.17.58 · profiel: centrale synchronisatie & routeherstel */
.vsd-profile-sync-card{grid-column:1/-1}.vsd-profile-sync-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.vsd-profile-sync-head h2{margin-bottom:5px}.vsd-profile-sync-head p{margin:0;max-width:780px;color:#60758d}.vsd-profile-sync-state{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#e9f8ef;color:#127040}.vsd-profile-sync-state.is-building{background:#fff4dc;color:#8a5a00}.vsd-profile-sync-facts{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin:18px 0}.vsd-profile-sync-facts span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #dbe6f1;border-radius:14px;background:#f7fafc}.vsd-profile-sync-facts strong{font-size:17px;color:#103d70}.vsd-profile-sync-facts small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#718399}.vsd-profile-sync-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vsd-profile-sync-actions .button{display:inline-flex;align-items:center;gap:7px;min-height:40px}.vsd-profile-sync-actions .vsd-sync-all-rides-status{color:#61758b}.vsd-profile-sync-note{display:flex;gap:9px;margin-top:14px;padding:11px 13px;border-radius:12px;background:#edf5ff;color:#315b83;font-size:12px;line-height:1.45}@media(max-width:700px){.vsd-profile-sync-head{display:grid}.vsd-profile-sync-state{justify-self:start}.vsd-profile-sync-facts{grid-template-columns:1fr}.vsd-profile-sync-actions{display:grid}.vsd-profile-sync-actions .button{width:100%;justify-content:center}.vsd-profile-sync-actions .vsd-sync-all-rides-status{display:block}}

/* v3.17.75 · Spoorkaart/performance: Leaflet blijft altijd onder de portalheader. */
.vsd-frontend-header{position:sticky!important;top:0!important;z-index:6000!important;isolation:isolate}
.vsd-frontend-main{position:relative;z-index:1}
.vsd-rail-map-panel,.vsd-map-workspace,#vsd-map{position:relative;z-index:0}
#vsd-map{contain:layout paint;isolation:isolate}
.vsd-map-route-sidebar{position:relative;z-index:2}


/* v3.18.06 · Snelle wijziging blijft als werksessie open na opslaan. */
.vsd-myday-quick-session{display:flex;align-items:center;gap:10px;margin:12px 0 2px;padding:10px 12px;border:1px solid #b9dfc9;border-radius:12px;background:#f0fbf5;color:#205f3d}
.vsd-myday-quick-session>.dashicons{flex:0 0 auto;color:#23834d}
.vsd-myday-quick-session>div{min-width:0;display:grid;gap:1px;flex:1}
.vsd-myday-quick-session strong{font-size:12px}
.vsd-myday-quick-session small{font-size:10px;line-height:1.35;color:#4b745f}
.vsd-myday-quick-session .button{flex:0 0 auto;min-height:32px!important;border-radius:9px!important;font-weight:800}
@media(max-width:600px){
  .vsd-myday-quick-session{align-items:flex-start;gap:7px;padding:8px 9px}
  .vsd-myday-quick-session strong{font-size:10px}.vsd-myday-quick-session small{font-size:8px}
  .vsd-myday-quick-session .button{min-height:28px!important;padding:3px 8px!important;font-size:8px!important}
}

/* v3.20.08 · Samsung/Android PWA: document moet altijd verticaal kunnen scrollen.
   Alleen een werkelijk geopende modal/menu mag de achtergrond tijdelijk locken. */
html:has(body.vsd-frontend-body){height:auto!important;min-height:100%!important;overflow-x:hidden!important}
body.vsd-frontend-body:not(.vsd-mobile-menu-open):not(.vsd-modal-open){height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:auto!important;-webkit-overflow-scrolling:touch}
.vsd-frontend-portal{height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow:visible!important}
@media (display-mode:standalone){
  html:has(body.vsd-frontend-body){overflow-y:auto!important;overscroll-behavior-y:auto!important}
  body.vsd-frontend-body:not(.vsd-mobile-menu-open):not(.vsd-modal-open){overflow-y:auto!important;overscroll-behavior-y:auto!important;touch-action:auto!important}
}

/* v3.20.12 · korte uitleg bij tijdkritisch eindperron */
.vsd-pwa-platform-note{display:block;margin:8px 0 2px;padding:9px 11px;border-radius:10px;background:rgba(0,48,130,.06);font-size:12px;line-height:1.45;color:#43536a}


/* v3.21.20 · Info: profielniveau en upgradevergelijking */
.vsd-info-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border:1px solid #d5e4ef;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f5faff 65%,#edf6fd 100%);box-shadow:0 8px 22px rgba(18,56,88,.05)}
.vsd-info-profile-card.is-pro{border-color:#b8d8ec;background:linear-gradient(135deg,#f7fcff,#eaf6ff 70%,#fff7d8)}
.vsd-info-profile-card.is-max{border-color:#c7b9eb;background:linear-gradient(135deg,#fbf9ff,#f0ebff 66%,#eaf6ff)}
.vsd-info-profile-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eaf4fb;color:#176da8}
.vsd-info-profile-card.is-pro .vsd-info-profile-icon{background:#fff0b7;color:#8b6700}.vsd-info-profile-card.is-max .vsd-info-profile-icon{background:#eee8ff;color:#6542a5}
.vsd-info-profile-icon .dashicons{width:28px;height:28px;font-size:28px}.vsd-info-profile-copy small{display:block;color:#66819a;font-size:9px;font-weight:900;letter-spacing:.18em}.vsd-info-profile-copy h2{margin:3px 0 5px;color:#173f65;font-size:21px}.vsd-info-profile-copy h2 strong{font-weight:900}.vsd-info-profile-copy p{margin:0;color:#60788f;font-size:13px}.vsd-info-profile-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.vsd-info-profile-badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border-radius:999px;background:#eaf3fa;color:#315f84;font-size:11px;font-weight:900}.is-pro .vsd-info-profile-badge{background:#fff0b9;color:#735600}.is-max .vsd-info-profile-badge{background:#eee8ff;color:#5d4097}.vsd-info-upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 13px;border-radius:12px;background:#164f84;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:900}.vsd-info-upgrade-btn:hover{background:#123f69;color:#fff}.vsd-info-upgrade-btn .dashicons{width:17px;height:17px;font-size:17px}.vsd-info-plans{scroll-margin-top:90px}.vsd-info-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vsd-info-plan{position:relative;display:flex;flex-direction:column;min-height:260px;padding:18px;border:1px solid #dce7ef;border-radius:18px;background:#fbfdff}.vsd-info-plan.is-current{border:2px solid #1b75ad;background:#f3faff;box-shadow:0 10px 25px rgba(24,109,174,.10)}.vsd-info-plan.is-pro:not(.is-current){background:linear-gradient(180deg,#fffdf6,#fbfdff)}.vsd-info-plan.is-pro_max:not(.is-current){background:linear-gradient(180deg,#fbf9ff,#fbfdff)}.vsd-info-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.vsd-info-plan-top small{display:block;color:#7890a5;font-size:8px;font-weight:900;letter-spacing:.18em}.vsd-info-plan h3{margin:3px 0 0;color:#173f64;font-size:22px}.vsd-info-plan>p{margin:9px 0 13px;color:#60778d;font-size:12px;line-height:1.45}.vsd-info-plan ul{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none}.vsd-info-plan li{display:flex;align-items:flex-start;gap:7px;color:#315673;font-size:12px;line-height:1.4}.vsd-info-plan li .dashicons{flex:0 0 17px;width:17px;height:17px;margin-top:1px;color:#1b8c58;font-size:17px}.vsd-info-current-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#dff6e8;color:#147544;font-size:9px;font-weight:900}.vsd-info-current-pill .dashicons{width:14px;height:14px;font-size:14px}.vsd-info-plan-note,.vsd-info-coming-soon{display:block;margin-top:auto;padding-top:9px;border-top:1px solid #e4edf4;color:#71869a;font-size:10px;font-weight:700}.vsd-info-coming-soon{color:#694ba4}
@media(max-width:720px){.vsd-info-profile-card{grid-template-columns:48px 1fr;gap:12px;padding:16px;border-radius:18px}.vsd-info-profile-icon{width:48px;height:48px;border-radius:15px}.vsd-info-profile-actions{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;width:100%;justify-content:stretch}.vsd-info-profile-badge{justify-content:center}.vsd-info-upgrade-btn{width:100%}.vsd-info-profile-copy h2{font-size:18px}.vsd-info-plan-grid{grid-template-columns:1fr}.vsd-info-plan{min-height:0;padding:16px}.vsd-info-plan h3{font-size:20px}}

/* v3.21.21 · losse pakket/upgradepagina */
.vsd-upgrade-page{display:grid;gap:18px}.vsd-upgrade-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border:1px solid #d4e5f1;border-radius:24px;background:linear-gradient(135deg,#f5fbff 0%,#eaf5ff 65%,#fff8dc 100%);box-shadow:0 10px 26px rgba(18,56,88,.06)}.vsd-upgrade-hero h1{margin:4px 0 8px;color:#173f65;font-size:30px;line-height:1.08}.vsd-upgrade-hero p{max-width:680px;margin:0;color:#607a90;font-size:14px;line-height:1.5}.vsd-upgrade-back{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:10px 13px;border:1px solid #cbdce9;border-radius:12px;background:#fff;color:#245578!important;text-decoration:none!important;font-weight:850}.vsd-upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.vsd-upgrade-card{display:flex;flex-direction:column;min-height:390px;padding:20px;border:1px solid #dce8f0;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(18,56,88,.04)}.vsd-upgrade-card.is-current{border:2px solid #1b75ad;background:linear-gradient(180deg,#f4fbff,#fff);box-shadow:0 12px 28px rgba(24,109,174,.12)}.vsd-upgrade-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.vsd-upgrade-card-head small{display:block;color:#7890a5;font-size:9px;font-weight:900;letter-spacing:.16em}.vsd-upgrade-card h2{margin:3px 0 0;color:#173f64;font-size:24px}.vsd-upgrade-card>p{margin:10px 0;color:#60778d;line-height:1.45}.vsd-upgrade-price{margin:4px 0 15px;color:#0d65a4;font-size:21px;font-weight:950}.vsd-upgrade-card ul{display:grid;gap:8px;margin:0 0 18px;padding:0;list-style:none}.vsd-upgrade-card li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #edf2f6;color:#365974;font-size:12px;font-weight:700}.vsd-upgrade-card li .dashicons{flex:0 0 17px;width:17px;height:17px;font-size:17px}.vsd-upgrade-card li.has-feature .dashicons{color:#168750}.vsd-upgrade-card li.no-feature{color:#9aaab8}.vsd-upgrade-card li.no-feature .dashicons{color:#b7c2cc}.vsd-upgrade-current-note{margin-top:auto;padding:11px 12px;border-radius:11px;background:#f1f6fa;color:#657f95;font-size:11px;font-weight:750}.vsd-upgrade-card.is-current .vsd-upgrade-current-note{background:#e6f5ed;color:#24704a}
@media(max-width:720px){.vsd-upgrade-hero{align-items:flex-start;flex-direction:column;padding:18px;border-radius:19px}.vsd-upgrade-hero h1{font-size:25px}.vsd-upgrade-back{width:100%;justify-content:center}.vsd-upgrade-grid{grid-template-columns:1fr}.vsd-upgrade-card{min-height:0;padding:17px;border-radius:18px}}
.vsd-package-locked{display:grid;justify-items:center;text-align:center;gap:10px;padding:34px 22px;border:1px solid #d7e4ed;border-radius:22px;background:#fff}.vsd-package-locked>.dashicons{width:44px;height:44px;font-size:44px;color:#6d86a0}.vsd-package-locked h2{margin:0;color:#183f63}.vsd-package-locked p{max-width:520px;margin:0 0 6px;color:#657e93}


/* v3.21.22 · pakketpagina: vaste mobiele dock + zelf aanschaffen */
.vsd-upgrade-buy-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;margin-bottom:9px;padding:10px 15px;border-radius:12px;background:#155f9d;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:900;box-shadow:0 7px 18px rgba(21,95,157,.18)}
.vsd-upgrade-buy-btn:hover{background:#114d81;color:#fff!important}
.vsd-upgrade-current-note.is-pending-sale{background:#fff7e3;color:#805f19}
@media(max-width:600px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav,
  .vsd-mobile-bottom-nav{position:fixed!important;inset:auto 0 0 0!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;margin:0!important;transform:none!important;z-index:2147483000!important}
  body.vsd-frontend-body>.vsd-mobile-more,
  .vsd-mobile-more{position:fixed!important;inset:0!important;z-index:2147483001!important}
  .vsd-upgrade-page{padding-bottom:10px}
}

/* v3.21.23 · Zelf upgraden/downgraden + aanvraagmodal */
.vsd-package-message{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:13px 15px;border:1px solid #b9dfcc;border-radius:14px;background:#effaf4;color:#176c49;font-weight:800}.vsd-package-message.is-error{border-color:#f0c5c5;background:#fff2f2;color:#a52b2b}.vsd-upgrade-buy-btn.is-downgrade{border:1px solid #b7c7d7;background:#fff;color:#244d72;box-shadow:none}.vsd-upgrade-current-note.is-request{background:#eef6fd;color:#416782}.vsd-package-change-modal[hidden]{display:none!important}.vsd-package-change-modal{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:20px}.vsd-package-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(10,28,48,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.vsd-package-modal-card{position:relative;width:min(520px,100%);max-height:min(680px,calc(100dvh - 40px));overflow:auto;padding:24px;border:1px solid #d6e2ed;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(10,34,60,.30)}.vsd-package-modal-card h2{margin:5px 42px 8px 0;color:#153d70;font-size:26px;line-height:1.12}.vsd-package-modal-card>p{margin:0 0 14px;color:#607892;line-height:1.5}.vsd-package-modal-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:999px;background:#eef4f9;color:#36536f;font-size:25px;cursor:pointer}.vsd-package-modal-price{margin:12px 0 16px;padding:12px 14px;border-radius:13px;background:#eaf4ff;color:#0f5f9f;font-size:20px;font-weight:900}.vsd-package-consent{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dbe5ef;border-radius:13px;background:#fafcff;color:#294966;font-weight:700;line-height:1.4}.vsd-package-consent input{flex:0 0 auto;width:19px;height:19px;margin-top:1px}.vsd-package-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.vsd-package-modal-cancel{padding:11px 15px;border:1px solid #cbd8e4;border-radius:11px;background:#fff;color:#395a79;font-weight:800}.vsd-package-modal-actions .vsd-upgrade-buy-btn{width:auto;margin:0;border:0;cursor:pointer}body.vsd-modal-open{overflow:hidden!important}
@media(max-width:600px){.vsd-package-change-modal{align-items:end;padding:10px 10px calc(82px + env(safe-area-inset-bottom))}.vsd-package-modal-card{width:100%;max-height:calc(100dvh - 110px);padding:20px 17px 17px;border-radius:22px}.vsd-package-modal-card h2{font-size:22px}.vsd-package-modal-actions{display:grid;grid-template-columns:1fr 1fr}.vsd-package-modal-actions>*{width:100%!important}}
\n\n/* v3.21.24 · Pakketknoppen, vergelijking en statistiekniveaus */
.vsd-upgrade-card .vsd-upgrade-buy-btn{display:flex!important;visibility:visible!important;opacity:1!important;color:#fff!important;-webkit-text-fill-color:#fff!important;line-height:1.2;white-space:normal;text-align:center;appearance:none;-webkit-appearance:none}
.vsd-upgrade-card .vsd-upgrade-buy-btn.is-downgrade{color:#244d72!important;-webkit-text-fill-color:#244d72!important;background:#fff!important}
.vsd-package-compare{padding:20px;border:1px solid #d6e5ef;border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(18,56,88,.05)}
.vsd-package-compare-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px}.vsd-package-compare-head h2{margin:4px 0 5px;color:#173f65;font-size:23px}.vsd-package-compare-head p{margin:0;color:#687f93}.vsd-package-compare-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid #c8d9e7;border-radius:11px;background:#f8fbfe;color:#245578;font-weight:850;cursor:pointer}
.vsd-package-compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1eaf1;border-radius:16px}.vsd-package-compare-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;background:#fff}.vsd-package-compare-table th,.vsd-package-compare-table td{padding:12px 14px;border-right:1px solid #edf2f6;border-bottom:1px solid #edf2f6;text-align:center}.vsd-package-compare-table thead th{position:sticky;top:0;background:#f5f9fc;color:#214b6f;z-index:2}.vsd-package-compare-table thead th:first-child,.vsd-package-compare-table tbody th{position:sticky;left:0;text-align:left;background:#fbfdff;z-index:3}.vsd-package-compare-table thead th:first-child{z-index:4}.vsd-package-compare-table thead th.is-current{background:#eaf6ff}.vsd-package-compare-table thead strong{display:block;font-size:15px}.vsd-package-compare-table thead small{display:block;margin-top:3px;color:#658098;font-size:10px}.vsd-package-compare-table thead span{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:999px;background:#ddf4e7;color:#18754a;font-size:9px;font-weight:900}.vsd-package-compare-table tbody th{min-width:210px;color:#365974;font-size:12px}.vsd-package-compare-table td .dashicons{display:block;margin:0 auto 3px}.vsd-package-compare-table td.has-feature{color:#178751}.vsd-package-compare-table td.no-feature{color:#9faeba}.vsd-package-compare-table td b{font-size:10px}.vsd-package-compare-table tr:last-child>*{border-bottom:0}.vsd-package-compare-table tr>*:last-child{border-right:0}
.vsd-stats-package-limit{display:flex;align-items:flex-start;gap:14px;margin-top:18px;padding:20px!important;border-style:dashed!important;background:#f8fbfe!important}.vsd-stats-package-limit>.dashicons{flex:0 0 38px;width:38px;height:38px;padding:8px;border-radius:12px;background:#eaf3fa;color:#47708f;font-size:22px}.vsd-stats-package-limit h2{margin:3px 0 6px;color:#214b6f}.vsd-stats-package-limit p{margin:0;color:#6b8296;line-height:1.5}
@media(max-width:720px){.vsd-package-compare{padding:16px;border-radius:18px}.vsd-package-compare-head{align-items:stretch;flex-direction:column}.vsd-package-compare-toggle{width:100%}.vsd-package-compare-scroll{margin-right:-2px}.vsd-package-compare-table{min-width:640px}.vsd-package-compare-table th,.vsd-package-compare-table td{padding:11px 10px}.vsd-package-compare-table tbody th{min-width:175px}.vsd-upgrade-card .vsd-upgrade-buy-btn{min-height:48px;font-size:13px}}

/* v3.21.25 · Mobiele pakketvergelijking blijft binnen viewport */
.vsd-upgrade-page,.vsd-package-compare,.vsd-package-compare-head,.vsd-package-compare-scroll{min-width:0;max-width:100%;box-sizing:border-box}
.vsd-package-compare{overflow:hidden}
.vsd-package-compare-scroll{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
@media(max-width:720px){
  .vsd-package-compare{width:100%;padding:14px 12px;border-radius:18px}
  .vsd-package-compare-head{gap:12px;margin-bottom:12px}
  .vsd-package-compare-head h2{font-size:21px;line-height:1.15}
  .vsd-package-compare-head p{font-size:14px;line-height:1.4}
  .vsd-package-compare-scroll{position:relative;margin:0;border-radius:14px;max-width:100%}
  .vsd-package-compare-table{width:max-content!important;min-width:100%!important;table-layout:fixed}
  .vsd-package-compare-table thead th:first-child,
  .vsd-package-compare-table tbody th{width:132px!important;min-width:132px!important;max-width:132px!important;padding:10px 9px;white-space:normal;overflow-wrap:anywhere}
  .vsd-package-compare-table thead th:not(:first-child),
  .vsd-package-compare-table tbody td{width:116px!important;min-width:116px!important;max-width:116px!important;padding:10px 7px}
  .vsd-package-compare-table thead strong{font-size:14px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
  .vsd-package-compare-table thead small{font-size:9px;line-height:1.25;white-space:normal}
  .vsd-package-compare-table tbody th{font-size:11px;line-height:1.25}
  .vsd-package-compare-table td b{font-size:9px}
  .vsd-package-compare-table td .dashicons{font-size:20px;width:20px;height:20px}
  .vsd-package-compare-scroll::-webkit-scrollbar{height:7px}
  .vsd-package-compare-scroll::-webkit-scrollbar-track{background:#eef4f8;border-radius:999px}
  .vsd-package-compare-scroll::-webkit-scrollbar-thumb{background:#9db7cb;border-radius:999px}
}
@media(max-width:390px){
  .vsd-package-compare{padding:12px 9px}
  .vsd-package-compare-table thead th:first-child,
  .vsd-package-compare-table tbody th{width:118px!important;min-width:118px!important;max-width:118px!important}
  .vsd-package-compare-table thead th:not(:first-child),
  .vsd-package-compare-table tbody td{width:104px!important;min-width:104px!important;max-width:104px!important}
}


/* v3.21.26 · pakketkeuze tijdens registratie */
.vsd-register-packages{grid-column:1/-1;margin:8px 0 4px;padding:20px;border:1px solid #d6e3ef;border-radius:22px;background:#f7fbff}
.vsd-register-package-head small{display:block;font-size:11px;font-weight:900;letter-spacing:.18em;color:#587797;margin-bottom:5px}
.vsd-register-package-head h3{margin:0;color:#123f6b;font-size:22px;line-height:1.15}.vsd-register-package-head p{margin:7px 0 16px;color:#6a8299}
.vsd-register-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.vsd-register-package-card{position:relative;display:block;cursor:pointer}.vsd-register-package-card>input{position:absolute;opacity:0;pointer-events:none}
.vsd-register-package-card-inner{display:flex;flex-direction:column;height:100%;min-height:230px;padding:17px;border:2px solid #dbe6f0;border-radius:18px;background:#fff;transition:.18s ease;box-sizing:border-box}
.vsd-register-package-card>input:checked+.vsd-register-package-card-inner{border-color:#0875c1;box-shadow:0 0 0 3px rgba(8,117,193,.10);background:#f4faff}
.vsd-register-package-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.vsd-register-package-title strong{font-size:19px;color:#123f6b}.vsd-register-package-title b{font-size:13px;color:#0875c1;text-align:right}
.vsd-register-package-desc{display:block;margin:8px 0 12px;color:#6a8299;font-size:13px;line-height:1.4}
.vsd-register-package-features{display:flex;flex-direction:column;gap:7px;flex:1}.vsd-register-package-features>span{display:flex;gap:7px;align-items:center;color:#385b79;font-size:12px;font-weight:700}.vsd-register-package-features .dashicons{font-size:16px;width:16px;height:16px;color:#15975e}.vsd-register-package-features .is-more{color:#6f879e;font-weight:600}
.vsd-register-package-select{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding:10px;border-radius:12px;background:#eaf3fb;color:#17527e;font-weight:900;font-size:13px}.vsd-register-package-card>input:checked+.vsd-register-package-card-inner .vsd-register-package-select{background:#0875c1;color:#fff}
.vsd-register-package-note{margin:12px 2px 0!important;color:#71889e!important;font-size:12px!important}
@media(max-width:640px){.vsd-register-packages{padding:15px;margin-top:4px}.vsd-register-package-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.vsd-register-package-card{flex:0 0 min(82vw,270px);scroll-snap-align:start}.vsd-register-package-card-inner{min-height:220px}.vsd-register-package-head h3{font-size:20px}}

/* ========================================================================
   v3.21.28 · vernieuwde login & registratie landing
   ======================================================================== */
.vsd-login-shell-v328{display:block!important;min-height:100dvh;padding:clamp(18px,4vw,52px)!important;overflow-x:hidden}
.vsd-login-shell-v328 .vsd-login-landing{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr);gap:clamp(20px,3vw,38px);align-items:center}
.vsd-login-showcase{min-width:0;color:#fff}
.vsd-login-showcase-copy{max-width:650px;padding:8px 4px 18px}
.vsd-login-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:900;letter-spacing:.18em;color:#c8dcf3}
.vsd-login-showcase-copy h2{margin:0;max-width:700px;color:#fff;font-size:clamp(34px,4.6vw,66px);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.vsd-login-showcase-copy p{max-width:620px;margin:18px 0 0;color:#d8e6f4;font-size:clamp(14px,1.4vw,18px);line-height:1.58}
.vsd-login-showcase-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.vsd-login-showcase-points span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);color:#eef6fd;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}.vsd-login-showcase-points i{width:16px;height:16px;font-size:16px}
.vsd-login-phone-stage{display:flex;justify-content:center;align-items:flex-end;min-height:360px;padding:10px 12px 0}
.vsd-login-phone{position:relative;width:min(245px,62vw);aspect-ratio:9/18.9;padding:9px;border:2px solid rgba(255,255,255,.55);border-radius:38px;background:#0c1b2b;box-shadow:0 32px 70px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.12);transform:rotate(2deg)}
.vsd-login-phone-notch{position:absolute;z-index:3;top:14px;left:50%;width:34%;height:17px;transform:translateX(-50%);border-radius:999px;background:#07111c}.vsd-login-phone-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:29px;background:#eef5fb}.vsd-login-phone-screen img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.vsd-login-phone-placeholder{height:100%;display:grid;place-content:center;gap:8px;padding:22px;text-align:center;color:#55718f}.vsd-login-phone-placeholder .dashicons{margin:auto;width:42px;height:42px;font-size:42px}.vsd-login-phone-placeholder strong{font-size:14px}.vsd-login-phone-placeholder small{font-size:9px;line-height:1.4}
.vsd-login-packages-mini{margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(6,28,53,.34);backdrop-filter:blur(12px)}.vsd-login-packages-mini-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.vsd-login-packages-mini-head>div{display:grid;gap:3px;min-width:0}.vsd-login-packages-mini-head small{color:#fff;font-size:13px;font-weight:900}.vsd-login-packages-mini-head strong{color:#c9d9e9;font-size:10px;font-weight:650}.vsd-login-packages-mini-head>a{flex:0 0 auto;color:#fff;font-size:10px;font-weight:850;text-decoration:none;padding:8px 10px;border-radius:9px;background:#1174bb}
.vsd-login-packages-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.vsd-login-package-mini{position:relative;display:grid;gap:3px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.08)}.vsd-login-package-mini.is-recommended{border-color:#71c1f0;background:rgba(31,137,202,.18)}.vsd-login-package-badge{position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:999px;background:#dff5e9;color:#16734d;font-size:7px;font-weight:900}.vsd-login-package-mini strong{padding-right:48px;color:#fff;font-size:12px}.vsd-login-package-mini b{color:#8fd4ff;font-size:10px}.vsd-login-package-mini small{overflow:hidden;color:#cbd8e5;font-size:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vsd-login-shell-v328 .vsd-login-card{width:100%!important;max-width:520px;margin-left:auto;padding:28px!important;border-radius:26px!important;background:rgba(255,255,255,.97);box-shadow:0 34px 90px rgba(2,16,31,.34)!important}.vsd-login-shell-v328 .vsd-login-card.is-register{max-width:650px}.vsd-login-shell-v328 .vsd-login-brand h1{font-size:29px}.vsd-login-shell-v328 .vsd-login-card>p{font-size:13px}.vsd-login-shell-v328 .vsd-own-login-form>label>span{font-size:11px}.vsd-login-shell-v328 .vsd-own-login-form input[type=text],.vsd-login-shell-v328 .vsd-own-login-form input[type=password]{min-height:52px;border-radius:13px;background:#f8fbfe}.vsd-login-shell-v328 .vsd-login-remember{width:auto!important;max-width:100%!important;white-space:nowrap!important}.vsd-login-shell-v328 .vsd-login-remember span{display:inline!important;overflow-wrap:normal!important;word-break:keep-all!important}.vsd-login-shell-v328 .vsd-login-submit{min-height:52px;border-radius:13px;font-size:14px;background:linear-gradient(135deg,#174f85,#0f71b8)}
.vsd-login-shell-v328 .vsd-register-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-login-shell-v328 .vsd-register-package-card-inner{height:100%}
@media(max-width:980px){.vsd-login-shell-v328 .vsd-login-landing{grid-template-columns:1fr;max-width:760px}.vsd-login-showcase{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:center}.vsd-login-phone-stage{min-height:290px;padding:0}.vsd-login-phone{width:175px}.vsd-login-packages-mini{grid-column:1/-1;margin-top:0}.vsd-login-shell-v328 .vsd-login-card{max-width:none;margin:0}}
@media(max-width:620px){.vsd-login-shell-v328{padding:12px!important}.vsd-login-shell-v328 .vsd-login-landing{gap:14px}.vsd-login-showcase{grid-template-columns:1fr}.vsd-login-showcase-copy{padding:8px 4px 4px}.vsd-login-showcase-copy h2{font-size:34px;line-height:1.02}.vsd-login-showcase-copy p{font-size:13px;margin-top:12px}.vsd-login-showcase-points{gap:6px;margin-top:13px}.vsd-login-showcase-points span{padding:7px 9px;font-size:9px}.vsd-login-phone-stage{display:none}.vsd-login-packages-mini{padding:13px;border-radius:17px}.vsd-login-packages-mini-head{align-items:flex-start;flex-direction:column;gap:8px}.vsd-login-packages-mini-head>a{width:100%;text-align:center}.vsd-login-packages-mini-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2px}.vsd-login-package-mini{flex:0 0 145px;scroll-snap-align:start}.vsd-login-shell-v328 .vsd-login-card{padding:18px 15px!important;border-radius:20px!important}.vsd-login-shell-v328 .vsd-login-brand h1{font-size:22px}.vsd-login-shell-v328 .vsd-login-logo-image{width:50px!important;height:50px!important}.vsd-login-shell-v328 .vsd-register-package-grid{grid-template-columns:1fr}.vsd-login-shell-v328 .vsd-login-remember{display:flex!important;flex-wrap:nowrap!important}.vsd-login-shell-v328 .vsd-login-links{font-size:10px}}

/* ========================================================================
   v3.21.29 · tablet registratiepakketten + login showcase polish
   ======================================================================== */
.vsd-login-shell-v328 .vsd-login-landing{position:relative}
.vsd-login-showcase{position:relative}
.vsd-login-showcase:before{content:"";position:absolute;left:-12%;top:12%;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(32,145,221,.22),rgba(32,145,221,0) 70%);pointer-events:none;filter:blur(4px)}
.vsd-login-showcase-copy{position:relative;z-index:2}
.vsd-login-showcase-copy h2{text-shadow:0 12px 34px rgba(0,0,0,.15)}
.vsd-login-showcase-points span{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.08)}
.vsd-login-phone-stage{position:relative;isolation:isolate}
.vsd-login-phone-glow{position:absolute;z-index:-1;width:330px;height:260px;left:50%;bottom:8%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(49,164,232,.38),rgba(36,112,177,.12) 47%,transparent 70%);filter:blur(18px);pointer-events:none}
.vsd-login-phone{z-index:2;border-color:rgba(255,255,255,.72);box-shadow:0 40px 90px rgba(0,0,0,.36),0 0 0 5px rgba(255,255,255,.035),inset 0 0 0 1px rgba(255,255,255,.16)}
.vsd-login-float-card{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;min-width:158px;padding:10px 12px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(11,42,73,.78);box-shadow:0 18px 42px rgba(0,0,0,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff}
.vsd-login-float-card>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:rgba(69,179,235,.18);color:#7ed0ff;font-size:18px}
.vsd-login-float-card div{display:grid;gap:1px}.vsd-login-float-card small{font-size:7px;letter-spacing:.12em;color:#9fc3df;font-weight:900}.vsd-login-float-card strong{font-size:10px;white-space:nowrap}.vsd-login-float-card.is-top{left:4%;top:24%}.vsd-login-float-card.is-bottom{right:2%;bottom:17%}

/* Registreren krijgt op tablet/klein desktop bewust meer ruimte rechts. */
@media (min-width:981px) and (max-width:1280px){
  .vsd-login-shell-v328{padding:24px!important}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view{width:min(1240px,100%);grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:24px;align-items:start}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-showcase{position:sticky;top:24px;padding-top:26px}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-showcase-copy h2{font-size:clamp(38px,4.1vw,54px)}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-showcase-copy p{font-size:15px}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-phone-stage{min-height:430px}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-phone{width:205px}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-packages-mini{display:none}
  .vsd-login-shell-v328 .vsd-login-card.is-register{max-width:none!important;padding:26px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-packages{padding:18px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid{grid-template-columns:1fr!important;gap:10px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-inner{display:grid;grid-template-columns:minmax(135px,.72fr) minmax(0,1fr) 132px;grid-template-rows:auto 1fr;column-gap:16px;row-gap:5px;min-height:0;padding:15px 16px;align-items:start}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-start;gap:5px;min-width:0;padding-right:4px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title strong{font-size:18px;line-height:1.1;word-break:normal;overflow-wrap:normal;hyphens:none}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title b{font-size:11px;line-height:1.3;text-align:left;white-space:normal;word-break:normal;overflow-wrap:normal}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-desc{grid-column:2;grid-row:1;margin:0;color:#5f7890;font-size:11px;line-height:1.35}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-features{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;margin-top:4px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-features>span{font-size:10px;line-height:1.25;min-width:0}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-features .dashicons{flex:0 0 14px;width:14px;height:14px;font-size:14px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-select{grid-column:3;grid-row:1/3;align-self:center;margin:0;padding:10px 8px;font-size:11px;line-height:1.2;text-align:center}
}

/* iPad portrait / small tablet: één brede kaart per pakket, geen geplette 2-koloms cards. */
@media (min-width:621px) and (max-width:980px){
  .vsd-login-shell-v328 .vsd-login-landing{max-width:840px}
  .vsd-login-shell-v328 .vsd-login-showcase{grid-template-columns:minmax(0,1fr) 210px}
  .vsd-login-shell-v328 .vsd-login-phone{width:190px}
  .vsd-login-float-card{display:none}
  .vsd-login-shell-v328 .vsd-login-card.is-register{max-width:none!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid{grid-template-columns:1fr!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-inner{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1fr) 130px;grid-template-rows:auto 1fr;column-gap:14px;row-gap:4px;min-height:0;padding:15px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-start;gap:5px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title strong{font-size:18px;line-height:1.1;word-break:normal;overflow-wrap:normal}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title b{text-align:left;font-size:11px;line-height:1.3;word-break:normal;overflow-wrap:normal}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-desc{grid-column:2;grid-row:1;margin:0;font-size:11px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-features{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;margin-top:3px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-features>span{font-size:10px;line-height:1.25}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-select{grid-column:3;grid-row:1/3;align-self:center;margin:0;padding:10px 7px;font-size:11px;text-align:center}
}

@media(max-width:620px){
  .vsd-login-showcase:before{width:240px;height:240px}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-inner{min-height:0}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-title strong{word-break:normal;overflow-wrap:normal}
}


/* ========================================================================
   v3.21.30 · login tekst/layout fix op tablet en desktop
   ======================================================================== */
.vsd-login-shell-v328 .vsd-own-login-form{min-width:0;width:100%}
.vsd-login-shell-v328 .vsd-login-options-row{display:flex;align-items:center;width:100%;min-width:0;margin-top:-2px}
.vsd-login-shell-v328 .vsd-login-remember{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;white-space:nowrap!important;line-height:1.25!important}
.vsd-login-shell-v328 .vsd-login-remember input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:block!important;position:static!important;flex:0 0 auto!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important}
.vsd-login-shell-v328 .vsd-login-remember>span{display:block!important;position:static!important;min-width:0!important;margin:0!important;padding:0!important;color:#44536a!important;font-size:11px!important;font-weight:800!important;line-height:1.25!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;text-align:left!important}
.vsd-login-shell-v328 .vsd-login-help-links{display:grid;gap:10px;margin-top:12px;text-align:center;min-width:0}
.vsd-login-shell-v328 .vsd-login-help-text{display:block;max-width:100%;margin:0 auto;color:#8a98a7;font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:normal;word-break:normal}
.vsd-login-shell-v328 .vsd-login-help-text strong{color:#61758a;font-weight:800}
.vsd-login-shell-v328 .vsd-login-account-link{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-width:0;padding:11px 13px;border:1px solid #d7e4ef;border-radius:13px;background:#f6faff;color:#164f84!important;text-decoration:none!important;box-sizing:border-box;transition:.16s ease}
.vsd-login-shell-v328 .vsd-login-account-link:hover{border-color:#b9d4e8;background:#edf7ff;transform:translateY(-1px)}
.vsd-login-shell-v328 .vsd-login-account-link>.dashicons{flex:0 0 19px;width:19px;height:19px;font-size:19px}
.vsd-login-shell-v328 .vsd-login-account-link>span:last-child{display:grid;gap:1px;min-width:0;text-align:left}
.vsd-login-shell-v328 .vsd-login-account-link small{display:block;color:#7a8fa4;font-size:8px;font-weight:750;line-height:1.25;white-space:normal}
.vsd-login-shell-v328 .vsd-login-account-link strong{display:block;color:#164f84;font-size:11px;font-weight:900;line-height:1.25;white-space:normal}

@media (min-width:621px) and (max-width:1280px){
  .vsd-login-shell-v328 .vsd-login-card:not(.is-register){padding:25px!important}
  .vsd-login-shell-v328 .vsd-login-card:not(.is-register)>p{margin:15px 0 18px;line-height:1.45}
  .vsd-login-shell-v328 .vsd-login-help-links{gap:8px;margin-top:10px}
}
@media(max-width:620px){
  .vsd-login-shell-v328 .vsd-login-help-text{font-size:10px}
  .vsd-login-shell-v328 .vsd-login-account-link{padding:10px 11px}
}

/* v3.21.34 · Login showcase met meerdere instelbare telefoons */
.vsd-login-phone-gallery{overflow:visible;min-height:420px}
.vsd-login-phone-gallery .vsd-login-phone-main{position:relative;z-index:5;transform:rotate(1.4deg)}
.vsd-login-phone-gallery .vsd-login-phone-small{position:absolute;z-index:2;width:min(150px,38vw);opacity:.96;box-shadow:0 26px 58px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.vsd-login-phone-gallery .vsd-login-phone-small.is-left{left:5%;bottom:18px;transform:rotate(-9deg) scale(.92)}
.vsd-login-phone-gallery .vsd-login-phone-small.is-right{right:5%;bottom:30px;transform:rotate(9deg) scale(.92)}
.vsd-login-phone-gallery .vsd-login-phone-small.is-back{left:50%;top:4px;transform:translateX(-50%) rotate(-2deg) scale(.78);opacity:.72;z-index:1}
.vsd-login-phone-gallery .vsd-login-phone-small .vsd-login-phone-notch{height:11px;top:10px}
.vsd-login-phone-gallery .vsd-login-float-card{z-index:8}
@media(min-width:1200px){
  .vsd-login-phone-gallery{min-height:470px;padding-left:38px;padding-right:38px}
  .vsd-login-phone-gallery .vsd-login-phone-main{width:220px}
  .vsd-login-phone-gallery .vsd-login-phone-small{width:135px}
  .vsd-login-phone-gallery .vsd-login-phone-small.is-left{left:7%;bottom:18px}
  .vsd-login-phone-gallery .vsd-login-phone-small.is-right{right:7%;bottom:20px}
}
@media(min-width:621px) and (max-width:980px){
  .vsd-login-phone-gallery{min-height:320px}
  .vsd-login-phone-gallery .vsd-login-phone-main{width:175px}
  .vsd-login-phone-gallery .vsd-login-phone-small{width:105px}
  .vsd-login-phone-gallery .vsd-login-phone-small.is-left{left:-2%;bottom:14px}
  .vsd-login-phone-gallery .vsd-login-phone-small.is-right{right:-2%;bottom:18px}
  .vsd-login-phone-gallery .vsd-login-phone-small.is-back{top:2px}
}
@media(max-width:620px){
  /* Mobiel blijft bewust rustig: toon alleen de hoofdtelefoon wanneer de showcase ooit wordt ingeschakeld. */
  .vsd-login-phone-gallery .vsd-login-phone-small{display:none!important}
}

/* ========================================================================
   v3.21.35 · compacte pakketkeuze + echte pakketvergelijking registratie
   ======================================================================== */
.vsd-login-shell-v328 .vsd-register-package-grid-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-card-inner{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;min-height:145px!important;padding:14px!important}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-title{display:flex!important;flex-direction:row!important;grid-column:auto!important;grid-row:auto!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;padding:0!important}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-title strong{font-size:16px!important;line-height:1.15!important;word-break:normal!important;overflow-wrap:normal!important}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-title b{font-size:10px!important;line-height:1.25!important;text-align:right!important;white-space:normal!important}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-desc{display:-webkit-box!important;grid-column:auto!important;grid-row:auto!important;margin:8px 0 10px!important;font-size:10px!important;line-height:1.35!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-select{grid-column:auto!important;grid-row:auto!important;align-self:stretch!important;margin-top:auto!important;padding:9px 8px!important;font-size:10px!important;line-height:1.2!important}
.vsd-register-package-compare{margin-top:14px;border:1px solid #cfe0ee;border-radius:16px;background:#fff;overflow:hidden}
.vsd-register-package-compare>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;color:#174f7d;background:#f6fbff}
.vsd-register-package-compare>summary::-webkit-details-marker{display:none}.vsd-register-package-compare>summary>.dashicons:first-child{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e3f3ff;color:#0875c1}
.vsd-register-package-compare>summary>span:nth-child(2){display:grid;gap:1px;min-width:0;flex:1}.vsd-register-package-compare>summary strong{font-size:12px}.vsd-register-package-compare>summary small{font-size:9px;color:#6b8398;font-weight:650}.vsd-compare-chevron{transition:transform .2s ease}.vsd-register-package-compare[open] .vsd-compare-chevron{transform:rotate(180deg)}
.vsd-register-compare-wrap{padding:0 10px 10px;background:#fff;max-width:100%;overflow:hidden}.vsd-register-compare-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dce7f0;border-radius:12px}
.vsd-register-compare-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;background:#fff;font-size:9px;color:#365a78}.vsd-register-compare-table th,.vsd-register-compare-table td{border-right:1px solid #e5edf4;border-bottom:1px solid #e5edf4;padding:8px;text-align:center;vertical-align:middle;min-width:92px;box-sizing:border-box}.vsd-register-compare-table tr>*:last-child{border-right:0}.vsd-register-compare-table tbody tr:last-child>*{border-bottom:0}
.vsd-register-compare-table thead th{position:sticky;top:0;z-index:2;background:#eef7fd;color:#123f6b}.vsd-register-compare-table thead th strong{display:block;font-size:10px;line-height:1.2}.vsd-register-compare-table thead th small{display:block;margin-top:2px;color:#607b93;font-size:8px;line-height:1.2}.vsd-compare-pick{margin-top:6px;border:0;border-radius:8px;padding:5px 8px;background:#0875c1;color:#fff;font:inherit;font-weight:900;cursor:pointer}
.vsd-register-compare-table .vsd-compare-feature-col{position:sticky;left:0;z-index:3;min-width:130px;max-width:130px;text-align:left;background:#f8fbfe;font-weight:800;color:#234d70}.vsd-register-compare-table thead .vsd-compare-feature-col{z-index:4;background:#e9f4fb}.vsd-register-compare-table .vsd-compare-group th{position:sticky;left:0;text-align:left;background:#dfeef9;color:#164d78;font-size:9px;letter-spacing:.08em;text-transform:uppercase;z-index:1}.vsd-register-compare-table td.is-on .dashicons{color:#15975e;font-size:16px;width:16px;height:16px}.vsd-register-compare-table td small{display:block;margin-top:2px;font-size:7px;font-weight:800}.vsd-register-compare-table td.is-on small{color:#168958}.vsd-register-compare-table td.is-off{color:#9eafbd}.vsd-compare-no{font-size:16px;line-height:1}
@media (min-width:981px) and (max-width:1280px){.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-card-inner{min-height:135px!important}}
@media (min-width:621px) and (max-width:980px){.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-card-inner{min-height:130px!important}}
@media(max-width:620px){.vsd-login-shell-v328 .vsd-register-package-grid-compact{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important;gap:8px}.vsd-login-shell-v328 .vsd-register-package-card-compact{flex:auto!important}.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-card-inner{min-height:135px!important;padding:12px!important}.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-title{flex-direction:column!important;gap:3px!important}.vsd-login-shell-v328 .vsd-register-package-card-compact .vsd-register-package-title b{text-align:left!important}.vsd-register-compare-table .vsd-compare-feature-col{min-width:118px;max-width:118px}.vsd-register-compare-table th,.vsd-register-compare-table td{min-width:82px;padding:7px 6px}}

/* v3.21.38 · stabiele viewport-modal voor pakketvergelijking */
.vsd-register-compare-open{display:flex;width:100%;align-items:center;gap:10px;margin-top:14px;padding:13px 14px;border:1px solid #c9ddec;border-radius:14px;background:linear-gradient(135deg,#f7fbff,#eef8ff);color:#124e7c;cursor:pointer;text-align:left;font:inherit;box-shadow:0 4px 14px rgba(15,71,111,.05)}
.vsd-register-compare-open>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.vsd-register-compare-open strong{font-size:12px}.vsd-register-compare-open small{font-size:9px;color:#70879a}.vsd-register-compare-open>.dashicons:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#dff1ff;color:#0875c1}.vsd-register-compare-open>.dashicons:last-child{margin-left:auto}
html.vsd-modal-open,body.vsd-modal-open{overflow:hidden!important}
body>.vsd-package-compare-modal{position:fixed!important;inset:0!important;z-index:2147483600!important;display:none!important;place-items:center!important;width:100vw!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:24px!important;box-sizing:border-box!important;visibility:hidden!important;opacity:0!important;transform:none!important;filter:none!important;contain:none!important}
body>.vsd-package-compare-modal.is-open{display:grid!important;visibility:visible!important;opacity:1!important}
body>.vsd-package-compare-modal>.vsd-package-compare-backdrop{position:fixed!important;inset:0!important;z-index:0!important;background:rgba(3,22,43,.82)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body>.vsd-package-compare-modal>.vsd-package-compare-dialog{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;width:min(1440px,calc(100vw - 48px))!important;height:min(860px,calc(100dvh - 48px))!important;max-width:1440px!important;max-height:calc(100dvh - 48px)!important;margin:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 30px 100px rgba(0,0,0,.48)!important;visibility:visible!important;opacity:1!important;transform:none!important}
.vsd-package-compare-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:0 0 auto;padding:20px 22px 16px;border-bottom:1px solid #dbe7f0;background:linear-gradient(135deg,#f8fcff,#edf7ff)}
.vsd-package-compare-dialog-head small{font-size:10px;font-weight:900;letter-spacing:.16em;color:#5e7891}.vsd-package-compare-dialog-head h2{margin:3px 0 4px;color:#123f67;font-size:26px;line-height:1.1}.vsd-package-compare-dialog-head p{margin:0;color:#61798d;font-size:13px}.vsd-package-compare-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:0;border-radius:12px;background:#e8f2f9;color:#1a567f;cursor:pointer}.vsd-package-compare-close .dashicons{font-size:24px;width:24px;height:24px}
.vsd-package-compare-dialog-body{min-height:0;flex:1;padding:14px 16px;background:#fff;overflow:hidden}.vsd-register-compare-scroll-modal{width:100%;height:100%;overflow:auto!important;border:1px solid #dbe7f0;border-radius:15px;background:#fff;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.vsd-register-compare-table-modal{width:max-content!important;min-width:100%!important;border-collapse:separate;border-spacing:0;background:#fff;font-size:11px}.vsd-register-compare-table-modal th,.vsd-register-compare-table-modal td{min-width:150px;padding:11px 10px;border-right:1px solid #e5edf4;border-bottom:1px solid #e5edf4;text-align:center;vertical-align:middle;box-sizing:border-box}.vsd-register-compare-table-modal .vsd-compare-feature-col{position:sticky!important;left:0!important;z-index:10!important;min-width:220px!important;max-width:220px!important;text-align:left!important;background:#f8fbfe!important}.vsd-register-compare-table-modal thead th{position:sticky!important;top:0!important;z-index:9!important;background:#eef7fd!important;color:#123f6b}.vsd-register-compare-table-modal thead .vsd-compare-feature-col{z-index:12!important;background:#e9f4fb!important}.vsd-register-compare-table-modal thead th strong{display:block;font-size:14px;line-height:1.2}.vsd-register-compare-table-modal thead th small{display:block;margin-top:2px;color:#607b93;font-size:10px}.vsd-register-compare-table-modal .vsd-compare-pick{display:block;width:100%;margin-top:8px;padding:8px 9px;border:0;border-radius:9px;background:#0875c1;color:#fff;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.vsd-register-compare-table-modal .vsd-compare-group th{position:sticky!important;left:0!important;z-index:8!important;text-align:left!important;background:#dfeef9!important;color:#164d78!important;font-size:10px!important;letter-spacing:.08em;text-transform:uppercase}.vsd-register-compare-table-modal td.is-on .dashicons{color:#15975e}.vsd-register-compare-table-modal td.is-off{color:#9eafbd}
.vsd-package-compare-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:11px 16px 14px;border-top:1px solid #e1ebf3;background:#f8fbfd;color:#6c8194;font-size:10px}.vsd-package-compare-done{border:0;border-radius:10px;padding:9px 15px;background:#144f7c;color:#fff;font-weight:850;cursor:pointer}
@media(max-width:900px){body>.vsd-package-compare-modal{padding:12px!important}body>.vsd-package-compare-modal>.vsd-package-compare-dialog{width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;border-radius:20px!important}.vsd-package-compare-dialog-head{padding:16px 16px 13px}.vsd-package-compare-dialog-head h2{font-size:22px}.vsd-register-compare-table-modal th,.vsd-register-compare-table-modal td{min-width:130px}.vsd-register-compare-table-modal .vsd-compare-feature-col{min-width:165px!important;max-width:165px!important}}
@media(max-width:620px){body>.vsd-package-compare-modal{padding:0!important}body>.vsd-package-compare-modal>.vsd-package-compare-dialog{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important}.vsd-package-compare-dialog-head{padding:14px 14px 11px;padding-top:max(14px,env(safe-area-inset-top))}.vsd-package-compare-dialog-head h2{font-size:20px}.vsd-package-compare-dialog-head p{font-size:11px}.vsd-package-compare-dialog-body{padding:8px}.vsd-register-compare-table-modal th,.vsd-register-compare-table-modal td{min-width:112px;padding:8px 7px}.vsd-register-compare-table-modal .vsd-compare-feature-col{min-width:132px!important;max-width:132px!important}.vsd-package-compare-dialog-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}.vsd-package-compare-dialog-foot span{display:none}}

/* v3.21.39 · compact registreren + Mollie eerste betaling */
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-grid{gap:9px 10px}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-packages{padding:12px 13px!important;border-radius:17px!important;margin:4px 0 2px!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:9px}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head small{margin:0 0 2px;font-size:9px}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head h3{font-size:17px;margin:0}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head p{margin:0;max-width:290px;font-size:10px;line-height:1.35;text-align:right}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact{min-width:0!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-card-inner{display:flex!important;flex-direction:column!important;min-height:92px!important;height:100%!important;padding:10px 10px 9px!important;border-radius:13px!important;border-width:1.5px!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-title{display:flex!important;flex-direction:column!important;gap:2px!important;align-items:flex-start!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-title strong{font-size:13px!important;line-height:1.1!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-title b{font-size:9px!important;line-height:1.2!important;text-align:left!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-desc{display:block!important;min-height:0!important;margin:5px 0 7px!important;font-size:8px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-select{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:flex-start!important;width:auto!important;min-width:58px!important;margin-top:auto!important;padding:6px 8px!important;border-radius:8px!important;font-size:9px!important;line-height:1!important}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-select .dashicons{width:12px;height:12px;font-size:12px}
.vsd-register-compare-open{margin-top:9px!important;padding:9px 10px!important;border-radius:11px!important}
.vsd-register-compare-open strong{font-size:10px!important}.vsd-register-compare-open small{font-size:8px!important}.vsd-register-compare-open>.dashicons:first-child{width:25px!important;height:25px!important;font-size:15px!important}
.vsd-register-package-note{margin-top:7px!important;font-size:9px!important;line-height:1.35!important}
.vsd-register-mollie-note{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:11px;background:#eef9f4;border:1px solid #caeadb;color:#245e48}
.vsd-register-mollie-note>.dashicons{color:#16945b}.vsd-register-mollie-note strong,.vsd-register-mollie-note small{display:block}.vsd-register-mollie-note strong{font-size:9px}.vsd-register-mollie-note small{margin-top:1px;font-size:8px;line-height:1.3;color:#5d7c70}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-approval-note{padding:9px 10px;margin-top:1px}
.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-login-submit{min-height:44px!important;margin-top:0!important}

@media (max-width:1180px){
 .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:620px){
 .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head{display:block}.vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head p{text-align:left;margin-top:4px}
 .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
 .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-card-inner{min-height:86px!important;padding:9px!important}
 .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-desc{display:none!important}
}
/* v3.21.41 · Mollie abonnement lifecycle */
.vsd-subscription-status{display:flex;align-items:center;gap:8px;margin-top:10px;padding:11px 12px;border:1px solid #bfe0cf;border-radius:12px;background:#eef9f3;color:#1f6f4a;font-size:11px;line-height:1.35}.vsd-subscription-status .dashicons{width:18px;height:18px;font-size:18px}.vsd-subscription-status.is-ending{border-color:#efd7a6;background:#fff8e8;color:#805e1b}.vsd-subscription-status.is-ended,.vsd-subscription-status.is-payment_failed,.vsd-subscription-status[class*="is-payment_"]{border-color:#efc4c4;background:#fff3f3;color:#9a3030}.vsd-subscription-cancel-form{margin-top:10px}.vsd-subscription-cancel-btn{width:100%;min-height:42px;padding:9px 12px;border:1px solid #d7bcbc;border-radius:11px;background:#fff;color:#983737;font-weight:850;cursor:pointer}.vsd-subscription-cancel-btn:hover{background:#fff4f4}

/* v3.21.46 · meldingen in één keer gelezen */
.vsd-notification-folder-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.vsd-notification-read-all-form{margin:0}
.vsd-notification-read-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 12px;border:1px solid #c9ddeb;border-radius:999px;background:#fff;color:#175b8e;font:inherit;font-size:12px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(23,79,133,.06)}
.vsd-notification-read-all:hover{background:#edf7ff;border-color:#9cc7e5}
.vsd-notification-read-all .dashicons{width:16px;height:16px;font-size:16px;line-height:16px}
@media(max-width:520px){.vsd-notification-folder-head{align-items:flex-start}.vsd-notification-folder-actions{gap:7px}.vsd-notification-read-all{min-height:31px;padding:6px 9px;font-size:10px}.vsd-notification-read-all .dashicons{display:none}.vsd-notification-folder-head>div:first-child{min-width:0}}

/* v3.21.48 · HC Omroepassistent */
.vsd-announcements-page{display:grid;gap:14px;max-width:920px;margin:0 auto 28px}.vsd-announcements-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#123f72,#0d5b98);color:#fff;box-shadow:0 14px 34px rgba(12,53,91,.14)}.vsd-announcements-hero h1{margin:4px 0 6px;color:#fff;font-size:30px}.vsd-announcements-hero p{margin:0;max-width:680px;color:#dcecff}.vsd-announcements-hero>.dashicons{width:58px;height:58px;font-size:58px;opacity:.94}.vsd-announcement-station{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border:1px solid #bcd9ea;border-radius:20px;background:#f2f9fd}.vsd-announcement-station small{font-weight:800;letter-spacing:.13em;color:#5c7b93}.vsd-announcement-station h2{margin:3px 0 2px;font-size:27px;color:#153f68}.vsd-announcement-station p{margin:0;color:#617a8d}.vsd-announcement-live{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#e8f7ee;color:#258352;font-size:12px;font-weight:900}.vsd-announcement-live i{width:8px;height:8px;border-radius:50%;background:#2c9c61}.vsd-announcement-list{overflow:hidden;border:1px solid #d5e3ee;border-radius:22px;background:#fff}.vsd-announcement-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e4edf4}.vsd-announcement-list-head small{font-weight:900;letter-spacing:.12em;color:#66849c}.vsd-announcement-list-head h2{margin:2px 0 0;font-size:21px;color:#173f67}.vsd-announcement-list-head>span{font-size:12px;font-weight:800;color:#678198}.vsd-announcement-row{display:grid;grid-template-columns:78px minmax(0,1fr) 56px;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid #edf2f6}.vsd-announcement-row:last-child{border-bottom:0}.vsd-announcement-time strong{display:block;font-size:24px;line-height:1;color:#143f69}.vsd-announcement-time small{display:block;margin-top:5px;color:#8799a8}.vsd-announcement-main small{color:#6d879b;font-weight:700}.vsd-announcement-main h3{margin:2px 0 4px;color:#163f67;font-size:20px}.vsd-announcement-main p{margin:0;color:#607a8d;font-size:14px}.vsd-announcement-main .is-delay{color:#cc4e43}.vsd-announcement-main .is-ontime{color:#30855a}.vsd-announcement-transfer{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:#edf6fc;color:#1a6194}.vsd-announcement-transfer strong{font-size:20px;line-height:1}.vsd-announcement-transfer small{font-size:10px;font-weight:800;text-transform:uppercase}.vsd-announcement-script,.vsd-announcement-empty{padding:18px 20px;border-radius:20px;border:1px solid #d7e4ee;background:#fff}.vsd-announcement-script small{font-weight:900;letter-spacing:.12em;color:#66849c}.vsd-announcement-script p{margin:7px 0;color:#254b69;font-size:16px}.vsd-announcement-script>span{color:#8496a5;font-size:12px}.vsd-announcement-empty{text-align:center;padding:34px 20px;color:#5d768a}.vsd-announcement-empty .dashicons{width:42px;height:42px;font-size:42px;color:#2c719f}.vsd-announcement-empty h1,.vsd-announcement-empty h2{color:#173f67}.vsd-announcement-empty.compact{padding:22px}
@media(max-width:600px){.vsd-announcements-page{gap:10px}.vsd-announcements-hero{padding:17px;border-radius:18px}.vsd-announcements-hero h1{font-size:23px}.vsd-announcements-hero>.dashicons{width:42px;height:42px;font-size:42px}.vsd-announcement-station{padding:14px 15px;border-radius:16px}.vsd-announcement-station h2{font-size:22px}.vsd-announcement-row{grid-template-columns:64px minmax(0,1fr) 48px;gap:8px;padding:12px}.vsd-announcement-time strong{font-size:20px}.vsd-announcement-main h3{font-size:18px}.vsd-announcement-main p{font-size:13px}.vsd-announcement-transfer{width:46px;height:46px;border-radius:13px}.vsd-announcement-list-head{padding:14px}.vsd-announcement-list-head>span{display:none}}

/* v3.21.49 · compacte via-route in HC omroepassistent */
.vsd-announcement-main .vsd-announcement-via{margin:0 0 4px;color:#58758c;font-size:12px;line-height:1.35;white-space:normal}
@media(max-width:600px){.vsd-announcement-main .vsd-announcement-via{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* v3.21.54 · compactere HC-omroepassistent, prominent spoor en stationkeuze */
.vsd-announcements-hero-compact{padding:16px 18px;border-radius:20px}.vsd-announcements-hero-compact h1{font-size:26px;margin:2px 0 3px}.vsd-announcements-hero-compact p{font-size:14px}.vsd-announcements-hero-compact>.dashicons{width:46px;height:46px;font-size:46px}
.vsd-announcement-picker{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #d2e2ed;border-radius:16px;background:#fff}.vsd-announcement-picker>div{display:flex;flex-direction:column;gap:1px}.vsd-announcement-picker small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#67849a}.vsd-announcement-picker strong{font-size:14px;color:#173f67}.vsd-announcement-picker select{min-width:240px;max-width:55%;padding:8px 32px 8px 10px;border:1px solid #bfd5e4;border-radius:12px;background:#f6fbfe;color:#16476f;font-weight:800}
.vsd-announcement-row-compact{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:10px 13px}.vsd-announcement-row-compact .vsd-announcement-time strong{font-size:21px}.vsd-announcement-row-compact .vsd-announcement-main h3{font-size:18px;margin:1px 0 2px}.vsd-announcement-row-compact .vsd-announcement-main small{font-size:11px}.vsd-announcement-row-compact .vsd-announcement-via{font-size:11px;margin-bottom:2px}.vsd-announcement-status{font-size:12px!important}.vsd-announcement-side{display:flex;align-items:center;gap:7px}.vsd-announcement-platform{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;height:52px;padding:4px 8px;border-radius:14px;background:#0f5b91;color:#fff;box-shadow:0 4px 12px rgba(15,91,145,.15)}.vsd-announcement-platform small{font-size:9px;line-height:1;font-weight:900;letter-spacing:.12em;color:#dff1ff}.vsd-announcement-platform strong{font-size:22px;line-height:1.05}.vsd-announcement-platform.is-missing{background:#edf3f7;color:#6d8293;box-shadow:none}.vsd-announcement-platform.is-missing small{color:#8398a8}.vsd-announcement-row-compact .vsd-announcement-transfer{width:auto;height:auto;min-width:40px;padding:6px 7px;border-radius:11px}.vsd-announcement-row-compact .vsd-announcement-transfer strong{font-size:15px}.vsd-announcement-row-compact .vsd-announcement-transfer small{font-size:8px}.vsd-home-announcement-shortcut{flex:0 0 auto!important;padding-left:12px!important;padding-right:12px!important}.vsd-home-announcement-shortcut .dashicons{color:#0f5b91}
@media(max-width:600px){.vsd-announcement-picker{align-items:stretch;flex-direction:column;gap:7px;padding:10px 12px}.vsd-announcement-picker select{max-width:none;width:100%;min-width:0}.vsd-announcement-row-compact{grid-template-columns:52px minmax(0,1fr) auto;padding:9px 10px;gap:7px}.vsd-announcement-row-compact .vsd-announcement-time strong{font-size:18px}.vsd-announcement-row-compact .vsd-announcement-main h3{font-size:16px}.vsd-announcement-side{gap:5px}.vsd-announcement-platform{min-width:48px;height:46px;border-radius:12px;padding:3px 6px}.vsd-announcement-platform strong{font-size:19px}.vsd-announcement-row-compact .vsd-announcement-transfer{min-width:34px;padding:5px 5px}.vsd-announcements-hero-compact h1{font-size:21px}.vsd-announcements-hero-compact p{font-size:12px}.vsd-home-announcement-shortcut{min-width:0!important}.vsd-home-announcement-shortcut span:last-child{display:none}}


/* v3.21.55 · Omroepassistent mobiel: tijden nooit afbreken */
.vsd-announcement-time{min-width:68px;white-space:nowrap}.vsd-announcement-time strong{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-variant-numeric:tabular-nums}
@media(max-width:600px){.vsd-announcement-row-compact{grid-template-columns:62px minmax(0,1fr) auto}.vsd-announcement-row-compact .vsd-announcement-time{min-width:62px}.vsd-announcement-row-compact .vsd-announcement-time strong{font-size:18px;letter-spacing:-.01em}}


/* v3.21.56 · eigen treininfo boven Omroepassistent */
.vsd-announcement-owntrain-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.vsd-announcement-owntrain-meta>span{display:flex;align-items:baseline;gap:6px;padding:6px 9px;border:1px solid #d3e3ef;border-radius:10px;background:#fff}
.vsd-announcement-owntrain-meta small{font-size:10px;letter-spacing:.09em;color:#70869a;font-weight:800}
.vsd-announcement-owntrain-meta strong{font-size:16px;color:#123f69;white-space:nowrap}
@media(max-width:600px){.vsd-announcement-owntrain-meta{gap:6px}.vsd-announcement-owntrain-meta>span{padding:5px 7px}.vsd-announcement-owntrain-meta small{font-size:9px}.vsd-announcement-owntrain-meta strong{font-size:15px}}


/* v3.21.58 · Omroepassistent stationkop mobiel rustiger + beginstation treincontext */
.vsd-announcement-station-v2{display:block;padding:15px 17px}.vsd-announcement-station-v2 .vsd-announcement-station-copy{min-width:0;width:100%}.vsd-announcement-station-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vsd-announcement-station-title>div{min-width:0}.vsd-announcement-station-title h2{margin:2px 0 0;line-height:1.08;overflow-wrap:break-word}.vsd-announcement-station-v2 .vsd-announcement-live{flex:0 0 auto;min-width:72px;justify-content:center;white-space:nowrap;padding:8px 10px}.vsd-announcement-station-v2 .vsd-announcement-live b{font-size:12px;letter-spacing:.04em}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta>span{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 9px}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta small{font-size:8px;line-height:1.1;white-space:nowrap}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta strong{font-size:16px;line-height:1.15;white-space:nowrap}.vsd-announcement-punctuality.is-ontime strong{color:#258352}.vsd-announcement-punctuality.is-delay strong{color:#c9473d}.vsd-announcement-current-train{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;padding:13px 15px;border:1px solid #c9deec;border-radius:17px;background:#fff}.vsd-announcement-current-train-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#e8f6ee;color:#258352}.vsd-announcement-current-train-icon .dashicons{width:22px;height:22px;font-size:22px}.vsd-announcement-current-train-copy{min-width:0}.vsd-announcement-current-train-copy>small{display:block;margin-bottom:3px;font-size:9px;font-weight:900;letter-spacing:.13em;color:#6b879c}.vsd-announcement-current-train-head{display:flex;align-items:baseline;gap:7px;min-width:0;color:#153f68}.vsd-announcement-current-train-head strong{font-size:14px;white-space:nowrap}.vsd-announcement-current-train-head span{color:#78a0bc}.vsd-announcement-current-train-head b{font-size:18px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsd-announcement-current-train-copy p{margin:4px 0 0;color:#58758c;font-size:12px;line-height:1.35}
@media(max-width:600px){.vsd-announcement-station-v2{padding:13px 14px}.vsd-announcement-station-title{gap:8px}.vsd-announcement-station-title h2{font-size:21px}.vsd-announcement-station-v2 .vsd-announcement-live{min-width:62px;padding:7px 8px}.vsd-announcement-station-v2 .vsd-announcement-live b{font-size:10px}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta>span{padding:6px 7px;border-radius:9px}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta small{font-size:7px;letter-spacing:.06em}.vsd-announcement-station-v2 .vsd-announcement-owntrain-meta strong{font-size:14px}.vsd-announcement-station-v2 .vsd-announcement-punctuality{grid-column:auto}.vsd-announcement-current-train{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:11px 12px}.vsd-announcement-current-train-icon{width:40px;height:40px;border-radius:12px}.vsd-announcement-current-train-head{gap:5px;flex-wrap:wrap}.vsd-announcement-current-train-head strong{font-size:12px}.vsd-announcement-current-train-head b{font-size:16px;max-width:100%}.vsd-announcement-current-train-copy p{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* v3.21.59 · beginstation: volledige treinroute voor HC-omroep */
.vsd-announcement-current-train-full{align-items:flex-start}.vsd-announcement-onboard-intro{margin:7px 0 9px!important;padding:8px 10px;border-radius:10px;background:#f3f8fc;color:#244e70!important;font-size:12px!important;line-height:1.45!important}.vsd-announcement-full-route{margin-top:7px}.vsd-announcement-full-route>small{display:block;margin-bottom:6px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#6b879c}.vsd-announcement-route-stops{display:flex;flex-wrap:wrap;gap:5px}.vsd-announcement-route-stop{position:relative;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #d3e4ef;border-radius:999px;background:#f8fbfd;color:#244e70;font-size:11px;font-weight:700;line-height:1.15}.vsd-announcement-route-stop:not(:last-child)::after{content:'›';margin-left:7px;color:#7fa2ba;font-weight:900}.vsd-announcement-route-stop.is-destination{background:#e7f3ff;border-color:#acd4ef;color:#0f5d94;font-weight:900}
@media(max-width:600px){.vsd-announcement-current-train-full{grid-template-columns:40px minmax(0,1fr)}.vsd-announcement-onboard-intro{font-size:11px!important;padding:7px 8px}.vsd-announcement-route-stops{gap:4px}.vsd-announcement-route-stop{min-height:25px;padding:4px 7px;font-size:10px}.vsd-announcement-full-route>small{font-size:7px}}

/* v3.21.61 · vervangend vervoer in HC-omroepassistent */
.vsd-announcement-row.is-replacement-bus{background:#fffaf0}
.vsd-announcement-bus-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#f59e0b;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;margin-right:4px}
.vsd-announcement-row.is-replacement-bus .vsd-announcement-platform{background:#b45309}


/* v3.21.68 · opleidingsreis vanaf standplaats */
.vsd-training-journey{margin:14px 0;padding:14px;border:1px solid #cfe1ef;border-radius:18px;background:#f6fbff}
.vsd-training-journey-summary{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vsd-training-journey-summary>.dashicons{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e7f3fb;color:#125e91;font-size:20px}
.vsd-training-journey-summary small,.vsd-training-journey-summary strong{display:block}
.vsd-training-leg{display:grid;grid-template-columns:58px 1fr 58px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #deebf4}
.vsd-training-leg b,.vsd-training-leg em{font-style:normal;font-weight:800;color:#164e77}
.vsd-training-leg em{text-align:right}
.vsd-travel-service.is-training{border-color:#b9d9ec}
.vsd-training-station-field,.vsd-training-station-quick{border-left:4px solid #2a7eaf;padding-left:12px}
@media(max-width:600px){
  .vsd-training-leg{grid-template-columns:52px 1fr 48px;font-size:14px}
}


/* v3.21.69 · OPL heeft eigen bediening, geen gewone snelle wijziging */
.vsd-myday-service.is-training-service .vsd-myday-service-view-head{align-items:flex-start}
.vsd-training-service-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;padding:18px 20px;margin:0 14px 14px;border:1px solid #cfe2ef;border-radius:18px;background:#f6fbff}
.vsd-training-service-summary-main{display:flex;gap:14px;align-items:center}
.vsd-training-service-summary-main>.dashicons{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e1f2e7;color:#21824b;font-size:24px}
.vsd-training-service-summary small,.vsd-training-service-summary strong,.vsd-training-service-summary span{display:block}
.vsd-training-service-summary small{font-weight:800;letter-spacing:.12em;color:#6b859a;font-size:11px}
.vsd-training-service-summary strong{font-size:20px;color:#173f62;margin:3px 0}
.vsd-training-service-summary span{color:#6f8597}
.vsd-training-service-trip{padding:13px 15px;border-radius:14px;background:#fff;border:1px solid #dce8f0}
.vsd-training-service-trip strong{font-size:18px}
.vsd-training-service-trip em{display:inline-block;margin-top:7px;padding:5px 9px;border-radius:999px;background:#eaf5fb;color:#17608f;font-style:normal;font-weight:800}
.vsd-training-service-trip.is-muted{opacity:.78}
.vsd-training-empty{margin:0 14px 14px}
.vsd-training-editor-intro{display:flex!important;gap:12px;align-items:center;padding:14px 16px!important;border-radius:14px;background:#eef8f2;border:1px solid #cce5d6}
.vsd-training-editor-intro>.dashicons{color:#278552;font-size:24px;width:28px;height:28px}
.vsd-training-editor-intro strong,.vsd-training-editor-intro small{display:block}
.vsd-fixed-service-number{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid #d6e2ea;border-radius:12px;background:#f7fafc}
.vsd-fixed-service-number span,.vsd-fixed-service-number small{font-size:12px;color:#72879a}
.vsd-fixed-service-number strong{font-size:18px;color:#173f62}
@media(max-width:760px){
  .vsd-training-service-summary{grid-template-columns:1fr;margin-left:0;margin-right:0}
  .vsd-training-edit-button{width:100%;justify-content:center}
}


/* v3.21.70 · aparte roosteruren, cursusuren en aanwezigheid voor OPL */
.vsd-training-time-grid,.vsd-training-create-fields,.vsd-training-quick-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vsd-training-time-grid>label,.vsd-training-create-fields>label,.vsd-training-quick-fields>label{display:flex;flex-direction:column;gap:6px}
.vsd-training-time-grid>label>span,.vsd-training-create-fields>label>span,.vsd-training-quick-fields>label>span{font-weight:800;color:#315c79}
.vsd-training-time-grid input,.vsd-training-create-fields input,.vsd-training-quick-fields input{min-height:44px}
.vsd-training-time-grid small,.vsd-training-create-fields small,.vsd-training-quick-fields small{color:#748b9c;line-height:1.35}
.vsd-training-station-field,.vsd-training-station-quick{grid-column:1/-1}
.vsd-training-course-hours{margin-top:5px!important;color:#247553!important;font-weight:800}
.vsd-service-training-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.vsd-service-training-times>div{padding:11px 13px;border:1px solid #d7e5ef;border-radius:12px;background:#f7fbfe}
.vsd-service-training-times small,.vsd-service-training-times strong{display:block}
.vsd-service-training-times small{font-size:10px;font-weight:800;letter-spacing:.1em;color:#70879a;text-transform:uppercase}
.vsd-service-training-times strong{margin-top:3px;color:#173f62}
@media(max-width:760px){
  .vsd-training-time-grid,.vsd-training-create-fields,.vsd-training-quick-fields{grid-template-columns:1fr}
  .vsd-service-training-times{grid-template-columns:1fr 1fr}
}


/* v3.21.71 · OPL treinreis direct op Home en in CTA */
.vsd-today-travel-fact.is-training-trip{min-width:360px}
.vsd-today-travel-fact.is-training-trip p{min-width:0}
.vsd-today-travel-fact.is-training-trip em{display:block;white-space:normal;line-height:1.35}
.vsd-service-cta-training{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:13px;color:#d9ecfb}
.vsd-service-cta-training span{display:inline-flex;gap:4px}
.vsd-service-cta-count.is-training strong{display:flex;align-items:center;justify-content:center}
.vsd-service-cta-count.is-training .dashicons{font-size:32px;width:34px;height:34px}
.vsd-cta-board.is-training-trip .vsd-cta-display{min-width:0}
.vsd-training-cta-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0 10px}
.vsd-training-cta-meta>span{display:block;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.12);min-width:0}
.vsd-training-cta-meta small,.vsd-training-cta-meta strong,.vsd-training-cta-meta em{display:block}
.vsd-training-cta-meta small{font-size:9px;letter-spacing:.11em;text-transform:uppercase;opacity:.75;font-weight:800}
.vsd-training-cta-meta strong{font-size:18px;margin:2px 0}
.vsd-training-cta-meta em{font-style:normal;font-size:10px;opacity:.84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-cta-platform.vsd-training-arrival-block strong{font-size:27px}
.vsd-cta-platform.vsd-training-arrival-block span{line-height:1.15}
@media(max-width:760px){
  .vsd-today-travel-fact.is-training-trip{min-width:0}
  .vsd-training-cta-meta{grid-template-columns:1fr 1fr}
  .vsd-training-cta-meta>span:last-child{grid-column:1/-1}
}


/* v3.21.72 · compactere OPL Home/CTA + aanwezigheid in minuten */
.vsd-minutes-input{display:flex;align-items:center;gap:8px}
.vsd-minutes-input input{flex:1;min-width:0}
.vsd-minutes-input b{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border-radius:10px;background:#eef5fa;color:#315c79;font-size:13px}

.vsd-service-cta-board:has(.vsd-service-cta-count.is-training){grid-template-columns:150px minmax(0,1fr) 122px}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{padding:16px 18px}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-route{font-size:18px;line-height:1.25;margin-top:4px}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{margin-top:10px}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count{padding:12px 8px}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count>small{white-space:normal;line-height:1.1}

.vsd-cta-board.is-training-trip{
  grid-template-columns:150px minmax(0,1fr) 128px;
  min-height:390px;
}
.vsd-cta-board.is-training-trip .vsd-cta-clock{
  padding:18px 10px;
}
.vsd-cta-board.is-training-trip .vsd-cta-clock-face{
  transform:scale(.88);
  transform-origin:center;
}
.vsd-cta-board.is-training-trip .vsd-cta-current-time{
  margin-top:0;
  font-size:24px;
}
.vsd-cta-board.is-training-trip .vsd-cta-display{
  padding:18px 18px 0;
}
.vsd-cta-board.is-training-trip .vsd-cta-display-top{
  gap:10px;
}
.vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{
  font-size:32px;
  line-height:1;
}
.vsd-cta-board.is-training-trip .vsd-cta-category{
  font-size:13px;
}
.vsd-cta-board.is-training-trip .vsd-cta-destination{
  font-size:30px;
  line-height:1.08;
  margin-top:10px;
}
.vsd-cta-board.is-training-trip .vsd-cta-via{
  margin-top:8px;
  font-size:15px;
}
.vsd-training-cta-meta{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.vsd-training-cta-meta>span{
  background:#f5f9fc;
  border:1px solid #dbe8f1;
  color:#174b73;
  padding:12px;
  border-radius:12px;
}
.vsd-training-cta-meta small{opacity:1;color:#8091a2}
.vsd-training-cta-meta strong{font-size:23px;color:#174b73}
.vsd-training-cta-meta em{opacity:1;color:#51718a;font-size:12px}
.vsd-cta-board.is-training-trip .vsd-cta-next{
  margin-left:-18px;
  margin-right:-18px;
  margin-top:14px;
  padding:10px 18px;
}
.vsd-cta-platform.vsd-training-arrival-block{
  padding:14px 8px;
}
.vsd-cta-platform.vsd-training-arrival-block small{
  font-size:9px;
  line-height:1.1;
  word-break:normal;
}
.vsd-cta-platform.vsd-training-arrival-block strong{
  font-size:30px;
  line-height:1;
}
.vsd-cta-platform.vsd-training-arrival-block span{
  font-size:10px;
  word-break:break-word;
}

.vsd-today-travel-fact.is-training-trip{
  background:#eef8ff;
  border-color:#b9dcef;
}
.vsd-today-travel-fact.is-training-trip strong{
  font-size:20px;
}
.vsd-today-travel-fact.is-training-trip em{
  max-width:100%;
}

@media(max-width:760px){
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:118px minmax(0,1fr) 88px;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{
    padding:12px 12px;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-title{
    font-size:24px;
  }

  .vsd-cta-board.is-training-trip{
    grid-template-columns:118px minmax(0,1fr);
    min-height:0;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:auto auto minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-height:0;
    padding:10px 14px;
    text-align:left;
  }
  .vsd-cta-platform.vsd-training-arrival-block small{font-size:9px}
  .vsd-cta-platform.vsd-training-arrival-block strong{font-size:22px}
  .vsd-cta-platform.vsd-training-arrival-block span{font-size:11px}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top{
    flex-wrap:wrap;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{
    font-size:28px;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-destination{
    font-size:25px;
  }
  .vsd-training-cta-meta{
    grid-template-columns:1fr 1fr;
  }
  .vsd-training-cta-meta>span:last-child{
    grid-column:1/-1;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-clock-face{
    transform:scale(.72);
    margin:-8px auto;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-current-time{
    font-size:20px;
  }
}


/* v3.21.73 · herstel mobiele OPL-kaarten na v3.21.72 */
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{
  color:#315c79!important;
}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training b{
  color:#173f62!important;
}

@media(max-width:782px){
  /* OPL-dienstkaart: rechter opleidingskolom niet meer de middenkolom wurgen. */
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:88px minmax(0,1fr)!important;
    min-height:0!important;
    position:relative!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-side{
    grid-column:1!important;
    grid-row:1!important;
    padding:10px 5px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    padding:0!important;
    border-left-width:5px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count{
    grid-column:1/-1!important;
    grid-row:2!important;
    min-height:46px!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:start!important;
    gap:10px!important;
    padding:8px 12px!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.24)!important;
    text-align:left!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count small{
    font-size:8px!important;
    white-space:nowrap!important;
    padding:2px 6px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count strong{
    width:auto!important;
    height:auto!important;
    font-size:20px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count .dashicons{
    width:22px!important;
    height:22px!important;
    font-size:22px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count span{
    font-size:9px!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-top{
    padding:10px 12px 4px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-top strong{
    font-size:18px!important;
    white-space:nowrap!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-title{
    padding:2px 12px 0!important;
    font-size:24px!important;
    line-height:1.04!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-route{
    padding:7px 12px 4px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{
    padding:0 12px 8px!important;
    margin:0!important;
    gap:5px 12px!important;
    font-size:11px!important;
    color:#315c79!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-meta{
    padding:7px 12px!important;
    font-size:9px!important;
    gap:8px!important;
  }

  /* OPL-treinreis: klok smal, inhoud breed, aankomst onderaan. */
  .vsd-cta-board.is-training-trip{
    grid-template-columns:76px minmax(0,1fr)!important;
    min-height:0!important;
    border-radius:18px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-clock{
    grid-column:1!important;
    grid-row:1!important;
    padding:10px 4px!important;
    min-width:0!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-clock-face{
    width:58px!important;
    height:58px!important;
    transform:none!important;
    margin:0 auto!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-tick{
    transform-origin:50% 26px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-current-time{
    font-size:16px!important;
    white-space:nowrap!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    padding:0!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:5px 8px!important;
    align-items:center!important;
    padding:11px 12px 3px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child{
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    min-width:0!important;
    flex-wrap:nowrap!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child small{
    white-space:nowrap!important;
    font-size:7px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{
    font-size:24px!important;
    line-height:1!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-status{
    grid-column:2!important;
    grid-row:1!important;
    padding:4px 7px!important;
    font-size:8px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-category{
    grid-column:1/-1!important;
    grid-row:2!important;
    text-align:left!important;
    font-size:11px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-destination{
    padding:3px 12px 0!important;
    font-size:25px!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-via{
    padding:7px 12px 8px!important;
    font-size:12px!important;
    min-height:0!important;
  }
  .vsd-cta-board.is-training-trip .vsd-training-cta-meta{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin:7px 12px 10px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-training-cta-meta>span{
    padding:9px 10px!important;
    min-width:0!important;
  }
  .vsd-cta-board.is-training-trip .vsd-training-cta-meta>span:last-child{
    grid-column:1/-1!important;
  }
  .vsd-cta-board.is-training-trip .vsd-training-cta-meta strong{
    font-size:20px!important;
    white-space:nowrap!important;
    word-break:normal!important;
  }
  .vsd-cta-board.is-training-trip .vsd-training-cta-meta em{
    font-size:10px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-next{
    margin:0!important;
    padding:8px 12px!important;
    font-size:9px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:0!important;
    padding:9px 12px!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.24)!important;
    text-align:left!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block small{
    font-size:8px!important;
    white-space:nowrap!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block strong{
    font-size:21px!important;
    white-space:nowrap!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block span{
    font-size:9px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:430px){
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:82px minmax(0,1fr)!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-title{
    font-size:22px!important;
  }
  .vsd-cta-board.is-training-trip{
    grid-template-columns:70px minmax(0,1fr)!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{
    font-size:22px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-destination{
    font-size:23px!important;
  }
}


/* v3.21.74 · OPL CTA gebruikt exact dezelfde verhoudingen als normale dienst */
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
  grid-template-columns:170px minmax(0,1fr) 110px!important;
  min-height:168px!important;
  height:auto!important;
  align-self:start!important;
}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{
  padding:0!important;
}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-route{
  margin:0!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{
  margin:0!important;
  padding:0 18px 7px!important;
  font-size:11px!important;
  color:#63809b!important;
}
.vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count{
  padding:12px 8px!important;
}

.vsd-cta-board.is-training-trip{
  grid-template-columns:170px minmax(0,1fr) 110px!important;
  min-height:168px!important;
  height:auto!important;
  margin:0!important;
  align-self:start!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-clock{
  padding:14px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-clock-face{
  width:112px!important;
  height:112px!important;
  transform:none!important;
  margin:0!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-tick{
  transform-origin:50% 51px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-current-time{
  font-size:15px!important;
  white-space:nowrap!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-display{
  padding:0!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-display-top{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  gap:18px!important;
  padding:14px 18px 5px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{
  font-size:26px!important;
  white-space:nowrap!important;
  word-break:normal!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-category{
  grid-column:auto!important;
  grid-row:auto!important;
  text-align:right!important;
  font-size:22px!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  white-space:nowrap!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-status{
  grid-column:auto!important;
  grid-row:auto!important;
  font-size:11px!important;
  padding:6px 10px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-destination{
  padding:0 18px!important;
  font-size:34px!important;
  line-height:1.08!important;
  margin:0!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-via{
  padding:7px 18px 9px!important;
  font-size:15px!important;
  min-height:36px!important;
  margin:0!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-meta{
  display:flex!important;
  gap:16px!important;
  padding:0 18px 8px!important;
  font-size:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-meta span{
  min-width:0!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-next{
  margin-top:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:7px 18px!important;
  font-size:12px!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block{
  display:flex!important;
  grid-column:auto!important;
  grid-row:auto!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:12px 8px!important;
  border-left:1px solid rgba(255,255,255,.24)!important;
  border-top:0!important;
  text-align:center!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block small{
  font-size:10px!important;
  white-space:nowrap!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block strong{
  font-size:42px!important;
  white-space:nowrap!important;
}
.vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block span{
  font-size:9px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

@media(min-width:850px){
  .vsd-home-cta-pair .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:92px minmax(0,1fr) 64px!important;
    min-height:136px!important;
    border-radius:18px!important;
  }
  .vsd-home-cta-pair .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{
    padding:0!important;
  }
  .vsd-home-cta-pair .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-route{
    font-size:9px!important;
    line-height:1.25!important;
    padding:4px 9px 5px!important;
  }
  .vsd-home-cta-pair .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{
    padding:0 9px 4px!important;
    font-size:7px!important;
    gap:4px 8px!important;
  }
  .vsd-home-cta-pair .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count{
    padding:7px 3px!important;
  }

  .vsd-home-cta-pair .vsd-cta-board.is-training-trip{
    grid-template-columns:82px minmax(0,1fr) 60px!important;
    min-height:136px!important;
    border-radius:18px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-clock{
    padding:7px 4px!important;
    gap:3px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-clock-face{
    width:62px!important;
    height:62px!important;
    border-width:3px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-tick{
    top:3px!important;
    width:2px!important;
    height:6px!important;
    transform-origin:50% 28px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-tick:nth-of-type(3n+1){
    height:8px!important;
    width:3px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-hand.hour{height:16px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-hand.minute{height:22px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-hand.second{height:24px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-current-time{font-size:12px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-clock>small{font-size:6px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-display-top{
    grid-template-columns:1fr auto!important;
    gap:5px!important;
    padding:8px 9px 2px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child{gap:5px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-display-top small{font-size:6px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{font-size:18px!important}
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-category{
    grid-column:1/-1!important;
    grid-row:2!important;
    text-align:left!important;
    font-size:9px!important;
    text-transform:uppercase!important;
    letter-spacing:.07em!important;
    color:#47708f!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-status{
    grid-column:2!important;
    grid-row:1!important;
    padding:3px 6px!important;
    font-size:7px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-destination{
    padding:1px 9px 0!important;
    font-size:19px!important;
    line-height:1.02!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-via{
    padding:4px 9px 5px!important;
    font-size:9px!important;
    line-height:1.22!important;
    min-height:26px!important;
    gap:5px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-meta{
    padding:0 9px 4px!important;
    gap:6px!important;
    font-size:7px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-next{
    padding:4px 9px!important;
    font-size:7px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block{
    padding:7px 3px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block small{
    font-size:6px!important;
    padding:2px 4px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block strong{
    font-size:26px!important;
  }
  .vsd-home-cta-pair .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block span{
    font-size:5.5px!important;
  }
}

@media(max-width:782px){
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:96px minmax(0,1fr) 66px!important;
    min-height:142px!important;
    border-radius:18px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-side{
    grid-column:auto!important;
    grid-row:auto!important;
    padding:8px 5px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-display{
    grid-column:auto!important;
    grid-row:auto!important;
    padding:0!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count{
    grid-column:auto!important;
    grid-row:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:3px!important;
    min-height:0!important;
    padding:8px 3px!important;
    border-left:1px solid rgba(255,255,255,.24)!important;
    border-top:0!important;
    text-align:center!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count small{font-size:7px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count strong{font-size:29px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count .dashicons{font-size:24px!important;width:26px!important;height:26px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-count span{font-size:6px!important;text-align:center!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-top{padding:9px 10px 2px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-title{padding:1px 10px 0!important;font-size:20px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-route{padding:5px 10px 6px!important;font-size:10px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-training{padding:0 10px 5px!important;font-size:8px!important;gap:4px 8px!important}
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-meta{padding:5px 10px!important;font-size:7.5px!important}

  .vsd-cta-board.is-training-trip{
    grid-template-columns:92px minmax(0,1fr) 66px!important;
    min-height:142px!important;
    border-radius:18px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-clock{padding:8px 5px!important;gap:4px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-clock-face{width:72px!important;height:72px!important;border-width:3px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-tick{top:3px!important;width:2px!important;height:7px!important;transform-origin:50% 33px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-tick:nth-of-type(3n+1){height:9px!important;width:3px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.hour{height:19px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.minute{height:26px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.second{height:28px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-current-time{font-size:13px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top{grid-template-columns:1fr auto!important;gap:6px!important;padding:9px 10px 3px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child{gap:6px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top small{font-size:7px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{font-size:20px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-category{grid-column:1/-1!important;grid-row:2!important;text-align:left!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.09em!important}
  .vsd-cta-board.is-training-trip .vsd-cta-status{grid-column:2!important;grid-row:1!important;padding:4px 7px!important;font-size:9px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-destination{padding:1px 10px 0!important;font-size:23px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-via{padding:5px 10px 6px!important;font-size:11px!important;min-height:31px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-meta{padding:0 10px 5px!important;gap:8px!important;font-size:8px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-next{padding:5px 10px!important;font-size:9px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block{padding:8px 3px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block small{font-size:7px!important;padding:2px 5px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block strong{font-size:29px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block span{font-size:6px!important}
}

@media(max-width:430px){
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training){
    grid-template-columns:82px minmax(0,1fr) 55px!important;
  }
  .vsd-service-cta-board:has(.vsd-service-cta-count.is-training) .vsd-service-cta-title{font-size:17px!important}
  .vsd-cta-board.is-training-trip{
    grid-template-columns:78px minmax(0,1fr) 55px!important;
  }
  .vsd-cta-board.is-training-trip .vsd-cta-clock-face{width:62px!important;height:62px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-tick{transform-origin:50% 28px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.hour{height:16px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.minute{height:22px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-hand.second{height:24px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-display-top>div:first-child strong{font-size:18px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-destination{font-size:20px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-category{font-size:9px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-platform.vsd-training-arrival-block strong{font-size:25px!important}
  .vsd-cta-board.is-training-trip .vsd-cta-meta span:nth-child(3){display:none!important}
}


/* v3.21.75 · volledige OPL-reisketen + reistijdarchief */
.vsd-training-transfer-setting{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.vsd-training-transfer-setting>span{font-weight:800;color:#315c79}
.vsd-training-transfer-setting small{color:#748b9c;line-height:1.35}

.vsd-training-car-leg{display:flex;gap:12px;align-items:flex-start;padding:12px 0 14px;border-bottom:1px solid #dce9f2}
.vsd-training-car-leg>.dashicons{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eaf4fb;color:#17618f;font-size:20px}
.vsd-training-car-leg>div{min-width:0}
.vsd-training-car-leg small,.vsd-training-car-leg strong,.vsd-training-car-leg em{display:block}
.vsd-training-car-leg small{font-size:10px;font-weight:800;letter-spacing:.1em;color:#70879a}
.vsd-training-car-leg strong{margin:3px 0;color:#173f62}
.vsd-training-car-leg em{font-style:normal;color:#607f95;font-size:12px}
.vsd-training-car-leg.is-warning>.dashicons{background:#fff4d8;color:#966900}

.vsd-travel-archive{margin-top:18px}
.vsd-travel-archive>details{border:1px solid #d4e3ee;border-radius:18px;background:#fff;overflow:hidden}
.vsd-travel-archive summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#f7fbfe}
.vsd-travel-archive summary::-webkit-details-marker{display:none}
.vsd-travel-archive summary h2{margin:2px 0 0}
.vsd-travel-archive summary p{margin:4px 0 0;color:#74899a}
.vsd-travel-archive-list{padding:10px}
.vsd-travel-archive-item{padding:14px 16px;border:1px solid #e0eaf1;border-radius:14px;margin:8px 0;background:#fff}
.vsd-travel-archive-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vsd-travel-archive-head small,.vsd-travel-archive-head strong{display:block}
.vsd-travel-archive-head small{color:#7890a2}
.vsd-travel-archive-head strong{font-size:18px;color:#173f62}
.vsd-travel-archive-type,.vsd-travel-archive-error{padding:5px 9px;border-radius:999px;background:#edf6fb;color:#17618f;font-size:11px;font-weight:800}
.vsd-travel-archive-error{background:#fff2f0;color:#b54637}
.vsd-travel-archive-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.vsd-travel-archive-metrics>span{padding:9px 10px;border-radius:10px;background:#f6f9fb;min-width:0}
.vsd-travel-archive-metrics small,.vsd-travel-archive-metrics b{display:block}
.vsd-travel-archive-metrics small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8092a0;font-weight:800}
.vsd-travel-archive-metrics b{margin-top:2px;color:#173f62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:700px){
  .vsd-travel-archive-metrics{grid-template-columns:1fr 1fr}
  .vsd-training-car-leg{gap:9px}
}

/* v3.21.93 · relevante snellere aansluiting */
.vsd-announcement-fast-badge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 7px;border-radius:999px;background:#e8f7ee;color:#237b50;font-size:10px;font-weight:900;line-height:1.45;vertical-align:1px}
@media(max-width:600px){.vsd-announcement-fast-badge{display:table;margin:4px 0 0;padding:2px 6px}}


/* v3.21.96 · Opleidingsreis CTA visueel herbouwd */
.vsd-training-cta-card{overflow:hidden;border:1px solid #cfe1ee;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);box-shadow:0 14px 30px rgba(18,67,104,.10);color:#173f62}
.vsd-training-cta-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #deebf3;background:#fff}.vsd-training-cta-head-title{display:flex;align-items:center;gap:12px;min-width:0}.vsd-training-cta-head-title>.dashicons{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#154f86,#2273b8);color:#fff;font-size:23px}.vsd-training-cta-head-title small,.vsd-training-cta-head-title strong{display:block}.vsd-training-cta-head-title small{font-size:10px;font-weight:900;letter-spacing:.14em;color:#6e879b}.vsd-training-cta-head-title strong{margin-top:2px;font-size:18px;color:#143f64;white-space:normal;overflow-wrap:anywhere}.vsd-training-cta-badge{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#e3f4e9;color:#277d4d;font-weight:900;font-size:12px}
.vsd-training-cta-hero{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:0;border-bottom:1px solid #deebf3}.vsd-training-cta-hero-main{padding:18px 18px 16px}.vsd-training-cta-hero-main small,.vsd-training-cta-hero-main strong,.vsd-training-cta-hero-main span{display:block}.vsd-training-cta-hero-main small{font-size:12px;font-weight:800;color:#6a859a;white-space:normal;overflow-wrap:anywhere}.vsd-training-cta-hero-main strong{margin:5px 0 6px;font-size:36px;line-height:1.02;color:#16456d;white-space:normal;overflow-wrap:anywhere}.vsd-training-cta-hero-main span{font-size:14px;line-height:1.4;color:#70889b}.vsd-training-cta-hero-arrival{padding:18px 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;background:linear-gradient(160deg,#154f86 0%,#0f67bf 100%);color:#fff}.vsd-training-cta-hero-arrival small{font-size:10px;font-weight:900;letter-spacing:.13em;color:#d8ecfa}.vsd-training-cta-hero-arrival strong{font-size:42px;line-height:1;margin:5px 0}.vsd-training-cta-hero-arrival span{font-size:14px;font-weight:800;color:#e8f5ff;overflow-wrap:anywhere}
.vsd-training-cta-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px;background:rgba(236,246,252,.72)}.vsd-training-time-card{min-width:0;padding:12px;border-radius:16px;background:#fff;border:1px solid #dbe8f0;box-shadow:0 4px 12px rgba(16,58,95,.05)}.vsd-training-time-card.is-primary{background:linear-gradient(180deg,#f1f9ff 0%,#e6f3ff 100%);border-color:#cfe3f3}.vsd-training-time-card small,.vsd-training-time-card strong,.vsd-training-time-card span{display:block}.vsd-training-time-card small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#7b90a1}.vsd-training-time-card strong{margin:4px 0;font-size:24px;line-height:1.1;color:#17466e;white-space:normal;overflow-wrap:anywhere}.vsd-training-time-card strong em{font-style:normal;font-size:.8em;color:#6e879b}.vsd-training-time-card span{font-size:11px;line-height:1.35;color:#738a9c;white-space:normal;overflow-wrap:anywhere}
.vsd-training-cta-next{padding:11px 18px;background:#0f4678;color:#e8f5ff;font-size:12px}.vsd-training-cta-next b{color:#fff}
@media(max-width:900px){.vsd-training-cta-hero-main strong{font-size:30px}.vsd-training-cta-times{grid-template-columns:repeat(3,minmax(0,1fr))}.vsd-training-time-card strong{font-size:21px}}
@media(max-width:640px){.vsd-training-cta-hero{grid-template-columns:1fr}.vsd-training-cta-hero-arrival{align-items:flex-start;text-align:left;border-top:1px solid rgba(255,255,255,.08)}.vsd-training-cta-hero-arrival strong{font-size:34px}.vsd-training-cta-times{grid-template-columns:1fr 1fr}.vsd-training-time-card.is-primary{grid-column:1/-1}}
@media(max-width:480px){.vsd-training-cta-card{border-radius:18px}.vsd-training-cta-head{padding:13px 14px}.vsd-training-cta-head-title>.dashicons{width:36px;height:36px;flex-basis:36px}.vsd-training-cta-head-title strong{font-size:16px}.vsd-training-cta-head-title small{font-size:9px}.vsd-training-cta-hero-main{padding:14px}.vsd-training-cta-hero-main strong{font-size:26px}.vsd-training-cta-hero-main span{font-size:13px}.vsd-training-cta-hero-arrival{padding:14px}.vsd-training-cta-hero-arrival strong{font-size:30px}.vsd-training-cta-times{grid-template-columns:1fr;padding:10px;gap:8px}.vsd-training-time-card,.vsd-training-time-card.is-primary{grid-column:auto}.vsd-training-time-card{padding:10px}.vsd-training-time-card strong{font-size:20px}}


/* v3.21.97 · rit geopend vanuit een pushmelding */
.vsd-myday-ride.is-notification-focus{position:relative;border-color:#e2ac00!important;box-shadow:0 0 0 3px rgba(255,201,23,.25),0 14px 30px rgba(19,63,98,.12)!important;animation:vsdRideFocusPulse 1.15s ease-in-out 2}
.vsd-myday-ride.is-notification-focus:before{content:"DEZE RIT";position:absolute;z-index:3;right:10px;top:-10px;padding:4px 9px;border-radius:999px;background:#ffc917;color:#173f62;font-size:9px;font-weight:900;letter-spacing:.10em;box-shadow:0 4px 12px rgba(0,0,0,.12)}
@keyframes vsdRideFocusPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}


/* v3.22.08 · Smartwatch / Apple Watch profielkoppeling */
.vsd-wearable-card{position:relative;overflow:hidden}.vsd-wearable-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start}.vsd-wearable-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#0f4f87,#1878c6);color:#fff;box-shadow:0 8px 18px rgba(18,83,137,.18)}.vsd-wearable-icon .dashicons{width:24px;height:24px;font-size:24px}.vsd-wearable-head h2{margin:2px 0 5px}.vsd-wearable-head p{margin:0;color:#667f94;line-height:1.5}.vsd-wearable-card.is-locked{background:linear-gradient(180deg,#fff,#f8fafc)}.vsd-wearable-locked{margin-top:16px;padding:15px;border:1px solid #e0e8ef;border-radius:16px;background:#f7fafc}.vsd-wearable-locked strong{display:block;color:#173f62}.vsd-wearable-locked p{margin:5px 0 12px;color:#6b8194}.vsd-wearable-form{display:grid;gap:13px;margin-top:18px}.vsd-wearable-platform{display:grid;gap:6px}.vsd-wearable-platform>span{font-weight:800;color:#264e6c}.vsd-wearable-platform select{width:100%;min-height:44px;border:1px solid #d4e2ec;border-radius:12px;padding:0 12px;background:#fff}.vsd-wearable-pairing{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:16px;padding:14px 15px;border-radius:17px;background:#eef7fd;border:1px solid #d5e9f6}.vsd-wearable-pairing small,.vsd-wearable-pairing strong,.vsd-wearable-pairing span{display:block}.vsd-wearable-pairing small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#6f8ba0}.vsd-wearable-pairing strong{margin:3px 0;color:#16466e}.vsd-wearable-pairing span{font-size:11px;color:#71899b}.vsd-wearable-code{text-align:right}.vsd-wearable-code strong{font-size:25px;letter-spacing:.08em;color:#0f4f87}.vsd-wearable-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.vsd-wearable-actions form{margin:0}.vsd-wearable-actions .button{display:inline-flex;align-items:center;gap:6px}.vsd-wearable-note{display:flex;gap:10px;margin-top:14px;padding:12px;border-radius:14px;background:#f7f9fb;color:#61798c}.vsd-wearable-note .dashicons{flex:0 0 auto;color:#2476b6}.vsd-wearable-note p{margin:0;font-size:12px;line-height:1.5}.vsd-wearable-note strong{color:#294f6d}
@media(max-width:600px){.vsd-wearable-head{grid-template-columns:auto minmax(0,1fr)}.vsd-wearable-head>.vsd-status-pill{grid-column:2;justify-self:start}.vsd-wearable-pairing{align-items:flex-start;flex-direction:column}.vsd-wearable-code{text-align:left}.vsd-wearable-actions{display:grid}.vsd-wearable-actions form,.vsd-wearable-actions .button{width:100%}}

/* v3.22.09 · eenvoudige smartwatch-webmodus */
.vsd-wearable-webmode{margin-top:18px;padding:15px;border:1px solid #cfe3f2;border-radius:18px;background:linear-gradient(180deg,#f7fbff 0%,#edf7fd 100%)}
.vsd-wearable-webmode-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:start}.vsd-wearable-webmode-head>.dashicons{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#0f4f87;color:#fff;font-size:21px}.vsd-wearable-webmode-head small,.vsd-wearable-webmode-head strong,.vsd-wearable-webmode-head span{display:block}.vsd-wearable-webmode-head small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#718b9f}.vsd-wearable-webmode-head strong{margin:2px 0;font-size:18px;color:#153f62}.vsd-wearable-webmode-head span{font-size:12px;line-height:1.45;color:#678094}.vsd-wearable-webmode-head em{font-style:normal;padding:5px 8px;border-radius:999px;background:#e1f5e8;color:#28764c;font-size:10px;font-weight:900}
.vsd-wearable-web-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.vsd-wearable-web-actions form{margin:0}.vsd-wearable-web-actions .button{display:inline-flex;align-items:center;gap:6px}
.vsd-wearable-web-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:12px;padding:11px;border-radius:14px;background:#fff;border:1px solid #d9e7f0}.vsd-wearable-web-link small{grid-column:1/-1;font-size:9px;font-weight:900;letter-spacing:.11em;color:#7890a2}.vsd-wearable-web-link input{min-width:0;width:100%;border:1px solid #d5e2eb;border-radius:10px;padding:8px;font-size:11px;color:#4f697e;background:#f9fbfc}.vsd-wearable-web-link span{grid-column:1/-1;font-size:10px;line-height:1.4;color:#7b8f9f}
.vsd-wearable-web-steps{margin:12px 0 0;padding-left:21px;color:#59758b;font-size:11px;line-height:1.55}.vsd-wearable-native{margin-top:13px;border:1px solid #e0e8ef;border-radius:15px;background:#fff;overflow:hidden}.vsd-wearable-native>summary{cursor:pointer;list-style:none;padding:12px 14px;color:#244b68}.vsd-wearable-native>summary::-webkit-details-marker{display:none}.vsd-wearable-native>summary span,.vsd-wearable-native>summary small{display:block}.vsd-wearable-native>summary span{font-weight:850}.vsd-wearable-native>summary small{margin-top:2px;color:#7b8fa0;font-size:10px}.vsd-wearable-native[open]>.vsd-wearable-pairing{margin:0;border:0;border-top:1px solid #e7eef3;border-radius:0}.vsd-wearable-native[open]>.vsd-wearable-actions{padding:0 12px 12px;margin-top:10px}
@media(max-width:600px){.vsd-wearable-webmode-head{grid-template-columns:auto minmax(0,1fr)}.vsd-wearable-webmode-head em{grid-column:2;justify-self:start}.vsd-wearable-web-actions{display:grid}.vsd-wearable-web-actions form,.vsd-wearable-web-actions .button{width:100%}.vsd-wearable-web-link{grid-template-columns:1fr}.vsd-wearable-web-link .button{width:100%;justify-content:center}}

/* v3.22.10 · apparaat-afhankelijke smartwatch installatiehulp */
.vsd-wearable-context[hidden]{display:none!important}
.vsd-wearable-setup-guide{margin-top:2px;border:1px solid #d8e7f1;border-radius:17px;background:linear-gradient(180deg,#fbfdff,#f3f9fd);overflow:hidden}
.vsd-wearable-setup-guide .vsd-wearable-context{padding:14px}
.vsd-wearable-guide-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start}
.vsd-wearable-guide-head>.dashicons{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#e2f1fb;color:#176ca8;font-size:19px}
.vsd-wearable-guide-head small,.vsd-wearable-guide-head strong,.vsd-wearable-guide-head span{display:block}
.vsd-wearable-guide-head small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#7590a3}
.vsd-wearable-guide-head strong{margin:2px 0 3px;color:#173f62;font-size:15px}
.vsd-wearable-guide-head span{font-size:11px;line-height:1.45;color:#698296}
.vsd-wearable-setup-guide ol,.vsd-wearable-context-steps ol{counter-reset:vsdWatchStep;list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.vsd-wearable-setup-guide li,.vsd-wearable-context-steps li{counter-increment:vsdWatchStep;position:relative;padding-left:31px;color:#506f86;font-size:11px;line-height:1.45;min-height:23px}
.vsd-wearable-setup-guide li:before,.vsd-wearable-context-steps li:before{content:counter(vsdWatchStep);position:absolute;left:0;top:0;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#0f4f87;color:#fff;font-size:10px;font-weight:900}
.vsd-wearable-guide-note{margin:11px 0 0;padding:9px 10px;border-radius:11px;background:#fff7dc;color:#735d15;font-size:10px;line-height:1.45;border:1px solid #f2df9e}
.vsd-wearable-context-steps{margin-top:12px;padding-top:11px;border-top:1px solid #d5e6f1}
.vsd-wearable-context-steps ol{margin-top:0}
.vsd-wearable-context-steps li{color:#59758b}
@media(max-width:600px){.vsd-wearable-guide-head{grid-template-columns:auto minmax(0,1fr)}.vsd-wearable-setup-guide .vsd-wearable-context{padding:12px}}

/* v3.22.11 · smartwatch: meldingskaart als primaire eenvoudige route */
.vsd-wearable-glance{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:18px;padding:15px 16px;border:1px solid #d5e8da;border-radius:18px;background:linear-gradient(180deg,#f8fcf9,#eef8f1)}
.vsd-wearable-glance small,.vsd-wearable-glance strong,.vsd-wearable-glance span{display:block}.vsd-wearable-glance small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#648373}.vsd-wearable-glance strong{margin:2px 0 4px;color:#173f62;font-size:17px}.vsd-wearable-glance span{font-size:11px;line-height:1.45;color:#627b6e}.vsd-wearable-glance form{margin:0}.vsd-wearable-glance .button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.vsd-wearable-glance-toggle{margin-top:0}
@media(max-width:600px){.vsd-wearable-glance{grid-template-columns:1fr}.vsd-wearable-glance form,.vsd-wearable-glance .button{width:100%}.vsd-wearable-glance .button{justify-content:center}}


/* ========================================================================
   v3.22.14 · responsive header + onderdock herstel
   Desktop krijgt weer een volledige vaste dock; mobiel een compacte sticky
   header en een volle-breedte dock zonder JS-positioneringsfallback.
   ======================================================================== */
.vsd-mobile-bottom-nav{
  position:fixed!important;
  inset:auto 0 0 0!important;
  left:0!important;right:0!important;bottom:0!important;
  width:100%!important;max-width:none!important;margin:0!important;
  display:flex!important;align-items:stretch!important;gap:6px!important;
  padding:8px max(18px,calc((100vw - 1540px)/2 + 22px)) 8px!important;
  border-left:0!important;border-right:0!important;border-bottom:0!important;
  border-radius:0!important;transform:none!important;visibility:visible!important;
  z-index:9998!important;
}
.vsd-mobile-bottom-nav>a,.vsd-mobile-bottom-nav>button{
  flex:1 1 0!important;min-width:0!important;
  flex-direction:row!important;gap:8px!important;min-height:52px!important;padding:6px 10px!important;
}
.vsd-mobile-bottom-nav small{font-size:11px!important}
.vsd-frontend-main{padding-bottom:84px!important}
.vsd-mobile-more-sheet{bottom:78px!important}

@media(max-width:782px){
  .vsd-frontend-header{
    position:sticky!important;top:0!important;z-index:6000!important;
    padding:max(6px,env(safe-area-inset-top,0px)) 8px 0!important;
    overflow:visible!important;background:#eaf1f8!important
  }
  .vsd-frontend-header-inner{
    min-height:58px!important;padding:8px 10px!important;border-radius:0 0 16px 16px!important;gap:8px!important
  }
  .vsd-frontend-logo{min-width:0!important;gap:8px!important}
  .vsd-frontend-logo-mark,.vsd-frontend-logo>span{display:grid!important;flex:0 0 36px!important;width:36px!important;height:36px!important;border-radius:10px!important}
  .vsd-frontend-logo>div{min-width:0!important}
  .vsd-frontend-logo strong{font-size:12px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .vsd-frontend-logo small{display:block!important;font-size:7.5px!important;line-height:1.1!important}
  .vsd-frontend-user{flex:0 0 auto!important;margin-left:auto!important;padding:3px!important;border-radius:12px!important}
  .vsd-frontend-user img{display:block!important;width:34px!important;height:34px!important;border-radius:9px!important}
  .vsd-frontend-user>div,.vsd-frontend-user>a,.vsd-frontend-user>form{display:none!important}

  .vsd-mobile-bottom-nav{
    gap:2px!important;
    padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px))!important
  }
  .vsd-mobile-bottom-nav>a,.vsd-mobile-bottom-nav>button{
    flex-direction:column!important;gap:3px!important;min-height:49px!important;padding:4px 2px!important
  }
  .vsd-mobile-bottom-nav small{font-size:8.5px!important}
  .vsd-frontend-main{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  .vsd-mobile-more-sheet{left:10px!important;right:10px!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;width:auto!important;transform:none!important}
  .vsd-mobile-bottom-nav[data-vsd-dock-fallback="absolute"]{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important}
}
@media(max-width:390px){
  .vsd-frontend-logo small{display:none!important}
  .vsd-mobile-bottom-nav small{font-size:7.5px!important}
}

/* v3.22.15 · Snelle wijziging: echte modals, nette mobiele acties en duidelijke dienstsoortkeuze */
html.vsd-myday-quick-modal-open,
html.vsd-myday-quick-modal-open body{overflow:hidden!important;overscroll-behavior:none!important}
.vsd-myday-quick-add,
.vsd-myday-quick-edit-modal{
  position:fixed!important;inset:0!important;z-index:100600!important;display:flex!important;
  align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;
  margin:0!important;padding:20px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:hidden!important
}
.vsd-myday-quick-add[hidden],.vsd-myday-quick-edit-modal[hidden]{display:none!important}
.vsd-myday-quick-modal-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:rgba(7,28,49,.66)!important;backdrop-filter:blur(3px);cursor:pointer}
.vsd-myday-quick-add-dialog,.vsd-myday-quick-edit-dialog{
  position:relative;z-index:2;width:min(640px,100%);max-height:min(820px,calc(100dvh - 40px));
  overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d5e3ed;border-radius:22px;
  padding:20px;box-shadow:0 28px 80px rgba(5,30,52,.32)
}
.vsd-myday-quick-add-dialog .vsd-myday-quick-add-head,.vsd-myday-quick-edit-dialog .vsd-myday-quick-add-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin:0 0 16px!important;padding:0 0 14px!important;border-bottom:1px solid #e2ebf1!important;background:#fff!important}
.vsd-myday-quick-add-dialog .vsd-myday-quick-add-head h3,.vsd-myday-quick-edit-dialog .vsd-myday-quick-add-head h3{margin:4px 0 5px!important;color:#173d61!important;font-size:22px!important;line-height:1.15!important}
.vsd-myday-quick-add-dialog .vsd-myday-quick-add-head p,.vsd-myday-quick-edit-dialog .vsd-myday-quick-add-head p{margin:0!important;max-width:520px;color:#6b8294!important;font-size:12px!important;line-height:1.5!important}
.vsd-myday-quick-add-close,.vsd-myday-quick-edit-close{flex:0 0 auto;width:38px!important;height:38px!important;border:0!important;border-radius:999px!important;background:#edf4f8!important;color:#173d61!important;font-size:25px!important;line-height:1!important;cursor:pointer}
.vsd-myday-quick-add-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important}
.vsd-myday-quick-add-search label,.vsd-myday-quick-add-fields label,.vsd-myday-quick-edit-fields label{display:grid!important;gap:6px!important;min-width:0!important}
.vsd-myday-quick-add-search label>span,.vsd-myday-quick-add-fields label>span,.vsd-myday-quick-edit-fields label>span{color:#607b90!important;font-size:10px!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.vsd-myday-quick-add-search input,.vsd-myday-quick-add-fields select,.vsd-myday-quick-edit-fields select{width:100%!important;min-height:48px!important;border:1px solid #c9dbe7!important;border-radius:12px!important;background:#fff!important;color:#173d61!important;font-size:16px!important;padding:8px 11px!important}
.vsd-myday-quick-add-status{margin:12px 0!important;padding:11px 12px!important;border-radius:11px!important;background:#f3f7fa!important;color:#607a8f!important;font-size:11px!important;line-height:1.45!important}
.vsd-myday-quick-add-status.is-success{background:#edf9f2!important;color:#276745!important}.vsd-myday-quick-add-status.is-error{background:#fff2f2!important;color:#9c3d3d!important}
.vsd-myday-quick-add-fields,.vsd-myday-quick-edit-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.vsd-myday-quick-edit-workform{grid-column:1/-1!important}
.vsd-myday-quick-edit-summary{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px;border-radius:12px;background:#eef6fc;color:#174f7d}
.vsd-myday-quick-edit-summary>.dashicons{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#176ca7}.vsd-myday-quick-edit-summary small,.vsd-myday-quick-edit-summary strong{display:block}.vsd-myday-quick-edit-summary small{font-size:8px;letter-spacing:.1em}.vsd-myday-quick-edit-summary strong{font-size:16px}
.vsd-myday-quick-edit-note{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 11px;border-radius:10px;background:#fff9e9;color:#6c5b2b;font-size:10px;line-height:1.45}
.vsd-myday-quick-edit-actions,.vsd-myday-quick-add-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;margin-top:16px!important;padding-top:14px!important;border-top:1px solid #e5edf2!important}
.vsd-myday-quick-edit-actions .button,.vsd-myday-quick-add-actions .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:44px!important;border-radius:11px!important;font-weight:800!important}
.vsd-myday-quick-add-actions small{margin-right:auto!important;max-width:300px!important;color:#728797!important;font-size:9px!important;line-height:1.35!important}
.vsd-myday-quick-ride-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:max-content}
.vsd-myday-quick-ride-actions form{margin:0!important;padding:0!important}
.vsd-myday-quick-edit-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;border-color:#c5dae8!important;background:#f5faff!important;color:#185f95!important}
.vsd-myday-quick-remove{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;border:1px solid #edc8c8!important;background:#fff6f6!important;color:#a23737!important}

/* Dienstsoort: geen enorme lege vlakken, geselecteerde keuze is ondubbelzinnig zichtbaar. */
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  grid-auto-rows:auto!important;align-items:start!important;align-self:start!important;height:auto!important;min-height:0!important;gap:10px!important
}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded legend{grid-column:1/-1!important;margin:4px 0 2px!important;color:#45677f!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label{
  position:relative!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;align-self:start!important;
  width:100%!important;height:auto!important;min-height:76px!important;max-height:none!important;margin:0!important;padding:13px 14px!important;
  border:2px solid #d5e2eb!important;border-radius:14px!important;background:#fff!important;box-sizing:border-box!important;overflow:visible!important;cursor:pointer!important
}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label:hover{border-color:#94bad5!important;background:#f7fbff!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label:has(input:checked),.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label.is-selected{border-color:#1671b2!important;background:#eaf5ff!important;box-shadow:0 0 0 3px rgba(22,113,178,.10),inset 4px 0 #1671b2!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label:has(input:checked)::after,.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label.is-selected::after{content:"GEKOZEN";position:absolute;right:10px;top:9px;padding:3px 7px;border-radius:999px;background:#1671b2;color:#fff;font-size:8px;font-weight:900;letter-spacing:.07em}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label>input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;margin:0!important;accent-color:#1671b2!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label>span{display:block!important;min-width:0!important;width:auto!important;color:#173d61!important;writing-mode:horizontal-tb!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label>span>strong{display:block!important;color:#173d61!important;font-size:14px!important;line-height:1.25!important}
.vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label>span>small{display:block!important;margin-top:4px!important;padding-right:52px!important;color:#718697!important;font-size:10px!important;line-height:1.4!important}

@media(max-width:720px){
  .vsd-myday-quick-add,.vsd-myday-quick-edit-modal{align-items:flex-end!important;padding:0!important}
  .vsd-myday-quick-add-dialog,.vsd-myday-quick-edit-dialog{width:100%!important;max-height:calc(94dvh - env(safe-area-inset-top))!important;border-radius:22px 22px 0 0!important;padding:17px 14px calc(16px + env(safe-area-inset-bottom))!important}
  .vsd-myday-quick-add-dialog .vsd-myday-quick-add-head h3,.vsd-myday-quick-edit-dialog .vsd-myday-quick-add-head h3{font-size:19px!important}.vsd-myday-quick-add-dialog .vsd-myday-quick-add-head p,.vsd-myday-quick-edit-dialog .vsd-myday-quick-add-head p{font-size:10px!important}
  .vsd-myday-quick-add-search,.vsd-myday-quick-add-fields,.vsd-myday-quick-edit-fields{grid-template-columns:1fr!important}
  .vsd-myday-quick-edit-workform{grid-column:auto!important}
  .vsd-myday-quick-edit-actions,.vsd-myday-quick-add-actions{position:sticky!important;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:4;margin-left:-14px!important;margin-right:-14px!important;margin-bottom:calc(-16px - env(safe-area-inset-bottom))!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;background:#fff!important;box-shadow:0 -10px 25px rgba(16,50,77,.08)!important}
  .vsd-myday-quick-add-actions small{display:none!important}.vsd-myday-quick-edit-actions .button,.vsd-myday-quick-add-actions .button{flex:1 1 0!important;min-height:48px!important;font-size:12px!important}
  .vsd-myday-quick-change-item{grid-template-columns:30px minmax(0,1fr) auto!important}
  .vsd-myday-quick-ride-actions{gap:5px!important}
  .vsd-myday-quick-ride-actions .button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-radius:10px!important}
  .vsd-myday-quick-ride-actions .button .dashicons{margin:0!important;font-size:18px!important;width:18px!important;height:18px!important}
  .vsd-myday-quick-ride-actions .button span:not(.dashicons){display:none!important}
  .vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded{grid-template-columns:1fr!important}
  .vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label{min-height:72px!important;padding:12px!important}
  .vsd-service-edit-planning .vsd-service-kind-choice.vsd-service-kind-expanded>label>span>small{padding-right:48px!important}
}


/* ========================================================================
   v3.22.19 · Compact ritverloop + rijke volgende-ritmelding
   ======================================================================== */
.vsd-myday-route-dialog-head{position:sticky;top:0;z-index:8;flex:0 0 auto}
.vsd-myday-route-close{width:44px;height:44px;box-shadow:0 5px 18px rgba(20,65,96,.14)}
.vsd-myday-route-close .dashicons{width:22px;height:22px;font-size:22px;line-height:22px}
.vsd-myday-route-material{flex:0 0 auto;padding:9px 16px 10px;border-bottom:1px solid #e4edf3;background:#f5faff}
.vsd-myday-route-material>small{display:block;margin:0 0 7px;color:#718aa0;font-size:8px;font-weight:900;letter-spacing:.13em}
.vsd-myday-route-material-items{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.vsd-myday-route-material-items::-webkit-scrollbar{display:none}
.vsd-myday-route-material-item{flex:0 0 auto;min-width:146px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #cee2ef;border-radius:12px;background:#fff;color:#174d74}
.vsd-myday-route-material-item>img{width:74px;height:30px;object-fit:contain;display:block}
.vsd-myday-route-material-item>.dashicons{width:30px;height:30px;font-size:28px;line-height:30px;color:#3283b8}
.vsd-myday-route-material-item p{display:flex;flex-direction:column;margin:0;min-width:0;line-height:1.12}
.vsd-myday-route-material-item strong{font-size:10px}.vsd-myday-route-material-item b{margin-top:2px;font-size:9px}.vsd-myday-route-material-item em{margin-top:2px;color:#7890a2;font-size:8px;font-style:normal;font-weight:750}
.vsd-notification-material-thumb{display:block;width:min(170px,100%);height:42px;margin:8px 0 2px;padding:4px 8px;border:1px solid #d8e5ef;border-radius:10px;background:#f7fbfe}
.vsd-notification-material-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.vsd-notification-next-ride{display:flex;align-items:center;gap:12px;margin:0 18px 10px;padding:11px 12px;border:1px solid #d6e5ef;border-radius:13px;background:#f4f9fd}
.vsd-notification-next-ride>div{flex:0 0 112px;height:46px;display:grid;place-items:center}
.vsd-notification-next-ride img{max-width:112px;max-height:46px;object-fit:contain}.vsd-notification-next-ride .dashicons{font-size:32px;width:32px;height:32px;color:#287bb0}
.vsd-notification-next-ride p{display:flex;flex-direction:column;gap:2px;margin:0;color:#1b496b}.vsd-notification-next-ride small{font-size:8px;font-weight:900;letter-spacing:.12em;color:#7890a2}.vsd-notification-next-ride strong{font-size:14px}.vsd-notification-next-ride span{font-size:10px;color:#6d8598}

@media(max-width:600px){
  body>.vsd-myday-route-modal{place-items:end center!important;padding:10px 8px calc(82px + env(safe-area-inset-bottom,0px))!important;z-index:2147482500!important}
  body>.vsd-myday-route-modal .vsd-myday-route-dialog{width:100%!important;max-height:min(74dvh,680px)!important;border-radius:22px 22px 16px 16px!important;box-shadow:0 -12px 46px rgba(12,42,65,.28)!important}
  body>.vsd-myday-route-modal .vsd-myday-route-dialog:before{content:"";flex:0 0 auto;display:block;width:42px;height:4px;margin:7px auto 0;border-radius:999px;background:#cad7e1}
  body>.vsd-myday-route-modal .vsd-myday-route-dialog-head{padding:8px 12px 10px!important;background:#fbfdff!important}
  body>.vsd-myday-route-modal .vsd-myday-route-dialog-head h3{font-size:18px!important}
  body>.vsd-myday-route-modal .vsd-myday-route-dialog-head p{font-size:10px!important}
  body>.vsd-myday-route-modal .vsd-myday-route-close{width:44px!important;height:44px!important;background:#e8f3fb!important}
  body>.vsd-myday-route-modal .vsd-myday-route-list{padding-top:7px!important}
  .vsd-myday-route-material{padding:7px 10px 8px}.vsd-myday-route-material-item{min-width:132px;padding:6px 8px}.vsd-myday-route-material-item>img{width:64px;height:27px}
  .vsd-notification-next-ride{margin-left:12px;margin-right:12px}.vsd-notification-next-ride>div{flex-basis:90px}.vsd-notification-next-ride img{max-width:90px}
}


/* v3.22.20 · Volgende rit is een voorbereidingskaart, vertraging blijft puur ritverloop. */
.vsd-notification-ride-card{margin:0 18px 12px;border:1px solid #cfe1ee;border-radius:18px;overflow:hidden;background:#f7fbfe;color:#153f61;box-shadow:0 10px 28px rgba(25,73,106,.08)}
.vsd-notification-ride-kind{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#e9f4fb;border-bottom:1px solid #d6e7f2;font-size:11px;font-weight:900}.vsd-notification-ride-kind span{color:#1b527b}.vsd-notification-ride-kind b{padding:5px 8px;border-radius:999px;background:#fff;color:#55758c;font-size:9px;white-space:nowrap}
.vsd-notification-ride-route{padding:13px 14px 10px;display:flex;flex-direction:column;gap:4px}.vsd-notification-ride-route small,.vsd-notification-ride-facts small,.vsd-notification-ride-material small{font-size:8px;font-weight:900;letter-spacing:.13em;color:#7690a4}.vsd-notification-ride-route strong{font-size:17px;line-height:1.2;color:#173f61}
.vsd-notification-ride-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 12px}.vsd-notification-ride-facts>div{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border:1px solid #d8e7f1;border-radius:13px;background:#fff}.vsd-notification-ride-facts strong{font-size:18px;color:#16466d}.vsd-notification-ride-facts span{font-size:10px;color:#607b90;font-weight:700}
.vsd-notification-ride-material{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid #dce9f2;background:#fff}.vsd-notification-ride-material-image{flex:0 0 118px;height:48px;display:grid;place-items:center}.vsd-notification-ride-material-image img{max-width:118px;max-height:46px;object-fit:contain;display:block}.vsd-notification-ride-material-image .dashicons{font-size:34px;width:34px;height:34px;color:#2e7fb3}.vsd-notification-ride-material>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.vsd-notification-ride-material strong{font-size:14px;color:#17466a}.vsd-notification-ride-material span{font-size:10px;color:#70899c;font-weight:750}
@media(max-width:600px){.vsd-notification-ride-card{margin:0 12px 10px;border-radius:16px}.vsd-notification-ride-kind{padding:9px 11px}.vsd-notification-ride-route{padding:11px 11px 9px}.vsd-notification-ride-route strong{font-size:15px}.vsd-notification-ride-facts{padding:0 11px 10px;gap:7px}.vsd-notification-ride-facts>div{padding:8px 9px}.vsd-notification-ride-facts strong{font-size:16px}.vsd-notification-ride-material{padding:10px 11px}.vsd-notification-ride-material-image{flex-basis:92px;height:40px}.vsd-notification-ride-material-image img{max-width:92px;max-height:38px}}


/* v3.22.21 · meldingen als echte gecentreerde modal + routekaart voor vertrek van huis */
.vsd-notification-commute-card{margin:0 18px 12px;border:1px solid #cfe1ee;border-radius:18px;overflow:hidden;background:#f7fbfe;color:#153f61;box-shadow:0 10px 28px rgba(25,73,106,.08)}
.vsd-notification-commute-route{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #dbe9f2;background:#edf7fd}.vsd-notification-commute-route>.dashicons{flex:0 0 38px;width:38px;height:38px;line-height:38px;text-align:center;border-radius:12px;background:#fff;color:#1770aa;font-size:20px}.vsd-notification-commute-route>div{display:flex;flex-direction:column;gap:2px;min-width:0}.vsd-notification-commute-route small,.vsd-notification-commute-facts small,.vsd-notification-commute-special small{font-size:8px;font-weight:900;letter-spacing:.13em;color:#7690a4}.vsd-notification-commute-route strong{font-size:17px;line-height:1.2;color:#173f61}.vsd-notification-commute-route span{font-size:10px;color:#667f94;font-weight:750}
.vsd-notification-commute-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px}.vsd-notification-commute-facts>div{display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px;border:1px solid #d8e7f1;border-radius:13px;background:#fff}.vsd-notification-commute-facts strong{font-size:15px;line-height:1.2;color:#16466d;white-space:nowrap}
.vsd-notification-commute-special{display:flex;align-items:flex-start;gap:10px;margin:0 14px 12px;padding:11px 12px;border:1px solid #eadca8;border-radius:13px;background:#fff9e9}.vsd-notification-commute-special>.dashicons{flex:0 0 22px;width:22px;height:22px;font-size:19px;line-height:22px;color:#a97812}.vsd-notification-commute-special>div{min-width:0}.vsd-notification-commute-special strong{display:block;margin:2px 0 3px;color:#72530d;font-size:13px}.vsd-notification-commute-special p{margin:0;color:#746339;font-size:11px;line-height:1.45}.vsd-notification-commute-special em{display:block;margin-top:5px;color:#8b7742;font-size:9px;font-style:normal;font-weight:800}
.vsd-notification-commute-links{display:flex;gap:8px;padding:0 14px 13px}.vsd-notification-commute-links .button{flex:1;justify-content:center;text-align:center}
@media(max-width:720px){
  .vsd-notification-modal{display:grid!important;place-items:center!important;align-items:center!important;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))!important}
  .vsd-notification-modal-card{width:min(94vw,560px)!important;max-height:min(78dvh,650px)!important;border-radius:24px!important;overflow:auto!important;margin:auto!important}
  .vsd-notification-modal-top{position:sticky;top:0;z-index:3;background:#fff;padding:15px 14px 13px!important}
  .vsd-notification-modal-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid #e5edf3;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}
  .vsd-notification-modal-note{display:none}
  .vsd-notification-commute-card{margin:0 10px 10px;border-radius:16px}.vsd-notification-commute-route{padding:11px}.vsd-notification-commute-route strong{font-size:15px}.vsd-notification-commute-facts{grid-template-columns:1fr 1fr;padding:10px;gap:7px}.vsd-notification-commute-facts>div{padding:8px 9px}.vsd-notification-commute-facts strong{font-size:14px}.vsd-notification-commute-special{margin:0 10px 10px}.vsd-notification-commute-links{padding:0 10px 10px;display:grid;grid-template-columns:1fr 1fr}
}

/* v3.22.22 · autoroute zichtbaar ín de naar-werk-melding */
.vsd-notification-commute-map{position:relative;height:172px;margin:0 14px 10px;border:1px solid #d5e5ef;border-radius:15px;background:#edf5f9;overflow:hidden}
.vsd-notification-commute-route-svg{display:block;width:100%;height:100%}
.vsd-commute-svg-bg{fill:#edf5f9}
.vsd-commute-svg-grid{stroke:#d8e6ee;stroke-width:1;opacity:.8}
.vsd-commute-svg-route-outline{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
.vsd-commute-svg-route{fill:none;stroke:#1773b4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.vsd-commute-svg-route.is-estimated{stroke-dasharray:8 7}
.vsd-commute-svg-marker circle{stroke:#fff;stroke-width:3;fill:#1773b4}
.vsd-commute-svg-marker.is-start circle{fill:#31865d}.vsd-commute-svg-marker.is-end circle{fill:#d68728}
.vsd-commute-svg-marker text{fill:#173f61;font-size:10px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.vsd-notification-commute-map-fallback{height:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:#6c8597;text-align:center}.vsd-notification-commute-map-fallback .dashicons{color:#2f7eaf}.vsd-notification-commute-map-fallback small{font-size:10px;font-weight:800;line-height:1.4}
.vsd-notification-commute-map-note{position:absolute;left:8px;right:8px;bottom:7px;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.92);color:#6b8091;font-size:8px;font-weight:800;text-align:center;box-shadow:0 2px 9px rgba(20,57,84,.08)}
@media(max-width:720px){.vsd-notification-commute-map{height:150px;margin:0 10px 9px}}


/* v3.22.23 · echte wegenkaart in de Naar-werk melding */
.vsd-notification-commute-map.is-leaflet-map{background:#e9f1f5}
.vsd-notification-commute-map.is-leaflet-map.leaflet-container{font-family:inherit;z-index:1}
.vsd-notification-commute-map .leaflet-control-container .leaflet-top,
.vsd-notification-commute-map .leaflet-control-container .leaflet-bottom{z-index:25}
.vsd-notification-commute-map .leaflet-control-zoom{margin:8px!important;border:0!important;box-shadow:0 2px 10px rgba(20,58,86,.18)!important}
.vsd-notification-commute-map .leaflet-control-zoom a{width:28px!important;height:28px!important;line-height:28px!important;font-size:16px!important;color:#174d78!important}
.vsd-notification-commute-map .leaflet-control-attribution{padding:2px 5px!important;background:rgba(255,255,255,.82)!important;font-size:7px!important}
.vsd-notification-commute-map .leaflet-tooltip{border:0!important;border-radius:7px!important;padding:4px 7px!important;color:#173f61!important;font-size:8px!important;font-weight:900!important;box-shadow:0 2px 8px rgba(20,58,86,.16)!important}


/* v3.22.24 · Snelle rit bewerken: Opslaan altijd bereikbaar op mobiel */
.vsd-myday-quick-edit-modal{z-index:2147483600!important}
.vsd-myday-quick-edit-form{min-height:0!important}
.vsd-myday-quick-edit-scroll{min-height:0}
@media(max-width:720px){
  .vsd-myday-quick-edit-modal{
    align-items:flex-end!important;
    padding:0!important;
    z-index:2147483600!important
  }
  .vsd-myday-quick-edit-dialog{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:min(760px,calc(100dvh - 8px))!important;
    max-height:calc(100dvh - 8px)!important;
    overflow:hidden!important;
    padding:17px 14px 0!important;
    border-radius:22px 22px 0 0!important
  }
  .vsd-myday-quick-edit-dialog>.vsd-myday-quick-add-head{
    flex:0 0 auto!important;
    margin-bottom:0!important
  }
  .vsd-myday-quick-edit-form{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:hidden!important
  }
  .vsd-myday-quick-edit-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:14px 1px 18px!important
  }
  .vsd-myday-quick-edit-actions{
    position:relative!important;
    inset:auto!important;
    flex:0 0 auto!important;
    z-index:6!important;
    margin:0 -14px!important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))!important;
    border-top:1px solid #dce8ef!important;
    background:#fff!important;
    box-shadow:0 -10px 26px rgba(16,50,77,.12)!important
  }
  .vsd-myday-quick-edit-actions .button{
    flex:1 1 0!important;
    min-height:50px!important;
    font-size:13px!important
  }
}

/* v3.22.25 · MCN wegbekendheid, materieelbevoegdheden en testfunctie */
.vsd-mcn-page{display:grid;gap:16px;max-width:1380px;margin:0 auto}
.vsd-mcn-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#123c68,#1d6198);color:#fff;box-shadow:0 14px 34px rgba(18,60,104,.14)}
.vsd-mcn-hero h1{margin:4px 0 7px;font-size:28px}.vsd-mcn-hero p{margin:0;max-width:820px;color:#d9e9f7;line-height:1.55}.vsd-mcn-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:#fff;color:#164d80;font-size:11px;font-weight:900;white-space:nowrap}
.vsd-mcn-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vsd-mcn-summary>div{padding:15px 17px;border:1px solid #dbe6ef;border-radius:15px;background:#fff}.vsd-mcn-summary strong{display:block;color:#164b79;font-size:26px}.vsd-mcn-summary span{display:block;margin-top:3px;color:#718599;font-size:10px;font-weight:750}.vsd-mcn-summary .is-warning strong{color:#b06b04}.vsd-mcn-summary .is-danger strong{color:#b23737}
.vsd-mcn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.vsd-mcn-card-head h2{margin:3px 0 4px}.vsd-mcn-card-head p{margin:0;color:#75879a;font-size:11px;line-height:1.5}
.vsd-mcn-map{height:430px;margin:16px 0 9px;border:1px solid #cfe0ec;border-radius:17px;background:#e9f2f8;overflow:hidden;position:relative}.vsd-mcn-map .leaflet-container{height:100%;width:100%}.vsd-mcn-map-fallback{display:grid;place-items:center;height:100%;color:#607b90;font-weight:800}
.vsd-mcn-map-legend{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 14px;color:#6c7f91;font-size:10px;font-weight:800}.vsd-mcn-map-legend .is-valid{color:#198754}.vsd-mcn-map-legend .is-expiring{color:#b97808}.vsd-mcn-map-legend .is-expired{color:#b83d3d}
.vsd-mcn-route-list{display:grid;gap:8px}.vsd-mcn-route-row{display:grid;grid-template-columns:9px minmax(0,1fr) 42px;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e0e8ef;border-radius:13px;background:#fbfdff}.vsd-mcn-route-line{height:100%;min-height:44px}.vsd-mcn-route-line span{display:block;width:5px;height:100%;border-radius:99px;background:#2b9a67}.vsd-mcn-route-row.is-expiring .vsd-mcn-route-line span{background:#dc9419}.vsd-mcn-route-row.is-expired .vsd-mcn-route-line span,.vsd-mcn-route-row.is-not-qualified .vsd-mcn-route-line span{background:#d45454}.vsd-mcn-route-row small{display:block;margin-bottom:2px;color:#758da1;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.vsd-mcn-route-row strong{display:block;color:#173f66;font-size:13px}.vsd-mcn-route-row p{margin:3px 0 0;color:#718397;font-size:10px}.vsd-mcn-delete{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#fff1f1;color:#b43737;cursor:pointer}
.vsd-mcn-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.vsd-mcn-material-card{display:grid;grid-template-columns:92px minmax(0,1fr) 38px;gap:12px;align-items:center;padding:13px;border:1px solid #dce6ee;border-left:5px solid #2b9a67;border-radius:14px;background:#fff}.vsd-mcn-material-card.is-expiring{border-left-color:#dc9419}.vsd-mcn-material-card.is-expired,.vsd-mcn-material-card.is-not-qualified{border-left-color:#d45454}.vsd-mcn-material-card>img{max-width:90px;max-height:46px;object-fit:contain}.vsd-mcn-material-card>.dashicons{width:48px;height:48px;font-size:48px;color:#7aa6c8}.vsd-mcn-material-card small{display:block;color:#71879a;font-size:8px;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.vsd-mcn-material-card strong{display:block;margin:2px 0;color:#173f66;font-size:16px}.vsd-mcn-material-card p{margin:0;color:#708398;font-size:10px}.vsd-mcn-material-card em{display:block;margin-top:4px;color:#8192a1;font-size:9px;font-style:normal}
.vsd-mcn-modal[hidden]{display:none!important}.vsd-mcn-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}.vsd-mcn-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(12,34,56,.52);backdrop-filter:blur(3px)}.vsd-mcn-modal-card{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:20px;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,30,52,.3)}.vsd-mcn-modal-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #e1e9f0}.vsd-mcn-modal-card h2{margin:3px 0 0}.vsd-mcn-modal-card>header>button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#eef5fb;color:#194d78;cursor:pointer}.vsd-mcn-form{display:grid;gap:12px;margin-top:14px}.vsd-mcn-form label{display:grid;gap:5px}.vsd-mcn-form label>span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#607b92}.vsd-mcn-form input,.vsd-mcn-form select,.vsd-mcn-form textarea{width:100%;min-height:44px;padding:8px 10px;border:1px solid #ccdbe7;border-radius:10px;background:#fff}.vsd-mcn-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vsd-test-role-card{margin:0 auto 16px;max-width:1120px}.vsd-test-role-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.vsd-profile-hero-side em{display:block;margin-top:3px;color:#c7daeb;font-size:8px;font-style:normal}.vsd-profile-card dd small{display:block;color:#8293a3;font-size:8px;font-weight:700}
.vsd-mcn-locked{text-align:center;padding:40px}.vsd-mcn-locked>.dashicons{width:48px;height:48px;font-size:48px;color:#7b98af}
@media(max-width:900px){.vsd-mcn-summary{grid-template-columns:1fr 1fr}.vsd-mcn-material-grid{grid-template-columns:1fr 1fr}.vsd-mcn-map{height:360px}}
@media(max-width:600px){.vsd-mcn-page{gap:11px}.vsd-mcn-hero{padding:17px;border-radius:16px;align-items:flex-start}.vsd-mcn-hero h1{font-size:23px}.vsd-mcn-hero p{font-size:10px}.vsd-mcn-summary{gap:7px}.vsd-mcn-summary>div{padding:11px}.vsd-mcn-summary strong{font-size:21px}.vsd-mcn-card-head{align-items:stretch;flex-direction:column}.vsd-mcn-card-head .button{width:100%}.vsd-mcn-map{height:310px;margin-top:12px}.vsd-mcn-route-row{grid-template-columns:7px minmax(0,1fr) 42px;padding:10px}.vsd-mcn-material-grid{grid-template-columns:1fr}.vsd-mcn-material-card{grid-template-columns:78px minmax(0,1fr) 38px}.vsd-mcn-material-card>img{max-width:76px}.vsd-mcn-modal{align-items:end;padding:0}.vsd-mcn-modal-card{width:100%;max-height:88dvh;border-radius:22px 22px 0 0;padding:17px 17px calc(17px + env(safe-area-inset-bottom))}.vsd-mcn-form-grid{grid-template-columns:1fr}.vsd-test-role-switch{display:grid;grid-template-columns:1fr 1fr}.vsd-test-role-switch .button{width:100%}}

/* v3.22.26 · iPad dock + rustige loginfocus */
.vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
  position:absolute!important;
  bottom:auto!important;
  transform:none!important;
}
@media (hover:none) and (pointer:coarse) and (max-width:1180px){
  .vsd-login-shell-v328{
    min-height:100svh!important;
    background-attachment:scroll!important;
  }
  .vsd-login-shell-v328 .vsd-own-login-form input[type=text],
  .vsd-login-shell-v328 .vsd-own-login-form input[type=password]{
    font-size:16px!important;
    -webkit-text-size-adjust:100%;
  }
}


/* v3.22.27 · MCN wegbekendheid als echte spoornetkaart */
.vsd-mcn-map{background:#edf3f6}
.vsd-mcn-map .leaflet-tile-pane{filter:saturate(.35) brightness(1.06)}
.vsd-mcn-map-source{margin:5px 1px 15px;font-size:10px;color:#6b8192;font-weight:700}
.vsd-mcn-map-source.is-error{color:#a34040}
.vsd-mcn-map-legend{font-size:11px;gap:18px}
.vsd-mcn-map-legend .is-valid{color:#12884f}
.vsd-mcn-map-legend .is-expired{color:#c73f46}
@media(max-width:600px){.vsd-mcn-map-source{font-size:9px;margin-bottom:10px}.vsd-mcn-map-legend{font-size:10px;gap:10px}}

/* v3.22.31 · MCN wegbekendheid via beheerde trajectcodes */
.vsd-mcn-route-code{display:inline-flex;vertical-align:middle;margin-right:6px;padding:2px 7px;border-radius:999px;background:#e8f3fc;color:#0e5d96;font-size:10px;font-weight:950;letter-spacing:.06em}
.vsd-mcn-route-row.is-unlinked{border-color:#e5b4b4;background:#fff8f8}
.vsd-mcn-route-row.is-unlinked .vsd-mcn-route-code{background:#f7e4e4;color:#a12e35}
.vsd-mcn-form label small{font-size:10px;line-height:1.4;color:#72879a}

/* v3.22.36 · HSL zichtbaar bij MCN-wegbekendheid */
.vsd-mcn-hsl-badge{display:inline-flex;align-items:center;justify-content:center;margin-right:5px;min-height:20px;padding:2px 6px;border-radius:999px;background:#fff0a8;color:#7d5c00;border:1px solid #e5c34c;font-size:8px;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;vertical-align:middle}

/* v3.22.37 · MCN invoermodals: Opslaan altijd bereikbaar */
.vsd-mcn-modal{z-index:2147483600!important}
.vsd-mcn-modal-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important}
.vsd-mcn-modal-card>header{flex:0 0 auto!important}
.vsd-mcn-form{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;flex-direction:column!important;gap:0!important;margin-top:0!important}
.vsd-mcn-form-scroll{display:grid;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 2px 16px}
.vsd-mcn-form-actions{display:flex;gap:10px;flex:0 0 auto;padding:12px 0 0;border-top:1px solid #e1e9f0;background:#fff;box-shadow:0 -8px 22px rgba(16,50,77,.07)}
.vsd-mcn-form-actions .button{flex:1 1 0;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:600px){
  .vsd-mcn-modal{place-items:end center!important;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px))!important}
  .vsd-mcn-modal-card{width:100%!important;max-height:calc(100dvh - 28px)!important;border-radius:22px!important;padding:16px 16px 0!important}
  .vsd-mcn-modal-card>header{padding-bottom:12px!important}
  .vsd-mcn-form-scroll{padding:13px 0 18px!important}
  .vsd-mcn-form-actions{margin:0 -16px!important;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 -10px 26px rgba(16,50,77,.12)!important}
  .vsd-mcn-form-actions .button{min-height:50px!important;font-size:13px!important}
}

/* ========================================================================
   v3.22.38 · Profiel/Instellingen herindeling + Dienstoverzicht
   ======================================================================== */
.vsd-account-tabs{max-width:1120px;margin:0 auto 14px;padding:5px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid #d7e3ed;border-radius:16px;background:#edf4fa;box-shadow:0 5px 18px rgba(20,55,86,.05)}
.vsd-account-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;color:#577087!important;text-decoration:none!important;font-size:11px;font-weight:850;transition:.15s ease}
.vsd-account-tabs a .dashicons{width:18px;height:18px;font-size:18px;color:#6d879e}
.vsd-account-tabs a.is-active{background:#fff;color:#123f6b!important;box-shadow:0 4px 12px rgba(20,55,86,.10)}
.vsd-account-tabs a.is-active .dashicons{color:#1266a7}

.vsd-profile-page.is-v32238 .vsd-profile-hero.vsd-profile-hero-cta{padding:0;gap:0;background:#fff;border:1px solid #d8e4ed;box-shadow:0 9px 28px rgba(15,54,88,.08);overflow:hidden;grid-template-columns:minmax(0,1.55fr) minmax(245px,.65fr)}
.vsd-profile-page.is-v32238 .vsd-profile-hero.vsd-profile-hero-cta:before{display:none}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-main{border:0;border-radius:0;background:linear-gradient(135deg,#f8fbff,#eef6fc);box-shadow:none;padding:20px 22px}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar{flex-basis:76px;width:76px;min-width:76px;height:76px;border-radius:17px;padding:6px}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar .vsd-own-profile-photo,.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar .avatar{width:64px!important;height:64px!important;border-radius:14px!important}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-copy h1{font-size:27px;margin:6px 0 4px}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-copy p{max-width:610px;font-size:10.5px}
.vsd-profile-page.is-v32238 .vsd-profile-public-link{min-height:38px;padding:7px 12px!important;margin-top:9px;font-size:9px!important}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side{padding:14px;background:#124f87;gap:8px}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side>div{min-height:0;padding:12px 14px;border-radius:13px;box-shadow:none;background:rgba(255,255,255,.96)}
.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side strong{font-size:15px}

.vsd-settings-page,.vsd-report-page{max-width:1120px;margin:0 auto}
.vsd-settings-hero,.vsd-report-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:21px 23px;border:1px solid #d8e4ed;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef6fc);box-shadow:0 8px 24px rgba(20,55,86,.06)}
.vsd-settings-hero h1,.vsd-report-hero h1{margin:3px 0 6px;color:#173f69;font-size:25px}
.vsd-settings-hero p,.vsd-report-hero p{margin:0;color:#607b90;font-size:11px;line-height:1.5;max-width:720px}
.vsd-settings-hero>.dashicons,.vsd-report-hero>.dashicons{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#164f83;color:#fff;font-size:28px;flex:0 0 58px}
.vsd-settings-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.vsd-settings-shortcuts>a{display:flex;align-items:center;gap:13px;min-height:76px;padding:14px 16px;border-radius:15px;border:1px solid #dbe5ee;background:#fff;color:#173f69!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(20,55,86,.04)}
.vsd-settings-shortcuts>a>.dashicons{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf4fb;color:#1165a6;font-size:22px}
.vsd-settings-shortcuts strong,.vsd-settings-shortcuts small{display:block}.vsd-settings-shortcuts strong{font-size:12px}.vsd-settings-shortcuts small{margin-top:3px;color:#748a9c;font-size:9px}
.vsd-settings-page>.vsd-profile-card,.vsd-settings-page>.vsd-calendar-connect,.vsd-settings-page>.vsd-test-role-card{margin:0 0 14px;max-width:none}

.vsd-report-controls,.vsd-report-series,.vsd-report-days{margin-bottom:14px;padding:17px;border:1px solid #dbe5ee;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(20,55,86,.04)}
.vsd-report-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end}
.vsd-report-filter label{display:flex;flex-direction:column;gap:5px}.vsd-report-filter label>span{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#6e879b;font-weight:900}.vsd-report-filter input,.vsd-report-filter select{width:100%;min-height:42px;border:1px solid #ccdae6;border-radius:10px;padding:6px 9px;background:#fff;font-size:13px}.vsd-report-filter .button{min-height:42px;border-radius:10px!important}
.vsd-report-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding-top:14px;border-top:1px solid #e2eaf1}.vsd-report-actions small,.vsd-report-actions strong,.vsd-report-actions span{display:block}.vsd-report-actions small{font-size:8px;letter-spacing:.12em;color:#7b91a4;font-weight:900}.vsd-report-actions strong{margin:3px 0;color:#173f69;font-size:15px}.vsd-report-actions span{font-size:9px;color:#748a9c}.vsd-report-actions .button{display:inline-flex;align-items:center;gap:7px;min-height:42px;border-radius:10px!important}
.vsd-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.vsd-report-summary>div{padding:16px;border:1px solid #dbe5ee;border-radius:15px;background:#f7fbfe}.vsd-report-summary strong,.vsd-report-summary span{display:block}.vsd-report-summary strong{color:#124f87;font-size:26px}.vsd-report-summary span{margin-top:3px;color:#71889a;font-size:9px;font-weight:800}
.vsd-report-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:13px}.vsd-report-section-head h2{margin:3px 0 0;color:#173f69;font-size:17px}.vsd-report-section-head>small{color:#7a8fa0;font-size:9px;text-align:right}
.vsd-report-series-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.vsd-report-series-grid>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:10px;background:#eef5fa;color:#17466f}.vsd-report-series-grid strong{font-size:12px}.vsd-report-series-grid b{font-size:10px;color:#5e7b92}
.vsd-report-day{margin-top:12px;border:1px solid #d8e4ed;border-radius:15px;overflow:hidden;background:#fbfdff}.vsd-report-day>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f0f6fb;border-bottom:1px solid #dbe5ed}.vsd-report-day>header small{display:block;color:#7e92a3;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.vsd-report-day>header h3{margin:2px 0 0;color:#173f69;font-size:14px}
.vsd-report-compare{display:grid;grid-template-columns:1fr 1fr;gap:0}.vsd-report-column{min-width:0;padding:13px}.vsd-report-column+.vsd-report-column{border-left:1px solid #dbe5ed}.vsd-report-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:8px;border-bottom:2px solid #dbe8f1}.vsd-report-column-head strong{font-size:11px;color:#164f83}.vsd-report-column.is-actual .vsd-report-column-head strong{color:#24734c}.vsd-report-column-head span{font-size:10px;color:#6d8497;font-weight:850}.vsd-report-mini-timeline{display:grid;gap:6px}.vsd-report-mini-ride{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;background:#fff;border:1px solid #e0e8ef}.vsd-report-mini-ride>span{font-size:8px;color:#4c708c;font-weight:900}.vsd-report-mini-ride>strong{min-width:0;font-size:9px;color:#173f69;overflow-wrap:anywhere}.vsd-report-mini-ride>small{font-size:8px;color:#73899a;text-align:right}.vsd-report-mini-ride.is-break{background:#fff9ea;border-color:#efe0b7}.vsd-report-mini-ride.is-break>span{color:#8f6715}.vsd-report-transfer{display:flex;align-items:center;gap:5px;margin-left:16px;color:#a97418;font-size:8px;font-weight:850}.vsd-report-transfer .dashicons{width:13px;height:13px;font-size:13px}.vsd-report-not-run,.vsd-report-empty{padding:15px;border-radius:10px;background:#f4f7f9;color:#708495;font-size:10px}

@media(max-width:820px){
  .vsd-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-report-filter .button{grid-column:1/-1}
  .vsd-report-series-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .vsd-account-tabs{margin:0 8px 10px;gap:4px;border-radius:13px}.vsd-account-tabs a{min-height:40px;font-size:9px;gap:5px}.vsd-account-tabs a .dashicons{font-size:16px;width:16px;height:16px}
  .vsd-profile-page.is-v32238 .vsd-profile-hero.vsd-profile-hero-cta{margin:0 8px 12px;grid-template-columns:1fr;border-radius:17px}
  .vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-main{flex-direction:row!important;align-items:center!important;padding:14px!important;gap:12px!important}
  .vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar{flex:0 0 64px!important;width:64px!important;min-width:64px!important;height:64px!important}.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar .vsd-own-profile-photo,.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-avatar .avatar{width:54px!important;height:54px!important}
  .vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-copy h1{font-size:21px}.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-copy p{font-size:9px}.vsd-profile-page.is-v32238 .vsd-profile-public-link{width:auto!important;font-size:8px!important;padding:5px 9px!important;min-height:34px}
  .vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side{display:grid!important;grid-template-columns:1fr 1fr!important;padding:9px}.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side>div{padding:10px}.vsd-profile-page.is-v32238 .vsd-profile-hero-cta .vsd-profile-hero-side strong{font-size:13px}
  .vsd-settings-page,.vsd-report-page{padding:0 8px}.vsd-settings-hero,.vsd-report-hero{padding:15px;border-radius:15px}.vsd-settings-hero>.dashicons,.vsd-report-hero>.dashicons{display:none}.vsd-settings-hero h1,.vsd-report-hero h1{font-size:21px}.vsd-settings-shortcuts{grid-template-columns:1fr}
  .vsd-report-filter{grid-template-columns:1fr}.vsd-report-filter .button{grid-column:auto;width:100%}.vsd-report-actions{align-items:stretch;flex-direction:column}.vsd-report-actions .button{justify-content:center;width:100%}.vsd-report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vsd-report-summary>div{padding:11px 8px}.vsd-report-summary strong{font-size:20px}.vsd-report-summary span{font-size:7px}.vsd-report-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-report-section-head{align-items:flex-start;flex-direction:column}.vsd-report-section-head>small{text-align:left}.vsd-report-compare{grid-template-columns:1fr}.vsd-report-column+.vsd-report-column{border-left:0;border-top:1px solid #dbe5ed}.vsd-report-mini-ride{grid-template-columns:62px minmax(0,1fr)}.vsd-report-mini-ride>small{grid-column:2;text-align:left}
}

/* ========================================================================
   v3.22.39 · Accountcentrum, printvoorbeeld en pakket-handleidingen
   ======================================================================== */
.vsd-account-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;color:#315f85!important;text-decoration:none!important;font-size:11px;font-weight:850}.vsd-account-back .dashicons{width:17px;height:17px;font-size:17px}
.vsd-profile-page.is-v32239,.vsd-settings-page.is-v32239,.vsd-guides-page,.vsd-report-page.is-v32239{max-width:1120px;margin:0 auto;display:grid;gap:14px}
.vsd-account-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid #d7e4ed;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f4f9fd 100%);box-shadow:0 9px 28px rgba(20,56,88,.07)}
.vsd-account-identity{display:flex;align-items:center;gap:16px;min-width:0}.vsd-account-avatar{width:68px;height:68px;flex:0 0 68px;border:4px solid #e3eef6;border-radius:18px;overflow:hidden;background:#edf4f8}.vsd-account-avatar img,.vsd-account-avatar .avatar{width:100%!important;height:100%!important;object-fit:cover;border-radius:14px!important}.vsd-account-identity h1{margin:3px 0 5px;color:#143f68;font-size:28px;line-height:1.05}.vsd-account-identity p{margin:0;color:#6b8295;font-weight:700}.vsd-account-package{display:grid;gap:2px;min-width:190px;padding:13px 15px;border-radius:14px;background:#164c7d;color:#fff}.vsd-account-package small{font-size:8px;font-weight:900;letter-spacing:.12em;color:#b9d5eb}.vsd-account-package strong{font-size:17px}.vsd-account-package a{display:flex;align-items:center;gap:4px;margin-top:5px;color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:800}.vsd-account-package a .dashicons{width:14px;height:14px;font-size:14px}
.vsd-account-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vsd-account-hub>a{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;min-height:92px;padding:13px;border:1px solid #d7e4ed;border-radius:16px;background:#fff;color:#173e62!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(22,57,88,.045);transition:.15s ease}.vsd-account-hub>a:hover{transform:translateY(-1px);border-color:#9cc6e3;box-shadow:0 8px 20px rgba(22,57,88,.08)}.vsd-account-hub>a>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf6fd;color:#1671b2;font-size:21px}.vsd-account-hub>a div{display:grid;gap:2px;min-width:0}.vsd-account-hub>a small{font-size:7px;font-weight:950;letter-spacing:.11em;color:#8295a6}.vsd-account-hub>a strong{font-size:13px}.vsd-account-hub>a em{font-size:9px;line-height:1.3;color:#71869a;font-style:normal}.vsd-account-hub>a>i{color:#97aabb}.vsd-account-hub>a.is-current{border-color:#a8cee8;background:#f4faff}
.vsd-profile-page.is-v32239 .vsd-profile-grid{scroll-margin-top:80px}.vsd-profile-page.is-v32239 .vsd-profile-card{border-radius:17px}.vsd-profile-page.is-v32239 .vsd-profile-overview-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vsd-profile-page.is-v32239 .vsd-profile-overview-card dl>div{padding:12px;border-radius:12px;background:#f4f8fb}.vsd-profile-page.is-v32239 .vsd-profile-overview-card dt{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7d91a2}.vsd-profile-page.is-v32239 .vsd-profile-overview-card dd{margin:4px 0 0;color:#143f68;font-size:14px;font-weight:850}
.vsd-settings-page.is-v32239{scroll-behavior:smooth}.vsd-account-section-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px!important;border-radius:20px!important;background:linear-gradient(135deg,#123f6b,#207bb3)!important;color:#fff!important}.vsd-account-section-hero h1{margin:4px 0 5px!important;color:#fff!important}.vsd-account-section-hero p{margin:0!important;color:#dbeaf5!important}.vsd-settings-package{display:grid;gap:2px;min-width:150px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.14)}.vsd-settings-package small{font-size:8px;letter-spacing:.1em;font-weight:900;color:#c8e1f1}.vsd-settings-package strong{font-size:15px;color:#fff}.vsd-settings-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vsd-settings-index>a{display:flex;align-items:center;gap:11px;min-height:66px;padding:11px 13px;border:1px solid #d7e4ed;border-radius:14px;background:#fff;color:#173e62!important;text-decoration:none!important}.vsd-settings-index>a>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#edf6fd;color:#1671b2}.vsd-settings-index>a div{display:grid;gap:2px}.vsd-settings-index strong{font-size:11px}.vsd-settings-index small{font-size:8px;color:#7a8ea0}.vsd-settings-group{scroll-margin-top:78px;padding:15px;border:1px solid #d8e4ed;border-radius:18px;background:#f8fbfd}.vsd-settings-group-head{display:flex;gap:11px;align-items:flex-start;margin:0 0 12px}.vsd-settings-group-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f4fd;color:#136dab}.vsd-settings-group-head small{display:block;font-size:7px;font-weight:950;letter-spacing:.12em;color:#7d92a5}.vsd-settings-group-head h2{margin:2px 0 2px;font-size:17px;color:#163f65}.vsd-settings-group-head p{margin:0;color:#72879a;font-size:10px}.vsd-settings-group>.vsd-profile-card,.vsd-settings-group>.vsd-test-role-card{margin:0!important;max-width:none!important;box-shadow:none!important}

.vsd-report-action-buttons{display:flex;gap:8px;flex-wrap:wrap}.vsd-report-diff{display:grid;gap:7px;padding:10px 12px;border-top:1px solid #e5dfc8;border-bottom:1px solid #e5dfc8;background:#fffaf0}.vsd-report-diff>strong{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#806019}.vsd-report-diff>div{display:flex;gap:6px;flex-wrap:wrap}.vsd-report-diff span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;color:#73591e;border:1px solid #eadba7;font-size:8px;font-weight:800}.vsd-report-page.is-v32239 .vsd-report-day{overflow:hidden}.vsd-report-page.is-v32239 .vsd-report-column-head strong{font-size:10px}
.vsd-print-preview-modal[hidden]{display:none!important}.vsd-print-preview-modal{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:18px}.vsd-print-preview-backdrop{position:absolute;inset:0;border:0;background:rgba(12,31,49,.66);backdrop-filter:blur(5px)}.vsd-print-preview-dialog{position:relative;z-index:1;width:min(1180px,96vw);height:min(820px,92dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(3,21,36,.35)}.vsd-print-preview-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-bottom:1px solid #dce6ed}.vsd-print-preview-dialog>header div{display:grid;gap:2px}.vsd-print-preview-dialog>header small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#7890a2}.vsd-print-preview-dialog>header strong{color:#163f65}.vsd-print-preview-dialog>header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eef5fa;color:#1a557f}.vsd-print-preview-frame{min-height:0;padding:12px;background:#dce3e8}.vsd-print-preview-frame iframe{width:100%;height:100%;border:0;border-radius:8px;background:#fff}.vsd-print-preview-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-top:1px solid #dce6ed}.vsd-print-preview-dialog>footer span{font-size:9px;color:#73889a}

.vsd-guides-page{padding-bottom:20px}.vsd-guides-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#123f6b,#1c78ad);color:#fff}.vsd-guides-hero h1{margin:4px 0 5px;color:#fff}.vsd-guides-hero p{max-width:680px;margin:0;color:#d8e8f4}.vsd-guides-package-pill{display:grid;gap:2px;min-width:180px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.14)}.vsd-guides-package-pill small{font-size:7px;font-weight:900;letter-spacing:.12em;color:#c8e0f0}.vsd-guides-package-pill strong{font-size:17px}.vsd-guides-package-pill span{font-size:9px;color:#d5e7f4}.vsd-guides-included,.vsd-guides-list{padding:16px;border:1px solid #d7e4ed;border-radius:18px;background:#fff}.vsd-guides-feature-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vsd-guides-feature-group{padding:12px;border-radius:13px;background:#f5f9fc}.vsd-guides-feature-group>strong{display:block;margin-bottom:8px;color:#173f64;font-size:11px}.vsd-guides-feature-group>div{display:grid;gap:5px}.vsd-guides-feature-group span{display:flex;gap:6px;align-items:center;color:#60788d;font-size:9px}.vsd-guides-feature-group i{width:14px;height:14px;font-size:14px;color:#21905d}.vsd-guides-list{display:grid;gap:10px}.vsd-guide-card{border:1px solid #d7e4ed;border-radius:15px;background:#fff;overflow:hidden}.vsd-guide-card summary{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;gap:11px;align-items:center;padding:11px;cursor:pointer;list-style:none}.vsd-guide-card summary::-webkit-details-marker{display:none}.vsd-guide-cover{width:64px;height:50px;display:grid;place-items:center;border-radius:10px;overflow:hidden;background:#edf5fa}.vsd-guide-cover img{width:100%;height:100%;object-fit:cover}.vsd-guide-cover.is-icon i{width:28px;height:28px;font-size:28px;color:#2a719f}.vsd-guide-summary-copy{display:grid;gap:2px}.vsd-guide-summary-copy small{font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#7e92a3}.vsd-guide-summary-copy strong{font-size:13px;color:#163f65}.vsd-guide-summary-copy em{font-size:9px;line-height:1.35;color:#72879a;font-style:normal}.vsd-guide-content{padding:16px 18px;border-top:1px solid #e0e8ef;color:#294b67;line-height:1.6}.vsd-guide-content img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 5px 18px rgba(20,55,86,.08)}.vsd-guide-content h2,.vsd-guide-content h3{color:#153f66}.vsd-guides-empty{text-align:center;padding:30px;color:#71879a}.vsd-guides-empty>span{width:42px;height:42px;font-size:42px;color:#89a5b9}.vsd-guides-empty strong{display:block;margin:8px 0 3px;color:#173f64}

@media(max-width:900px){.vsd-account-hub{grid-template-columns:1fr 1fr}.vsd-settings-index{grid-template-columns:1fr 1fr}.vsd-guides-feature-groups{grid-template-columns:1fr 1fr}.vsd-account-hero,.vsd-guides-hero{align-items:flex-start}.vsd-account-package,.vsd-guides-package-pill{min-width:150px}}
@media(max-width:600px){.vsd-account-hero,.vsd-guides-hero,.vsd-account-section-hero{display:grid;gap:13px;padding:15px}.vsd-account-identity{align-items:flex-start}.vsd-account-identity h1{font-size:23px}.vsd-account-package,.vsd-guides-package-pill,.vsd-settings-package{width:100%;min-width:0}.vsd-account-hub,.vsd-settings-index,.vsd-guides-feature-groups{grid-template-columns:1fr}.vsd-account-hub>a{min-height:78px}.vsd-profile-page.is-v32239 .vsd-profile-overview-card dl{grid-template-columns:1fr}.vsd-settings-group{padding:11px}.vsd-report-action-buttons{display:grid;width:100%;grid-template-columns:1fr}.vsd-report-action-buttons .button{width:100%;justify-content:center}.vsd-print-preview-modal{padding:8px}.vsd-print-preview-dialog{width:100%;height:calc(100dvh - 16px);border-radius:16px}.vsd-print-preview-dialog>footer{display:grid}.vsd-print-preview-dialog>footer .button{width:100%;justify-content:center}.vsd-guide-card summary{grid-template-columns:54px minmax(0,1fr) 20px}.vsd-guide-cover{width:54px;height:46px}}


/* v3.22.65 · Snelle werkelijke rit: Opslaan altijd zichtbaar en bereikbaar op mobiel */
.vsd-myday-quick-add{z-index:2147483600!important}
.vsd-myday-quick-add-actions button[type="submit"]:disabled{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:.48!important;
  cursor:not-allowed!important
}
@media(max-width:720px){
  .vsd-myday-quick-add{z-index:2147483600!important}
  .vsd-myday-quick-add-dialog{max-width:none!important}
  .vsd-myday-quick-add-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:9px!important;
    width:auto!important;
    overflow:visible!important
  }
  .vsd-myday-quick-add-actions .button{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important
  }
  .vsd-myday-quick-add-actions small{grid-column:1/-1!important}
}


/* ========================================================================
   v3.22.66 · mobiele login blijft bij het actieve invoerveld
   ======================================================================== */
@media (hover:none) and (pointer:coarse) and (max-width:1180px){
  html:has(.vsd-login-shell-v328 .vsd-login-card.is-login),
  body.vsd-frontend-body:has(.vsd-login-shell-v328 .vsd-login-card.is-login){
    scroll-behavior:auto!important;
    overflow-anchor:none!important;
  }
  .vsd-login-shell-v328:has(.vsd-login-card.is-login){
    min-height:100svh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    background-attachment:scroll!important;
    overflow-anchor:none!important;
  }
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view{
    align-items:start!important;
  }
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-card.is-login{
    order:-1!important;
    margin-top:0!important;
    overflow-anchor:none!important;
  }
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-showcase{
    order:2!important;
  }
  .vsd-login-shell-v328 .vsd-login-card.is-login .vsd-own-login-form input[type=text],
  .vsd-login-shell-v328 .vsd-login-card.is-login .vsd-own-login-form input[type=password]{
    font-size:16px!important;
    scroll-margin-top:22px!important;
    scroll-margin-bottom:32px!important;
  }
  body.vsd-frontend-body.vsd-login-input-active{
    overscroll-behavior-y:contain!important;
  }
}
/* v3.21.95 · leeg materieel met eigen fysiek eindpunt + compactere status */
.vsd-empty-stock-notice,.vsd-live-empty-stock-note{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;
  margin:8px 0;padding:9px 11px;border:1px solid #eab85b;border-radius:12px;
  background:linear-gradient(135deg,#fffaf0,#fff4d8);color:#6d4800;box-shadow:0 1px 0 rgba(145,91,0,.04)
}
.vsd-empty-stock-notice>.dashicons,.vsd-live-empty-stock-note>.dashicons{
  display:grid;place-items:center;width:32px;height:32px;border-radius:10px;
  background:#fff;border:1px solid #f0cf8c;color:#a66a00;font-size:17px
}
.vsd-empty-stock-copy,.vsd-live-empty-stock-note>div{min-width:0}
.vsd-empty-stock-copy>small,.vsd-live-empty-stock-note>div>small{
  display:block;margin:0 0 1px;color:#9a6a12;font-size:7px;font-weight:900;letter-spacing:.11em
}
.vsd-empty-stock-notice strong,.vsd-live-empty-stock-note strong{
  display:block;min-width:0;color:#684300;font-size:12px;line-height:1.2;font-weight:900;overflow-wrap:anywhere
}
.vsd-empty-stock-notice .vsd-empty-stock-copy>span,.vsd-live-empty-stock-note>div>span{
  display:block;margin-top:2px;color:#896529;font-size:9px;line-height:1.3
}
.vsd-myday-cancellation-continuation-field small,.vsd-myday-empty-stock-destination small{color:#8294a0;font-size:7px;line-height:1.35}
.vsd-myday-empty-stock-destination{
  grid-column:1/-1;padding:8px;border:1px solid #eed49a;border-radius:10px;background:#fffaf0
}
.vsd-myday-empty-stock-destination>span{color:#8a6109!important}
.vsd-myday-empty-stock-destination select{border-color:#e7c675!important;background:#fff!important}
.vsd-myday-route-delay-row.is-empty-stock-segment{background:#fff9ed;border-color:#efd49a}
.vsd-myday-route-delay-row.is-empty-stock-segment .vsd-myday-route-station small{color:#9a6200}
.vsd-myday-route-delay-row.is-empty-stock-end{box-shadow:inset 3px 0 #c77b00}
.vsd-modal-route-stop.is-empty-stock-segment .vsd-modal-route-marker,.vsd-live-train-stop.is-empty-stock .vsd-live-train-stop-line span{border-color:#d58a00;background:#fff2c8}
.vsd-modal-route-stop.is-empty-stock-end .vsd-modal-route-marker{border-color:#a76400;background:#e6a62d;box-shadow:0 0 0 4px #fff0c8}
.vsd-modal-route-stop.is-empty-stock-segment .vsd-modal-route-copy small,.vsd-live-train-stop.is-empty-stock .vsd-live-train-stop-copy small,.vsd-live-train-stop.is-empty-stock-start .vsd-live-train-stop-copy small{color:#9a6200}
.vsd-partial-endpoint-banner.is-empty-stock,.vsd-full-cancelled-banner.is-empty-stock{border-color:#edbd58;background:#fff8e7}

@media(max-width:600px){
  .vsd-myday-flow-card .vsd-empty-stock-notice{
    grid-template-columns:25px minmax(0,1fr)!important;gap:6px!important;
    margin:4px 0 2px!important;padding:5px 6px!important;border-radius:8px!important
  }
  .vsd-myday-flow-card .vsd-empty-stock-notice>.dashicons{
    width:24px!important;height:24px!important;border-radius:7px!important;font-size:13px!important
  }
  .vsd-myday-flow-card .vsd-empty-stock-copy>small{font-size:5px!important;line-height:1!important}
  .vsd-myday-flow-card .vsd-empty-stock-copy>strong{font-size:7.5px!important;line-height:1.15!important;white-space:normal!important}
  .vsd-myday-flow-card .vsd-empty-stock-copy>span{font-size:6px!important;line-height:1.2!important;margin-top:1px!important}
  .vsd-myday-empty-stock-destination{grid-column:1;padding:6px}
  .vsd-live-empty-stock-note{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:7px 8px;border-radius:10px}
  .vsd-live-empty-stock-note>.dashicons{width:28px;height:28px;font-size:15px}
  .vsd-live-empty-stock-note strong{font-size:10px}.vsd-live-empty-stock-note>div>span{font-size:8px}
}


/* v3.21.97 · automatische meldingen weer als duidelijke route + kerngegevens */
.vsd-notification-detail{display:grid;gap:12px}
.vsd-notification-detail-route{padding:14px 15px;border:1px solid #d7e6f2;border-radius:15px;background:linear-gradient(135deg,#f7fbff 0%,#eef7ff 100%)}
.vsd-notification-detail-route small,.vsd-notification-detail-item small{display:block;margin-bottom:3px;color:#7890a4;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.vsd-notification-detail-route strong{display:block;color:#173d63;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.vsd-notification-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vsd-notification-detail-item{min-width:0;padding:12px 13px;border:1px solid #dfe8f0;border-radius:14px;background:#fbfdff}
.vsd-notification-detail-item strong{display:block;color:#173d63;font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.vsd-notification-detail-item.is-delay{border-color:#f0c88f;background:#fff7e9}.vsd-notification-detail-item.is-delay strong{color:#9a520f}
.vsd-notification-detail-item.is-ok{border-color:#bee3cf;background:#eef9f3}.vsd-notification-detail-item.is-ok strong{color:#21714a}
.vsd-notification-detail-item.is-platform{border-color:#badcf4;background:#eef8ff}.vsd-notification-detail-item.is-platform strong{color:#17699f}
.vsd-notification-detail-item.is-material{border-color:#d3d8f0;background:#f5f6ff}.vsd-notification-detail-item.is-material strong{color:#44578c}
.vsd-notification-detail-item.is-cancel,.vsd-notification-detail-item.is-disruption{border-color:#f0c4c7;background:#fff1f2}.vsd-notification-detail-item.is-cancel strong,.vsd-notification-detail-item.is-disruption strong{color:#a62b35}
.vsd-notification-detail-item.is-time{border-color:#c9dceb;background:#f3f8fc}.vsd-notification-detail-item.is-time strong{color:#174f85}
.vsd-notification-detail-message{margin:0!important;padding:10px 12px;border-radius:12px;background:#f7f9fb;color:#5e7387;font-size:12px;line-height:1.45}
@media(max-width:520px){.vsd-notification-detail-grid{grid-template-columns:1fr 1fr}.vsd-notification-detail-route{padding:12px 13px}.vsd-notification-detail-route strong{font-size:15px}.vsd-notification-detail-item{padding:10px 11px}.vsd-notification-detail-item strong{font-size:14px}}
@media(max-width:350px){.vsd-notification-detail-grid{grid-template-columns:1fr}}


/* v3.21.98 · meldingen tonen weer de echte reis/rit-inhoud */
.vsd-notification-detail.layout-commute .vsd-notification-detail-route{position:relative;padding-left:48px;background:linear-gradient(135deg,#f3f9ff 0%,#eaf5ff 100%)}
.vsd-notification-detail.layout-commute .vsd-notification-detail-route:before{content:"🚗";position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:22px}
.vsd-notification-detail.layout-commute .vsd-notification-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vsd-notification-detail.layout-ride-next .vsd-notification-detail-route,.vsd-notification-detail.layout-ride-delay .vsd-notification-detail-route,.vsd-notification-detail.layout-ride .vsd-notification-detail-route{background:linear-gradient(135deg,#eff8ff 0%,#e4f2fd 100%);border-color:#bfdcf0}
.vsd-notification-ride-timeline{margin-top:2px;padding:12px 13px 8px;border:1px solid #d8e6f1;border-radius:16px;background:#fbfdff}
.vsd-notification-ride-timeline-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px 10px}
.vsd-notification-ride-timeline-head strong{color:#173d63;font-size:14px}.vsd-notification-ride-timeline-head small{color:#8195a6;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.vsd-notification-ride-stop{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) minmax(108px,.9fr);gap:8px;align-items:center;min-height:48px;padding:6px 0}
.vsd-notification-ride-stop:before{content:"";position:absolute;left:7px;top:-8px;bottom:-8px;width:2px;background:#cbddea}.vsd-notification-ride-stop:first-of-type:before{top:50%}.vsd-notification-ride-stop:last-child:before{bottom:50%}
.vsd-notification-ride-dot{position:relative;z-index:1;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:#4a8fbd;box-shadow:0 0 0 2px #bcd8ea}
.vsd-notification-ride-stop.is-start .vsd-notification-ride-dot,.vsd-notification-ride-stop.is-end .vsd-notification-ride-dot{background:#176ca8;box-shadow:0 0 0 3px #cfe7f7}
.vsd-notification-ride-stop-name{min-width:0}.vsd-notification-ride-stop-name strong{display:block;color:#244c6e;font-size:12px;line-height:1.2;overflow-wrap:anywhere}.vsd-notification-ride-stop-name small{display:block;margin-top:2px;color:#91a1ae;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vsd-notification-ride-stop-time{text-align:right;min-width:0}.vsd-notification-ride-stop-time>strong{display:block;color:#315b7c;font-size:11px;line-height:1.2}.vsd-notification-ride-stop-time>b{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:999px;background:#fff1dc;color:#a6540c;font-size:9px}.vsd-notification-ride-stop-time>small{display:block;margin-top:2px;color:#9a6a45;font-size:8px;line-height:1.2}
.vsd-notification-ride-stop.has-delay{margin:0 -6px;padding-left:6px;padding-right:6px;border-radius:10px;background:#fff8ee}.vsd-notification-ride-stop.has-delay .vsd-notification-ride-dot{background:#d97714;box-shadow:0 0 0 3px #ffe0b3}
.vsd-notification-detail.layout-ride-delay .vsd-notification-detail-message{background:#fff8ed;color:#815020;border:1px solid #f2d5ab}
@media(max-width:620px){.vsd-notification-detail.layout-commute .vsd-notification-detail-grid{grid-template-columns:1fr 1fr}.vsd-notification-ride-stop{grid-template-columns:17px minmax(0,1fr) minmax(98px,.8fr)}.vsd-notification-ride-stop-name strong{font-size:11px}.vsd-notification-ride-stop-time>strong{font-size:10px}}

/* ========================================================================
   v3.21.99 · oorspronkelijke rijke meldingskaarten terug
   Alleen de drie automatische detailvensters hieronder worden geraakt.
   ======================================================================== */
.vsd-notification-modal-card.is-commute,
.vsd-notification-modal-card.is-next-ride{width:min(700px,calc(100vw - 28px));}
.vsd-notification-modal-card.is-delay-route{width:min(680px,calc(100vw - 28px));height:min(88dvh,840px);max-height:min(88dvh,840px);display:flex;flex-direction:column;overflow:hidden;background:#fff;overscroll-behavior:contain}

/* Naar werk */
.vsd-rich-commute{margin:0 20px 2px;border:1px solid #d2e4f0;border-radius:20px;background:#f7fbfe;overflow:hidden}
.vsd-rich-commute-head{display:flex;align-items:center;gap:13px;padding:17px 18px 14px;background:#eef8ff;border-bottom:1px solid #d9e8f2}
.vsd-rich-commute-head>.dashicons{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#fff;color:#1972aa;font-size:25px;line-height:44px}
.vsd-rich-commute-head>div{min-width:0}.vsd-rich-commute-head small,.vsd-rich-commute-metrics small,.vsd-rich-commute-note small,.vsd-rich-next-main>small,.vsd-rich-next-times small,.vsd-rich-next-material small{display:block;color:#758ea4;font-size:9px;font-weight:900;letter-spacing:.14em;line-height:1.15}
.vsd-rich-commute-head strong{display:block;margin-top:3px;color:#17466d;font-size:21px;line-height:1.15;overflow-wrap:normal;word-break:normal}
.vsd-rich-commute-head em{display:block;margin-top:3px;color:#678198;font-size:12px;font-style:normal;font-weight:750}
.vsd-rich-commute-map{margin:0 18px;padding:0 0 1px;background:#edf6fb;border:1px solid #d2e2ec;border-radius:18px;overflow:hidden}
.vsd-rich-commute-map.vsd-rich-commute-map-live{padding:0;height:235px;min-height:235px;background:#e7f0f6}
.vsd-rich-commute-map.vsd-rich-commute-map-live .leaflet-container{height:100%;width:100%;border-radius:inherit;background:#e7f0f6;font-family:inherit}
.vsd-rich-commute-map.vsd-rich-commute-map-live .leaflet-control-attribution{font-size:8px!important}
.vsd-rich-commute-map.vsd-rich-commute-map-live .leaflet-control-attribution a{text-decoration:none}
.vsd-rich-commute-svg{display:block;width:100%;height:auto;min-height:210px;max-height:275px;background:linear-gradient(180deg,#eef7fc,#edf6fb)}
.vsd-rich-commute-grid line{stroke:#d7e7f0;stroke-width:1}
.vsd-rich-commute-line-shadow{fill:none;stroke:#fff;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}
.vsd-rich-commute-line{fill:none;stroke:#1777b8;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.vsd-rich-commute-home,.vsd-rich-commute-work{stroke:#fff;stroke-width:5}.vsd-rich-commute-home{fill:#2d9a68}.vsd-rich-commute-work{fill:#dc861d}
.vsd-rich-commute-svg text{font-family:inherit;font-size:18px;font-weight:900;fill:#173e61;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.vsd-rich-commute-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px 13px}
.vsd-rich-commute-metrics>div{padding:12px 14px;border:1px solid #d8e4ed;border-radius:16px;background:#fff}
.vsd-rich-commute-metrics strong{display:block;margin-top:5px;color:#174a74;font-size:20px;line-height:1.1}
.vsd-rich-commute-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;margin:3px 18px 17px;padding:14px 15px;border:1px solid #ecd291;border-radius:17px;background:#fff9e9;color:#755317}
.vsd-rich-commute-links{display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px 0}.vsd-rich-commute-links .button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border-radius:14px}.vsd-rich-commute-links .button .dashicons{font-size:17px;width:17px;height:17px}.vsd-rich-commute-links .button.vsd-travel-route-open{background:#fff;color:#17466d;border:1px solid #d4e3ee}.vsd-rich-commute-note>.dashicons{font-size:26px;width:26px;height:26px;color:#ad740d}.vsd-rich-commute-note strong{display:block;margin-top:4px;font-size:17px}.vsd-rich-commute-note p{margin:6px 0 0!important;color:#735f39;font-size:12px;line-height:1.45}
.vsd-rich-actions{padding-top:14px!important}.vsd-rich-actions.single{grid-template-columns:1fr!important}

/* Volgende rit */
.vsd-rich-next{margin:0 20px 4px;border:1px solid #cfe0eb;border-radius:20px;background:#fff;overflow:hidden}
.vsd-rich-next-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;background:#eaf6fd;border-bottom:1px solid #d3e4ef}
.vsd-rich-next-bar strong{color:#174d76;font-size:15px}.vsd-rich-next-bar span{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#fff;color:#58768d;font-size:11px;font-weight:850}
.vsd-rich-next-main{padding:17px 18px 16px}.vsd-rich-next-main h3{margin:5px 0 15px;color:#173e61;font-size:21px;line-height:1.2}
.vsd-rich-next-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vsd-rich-next-times>div{padding:12px 14px;border:1px solid #d7e4ed;border-radius:17px;background:#fff}
.vsd-rich-next-times strong{display:block;margin-top:5px;color:#174a74;font-size:24px;line-height:1}.vsd-rich-next-times span{display:block;margin-top:5px;color:#5f7b92;font-size:12px;font-weight:800}
.vsd-rich-next-material{display:flex;align-items:center;justify-content:center;gap:18px;padding:17px 18px;border-top:1px solid #dce7ee;background:#fff}
.vsd-rich-next-material>div{min-width:0}.vsd-rich-next-material strong{display:block;margin-top:4px;color:#17466d;font-size:21px;line-height:1.1}.vsd-rich-next-material>div>span{display:block;margin-top:4px;color:#70879a;font-size:12px;font-weight:800}
.vsd-rich-next-train-image{display:flex;align-items:center;justify-content:center;width:min(180px,35%);min-width:105px}.vsd-rich-next-train-image img{display:block;max-width:100%;max-height:54px;width:auto;height:auto;object-fit:contain}
.vsd-rich-next-train-fallback{display:flex;align-items:center;gap:2px;width:125px}.vsd-rich-next-train-fallback i{display:block;flex:1;height:18px;border:2px solid #1b63a0;background:#ffd335;border-radius:4px;box-shadow:inset 0 5px 0 #1b63a0}.vsd-rich-next-train-fallback i:first-child{border-radius:10px 4px 4px 10px}.vsd-rich-next-train-fallback i:last-child{border-radius:4px 10px 10px 4px}

/* Vertragingsmelding = echt Ritverloop, zonder materieelblok */
.vsd-rich-delay-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 15px;border-bottom:1px solid #dfe8ef;background:#fbfdff}
.vsd-rich-delay-head>div{min-width:0}.vsd-rich-delay-head .vsd-kicker{display:block;color:#607c95;font-size:10px;font-weight:900;letter-spacing:.16em}.vsd-rich-delay-head h2{margin:4px 0 2px;color:#173f61;font-size:25px;line-height:1.08}.vsd-rich-delay-head p{margin:0;color:#70889a;font-size:13px;font-weight:700}
.vsd-rich-delay-close{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;border:4px solid #6fb7eb;border-radius:50%;background:#eef8ff;color:#195f91;cursor:pointer}.vsd-rich-delay-close .dashicons{width:22px;height:22px;font-size:22px;line-height:22px}
.vsd-rich-delay-summary{margin-top:10px}.vsd-rich-delay-summary>span{display:block;color:#6e879a;font-size:8px;font-weight:900;letter-spacing:.13em}.vsd-rich-delay-summary>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.vsd-rich-delay-summary strong{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #f1b69f;border-radius:999px;background:#fff4ef;color:#b84e31;font-size:10px;line-height:1}
.vsd-rich-delay-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 16px 8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.vsd-rich-delay-list .vsd-myday-route-stop{min-height:58px;margin-bottom:2px}.vsd-rich-delay-list .vsd-myday-route-stop.is-own{background:#eaf6fe;border-color:#b9dcf2}.vsd-rich-delay-plan{display:flex;align-items:center;justify-content:flex-end;gap:6px}.vsd-rich-delay-plan .vsd-myday-route-delay-badge{display:inline-flex;padding:4px 7px;border:1px solid #efb79e;border-radius:999px;background:#fff3ec;color:#b75032;font-size:9px;font-weight:900}
.vsd-notification-modal-card.is-delay-route .vsd-myday-route-help{flex:0 0 auto;border-top:1px solid #e3ebf0;background:#fff}

@media(max-width:720px){
  .vsd-notification-modal-card.is-commute,.vsd-notification-modal-card.is-next-ride{width:100%;max-height:calc(90dvh - env(safe-area-inset-bottom,0px));}
  .vsd-notification-modal-card.is-delay-route{width:100%;height:calc(90dvh - env(safe-area-inset-bottom,0px));max-height:calc(90dvh - env(safe-area-inset-bottom,0px));}
  .vsd-rich-commute,.vsd-rich-next{margin-left:12px;margin-right:12px;border-radius:17px}
  .vsd-rich-commute-head{padding:13px 13px 11px}.vsd-rich-commute-head>.dashicons{width:38px;height:38px;flex-basis:38px;font-size:21px;line-height:38px}.vsd-rich-commute-head strong{font-size:16px}.vsd-rich-commute-head em{font-size:10px}
  .vsd-rich-commute-map{margin:0 11px;border-radius:15px}.vsd-rich-commute-map.vsd-rich-commute-map-live{height:198px;min-height:198px}.vsd-rich-commute-svg{min-height:180px;max-height:225px}.vsd-rich-commute-svg text{font-size:15px}
  .vsd-rich-commute-metrics{gap:8px;padding:12px 11px 10px}.vsd-rich-commute-metrics>div{padding:10px 11px;border-radius:14px}.vsd-rich-commute-metrics strong{font-size:17px}.vsd-rich-commute-links{padding:10px 11px 0;gap:8px}.vsd-rich-commute-links .button{width:100%;min-height:40px}.vsd-rich-commute-note{margin:2px 11px 12px;padding:12px;border-radius:15px}.vsd-rich-commute-note strong{font-size:15px}.vsd-rich-commute-note p{font-size:10px}
  .vsd-rich-next-bar{padding:11px 13px}.vsd-rich-next-bar strong{font-size:12px}.vsd-rich-next-bar span{font-size:9px;padding:6px 9px}.vsd-rich-next-main{padding:13px}.vsd-rich-next-main h3{font-size:17px;margin:4px 0 12px}.vsd-rich-next-times{gap:8px}.vsd-rich-next-times>div{padding:10px 11px;border-radius:14px}.vsd-rich-next-times strong{font-size:19px}.vsd-rich-next-times span{font-size:10px}.vsd-rich-next-material{gap:12px;padding:13px}.vsd-rich-next-material strong{font-size:17px}.vsd-rich-next-material>div>span{font-size:10px}.vsd-rich-next-train-image{min-width:92px}.vsd-rich-next-train-image img{max-height:42px}
  .vsd-rich-delay-head{padding:14px 14px 11px}.vsd-rich-delay-head h2{font-size:20px}.vsd-rich-delay-head p{font-size:10px}.vsd-rich-delay-close{width:42px;height:42px;flex-basis:42px;border-width:3px}.vsd-rich-delay-list{padding:10px 9px 6px}.vsd-rich-delay-list .vsd-myday-route-stop{min-height:51px}
}


/* ========================================================================
   v3.22.02 · iPad/iOS login: toetsenbord mag de pagina niet wegduwen
   ======================================================================== */
/* iOS/Safari zoomt en herschikt de pagina zodra een invoerveld kleiner dan
   16px tekst gebruikt. Op de brede loginpagina werd dat zichtbaar als een
   steeds omhoog springende pagina tijdens gebruikersnaam/wachtwoord invoer. */
.vsd-login-shell-v328 .vsd-own-login-form input[type=text],
.vsd-login-shell-v328 .vsd-own-login-form input[type=email],
.vsd-login-shell-v328 .vsd-own-login-form input[type=password]{
  font-size:16px!important;
  line-height:1.3!important;
  -webkit-text-size-adjust:100%;
  scroll-margin-top:24px;
  scroll-margin-bottom:34vh;
}
.vsd-login-shell-v328,
.vsd-login-shell-v328 .vsd-login-landing,
.vsd-login-shell-v328 .vsd-login-card,
.vsd-login-shell-v328 .vsd-own-login-form{overflow-anchor:none}

/* Een fixed achtergrond in combinatie met het iPad-toetsenbord veroorzaakt
   in WebKit extra viewport-relayouts. Alleen op WebKit/touch schakelen we die
   achtergrond naar normaal scrollend; de visuele login blijft verder gelijk. */
@supports (-webkit-touch-callout:none){
  .vsd-login-shell,
  .vsd-login-shell-v328{
    background-attachment:scroll!important;
    min-height:100vh!important;
    min-height:100svh!important;
  }
}

/* Voorkom dat eventuele globale smooth-scroll van thema/browser een native
   focuscorrectie uitsmeert tot meerdere zichtbare sprongen. */
html:has(.vsd-login-shell-v328){scroll-behavior:auto!important}

/* v4.00.00 · volgende-ritkaart: compacte via-regel + echte gekoppelde materieelbeelden */
.vsd-rich-next-via{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;border:1px solid #dbe8f0;border-radius:11px;background:#f7fbfd;color:#567188}
.vsd-rich-next-via small{flex:0 0 auto;padding-top:1px;color:#7390a5;font-size:8px;font-weight:900;letter-spacing:.12em}
.vsd-rich-next-via span{min-width:0;font-size:10px;line-height:1.4;font-weight:750;overflow-wrap:anywhere}
.vsd-rich-next-train-image.is-combination{display:flex;align-items:center;justify-content:center;gap:2px;overflow:visible}
.vsd-rich-next-train-image.is-combination img{max-width:58px;max-height:34px;object-fit:contain}
@media(max-width:600px){.vsd-rich-next-via{margin-top:8px;padding:7px 9px}.vsd-rich-next-via span{font-size:9px}.vsd-rich-next-train-image.is-combination img{max-width:48px;max-height:30px}}


/* v4.00.05 · sociaal profiel opgefrist met omslagfoto, bio en socialmedia-look */
.vsd-profile-social-preview{position:relative;overflow:hidden;min-height:220px;margin:0 0 16px;border:1px solid #d9e6ef;border-radius:24px;background:linear-gradient(135deg,#1e4f86 0%,#2e6ea7 55%,#7bc4ff 100%);box-shadow:0 14px 32px rgba(17,52,84,.08)}
.vsd-profile-social-preview-cover,.vsd-profile-social-preview-cover.is-default{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.vsd-profile-social-preview-cover.is-default{background:linear-gradient(135deg,#163e68 0%,#205a91 45%,#4ea9e5 100%)}
.vsd-profile-social-preview-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,29,48,.05) 0%,rgba(11,29,48,.22) 40%,rgba(11,29,48,.62) 100%)}
.vsd-profile-social-preview-person{position:relative;z-index:1;display:flex;align-items:flex-end;gap:16px;min-height:220px;padding:22px;color:#fff}
.vsd-profile-social-preview-avatar{flex:0 0 auto}
.vsd-profile-social-preview-avatar .vsd-own-profile-photo,.vsd-profile-social-preview-avatar .avatar,.vsd-profile-social-preview-avatar .vsd-letter-avatar{display:block!important;width:92px!important;height:92px!important;border:4px solid rgba(255,255,255,.92)!important;border-radius:999px!important;object-fit:cover!important;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.vsd-profile-social-preview-person small{display:block;margin-bottom:4px;color:rgba(255,255,255,.82);font-size:11px;font-weight:900;letter-spacing:.18em}
.vsd-profile-social-preview-person strong{display:block;margin-bottom:4px;font-size:31px;line-height:1.04}
.vsd-profile-social-preview-person span{display:block;color:rgba(255,255,255,.88);font-size:14px}
.vsd-profile-social-preview-person p{max-width:700px;margin:10px 0 0;color:rgba(255,255,255,.96);font-size:13px;line-height:1.5}
.vsd-profile-social-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px}
.vsd-profile-cover-editor,.vsd-profile-photo-editor{display:grid;gap:10px}
.vsd-profile-cover-preview{display:grid;place-items:center;min-height:130px;border:1px dashed #ccdae4;border-radius:18px;background:#f7fbff;color:#6b8296;font-size:13px;font-weight:700;overflow:hidden}
.vsd-profile-cover-preview img{display:block;width:100%;height:130px;object-fit:cover}
.vsd-profile-social-remove-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}

.vsd-friend-profile-v2-identity{position:relative;overflow:hidden;min-height:270px;padding:0!important;border:0!important;border-radius:26px!important;background:linear-gradient(135deg,#1d4c7f 0%,#205f98 50%,#5fb4e8 100%)!important;box-shadow:0 20px 42px rgba(18,53,84,.12)!important}
.vsd-friend-profile-v2-identity.is-default-cover{background:linear-gradient(135deg,#173f68 0%,#235d97 48%,#74b6e0 100%)!important}
.vsd-friend-profile-v2-cover{position:relative;min-height:270px;padding:22px}
.vsd-friend-profile-v2-cover-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.vsd-friend-profile-v2-cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,38,.08) 0%,rgba(8,22,38,.22) 32%,rgba(8,22,38,.68) 100%)}
.vsd-friend-profile-v2-identity .vsd-friend-profile-v2-more{position:absolute;top:18px;right:18px;z-index:2;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.18)!important;color:#fff!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.vsd-friend-profile-v2-identity .vsd-friend-profile-v2-person{position:relative;z-index:1;align-items:flex-end;gap:20px;min-height:226px}
.vsd-friend-profile-v2-avatar-wrap{flex:0 0 118px!important;width:118px!important;height:118px!important}
.vsd-friend-profile-v2-avatar-wrap>.vsd-own-profile-photo,.vsd-friend-profile-v2-avatar-wrap>.avatar,.vsd-friend-profile-v2-avatar-wrap>.vsd-letter-avatar{width:118px!important;height:118px!important;border:5px solid rgba(255,255,255,.96)!important;box-shadow:0 14px 34px rgba(7,18,30,.26)!important}
.vsd-friend-profile-v2-avatar-wrap>i{right:10px!important;bottom:10px!important;width:18px!important;height:18px!important}
.vsd-friend-profile-v2-person-copy .vsd-kicker{color:rgba(255,255,255,.74)!important}
.vsd-friend-profile-v2-person-copy h2{color:#fff!important;font-size:42px!important;line-height:1.02!important;margin:4px 0 8px!important}
.vsd-friend-profile-v2-person-copy>p{color:rgba(255,255,255,.9)!important;font-size:13px!important}
.vsd-friend-profile-v2-person-copy>p .dashicons{color:#d8edff!important}
.vsd-friend-profile-v2-person-copy>p b{color:rgba(255,255,255,.4)!important}
.vsd-friend-profile-v2-bio{max-width:760px;margin:12px 0 0!important;color:rgba(255,255,255,.97)!important;font-size:14px!important;line-height:1.55!important}
.vsd-friend-profile-v2-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vsd-friend-profile-v2-badges>span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.vsd-friend-profile-v2-badges .dashicons{width:15px;height:15px;font-size:15px;color:#fff}
.vsd-friend-profile-v2-live{margin-top:14px!important;gap:8px!important}
.vsd-friend-profile-v2-live>strong{background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:10px!important}
.vsd-friend-profile-v2-live>span{color:rgba(255,255,255,.92)!important;font-size:11px!important}
.vsd-friend-profile-v2-live>a{color:#fff!important;font-size:11px!important;text-decoration:underline!important;text-underline-offset:2px}
.vsd-friend-profile-v2-live.is-off>strong{background:rgba(255,255,255,.14)!important;color:#eff6fc!important}
.vsd-friend-profile-v2-stats>div{border-radius:18px!important;box-shadow:0 10px 24px rgba(17,54,84,.05)!important}
.vsd-friend-profile-v2-panel,.vsd-friend-profile-v2-side-card{border-radius:20px!important;box-shadow:0 10px 24px rgba(17,54,84,.05)!important}

@media(max-width:900px){
  .vsd-profile-social-upload-grid,.vsd-profile-social-remove-row{grid-template-columns:1fr}
}
@media(max-width:650px){
  .vsd-profile-social-preview{min-height:190px;border-radius:18px}
  .vsd-profile-social-preview-person{align-items:flex-end;gap:12px;min-height:190px;padding:16px}
  .vsd-profile-social-preview-avatar .vsd-own-profile-photo,.vsd-profile-social-preview-avatar .avatar,.vsd-profile-social-preview-avatar .vsd-letter-avatar{width:74px!important;height:74px!important;border-width:3px!important}
  .vsd-profile-social-preview-person strong{font-size:23px}
  .vsd-profile-social-preview-person span,.vsd-profile-social-preview-person p{font-size:11px}
  .vsd-friend-profile-v2-identity{min-height:0;border-radius:18px!important}
  .vsd-friend-profile-v2-cover{min-height:0;padding:14px}
  .vsd-friend-profile-v2-identity .vsd-friend-profile-v2-person{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:end;gap:12px;min-height:220px}
  .vsd-friend-profile-v2-avatar-wrap{width:70px!important;height:70px!important;flex-basis:70px!important}
  .vsd-friend-profile-v2-avatar-wrap>.vsd-own-profile-photo,.vsd-friend-profile-v2-avatar-wrap>.avatar,.vsd-friend-profile-v2-avatar-wrap>.vsd-letter-avatar{width:70px!important;height:70px!important;border-width:3px!important}
  .vsd-friend-profile-v2-avatar-wrap>i{right:2px!important;bottom:3px!important;width:13px!important;height:13px!important}
  .vsd-friend-profile-v2-person-copy h2{font-size:23px!important;margin-bottom:5px!important}
  .vsd-friend-profile-v2-person-copy>p{font-size:9px!important}
  .vsd-friend-profile-v2-bio{font-size:10px!important;margin-top:8px!important}
  .vsd-friend-profile-v2-badges{gap:5px;margin-top:9px}
  .vsd-friend-profile-v2-badges>span{min-height:24px;padding:4px 8px;font-size:7px}
  .vsd-friend-profile-v2-live{margin-top:10px!important}
  .vsd-friend-profile-v2-live>strong,.vsd-friend-profile-v2-live>span,.vsd-friend-profile-v2-live>a{font-size:7px!important}
  .vsd-friend-profile-v2-identity .vsd-friend-profile-v2-more{top:12px;right:12px}
}


/* v4.00.06 · luxere social-header, profielnavigatie en automatische badges */
.vsd-friend-profile-v2-cover::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.32;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.34),transparent 25%),linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.08) 45% 46%,transparent 46% 100%)}
.vsd-friend-profile-v2-cover::after{content:"";position:absolute;left:-8%;right:-8%;bottom:48px;z-index:0;height:2px;transform:rotate(-3deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.20) 12%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.20) 88%,transparent);box-shadow:0 10px 0 rgba(255,255,255,.08),0 -10px 0 rgba(255,255,255,.08);pointer-events:none}
.vsd-friend-profile-social-counts{position:relative;z-index:1;display:flex;align-items:center;gap:18px;margin-left:138px;margin-top:18px;color:#fff}
.vsd-friend-profile-social-counts>span{display:grid;gap:1px;min-width:56px}
.vsd-friend-profile-social-counts strong{font-size:18px;line-height:1;font-weight:950}
.vsd-friend-profile-social-counts small{color:rgba(255,255,255,.72);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vsd-friend-profile-social-tabs{position:relative;z-index:3;display:flex;align-items:center;gap:4px;padding:0 18px;border-top:1px solid rgba(255,255,255,.16);background:rgba(8,29,47,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vsd-friend-profile-social-tabs a{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;color:rgba(255,255,255,.78)!important;text-decoration:none!important;font-size:11px;font-weight:850}
.vsd-friend-profile-social-tabs a:hover,.vsd-friend-profile-social-tabs a.is-active{color:#fff!important}
.vsd-friend-profile-social-tabs a.is-active::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#fff}

.vsd-social-badges-panel{scroll-margin-top:95px}
.vsd-social-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.vsd-social-badge{display:flex;align-items:center;gap:12px;min-width:0;padding:13px;border:1px solid #e0e8ee;border-radius:15px;background:linear-gradient(180deg,#fff,#f9fbfd)}
.vsd-social-badge-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:#edf4fa;color:#356c93;box-shadow:inset 0 0 0 1px rgba(35,82,118,.05)}
.vsd-social-badge-icon .dashicons{width:21px;height:21px;font-size:21px}
.vsd-social-badge>div{min-width:0}.vsd-social-badge small,.vsd-social-badge strong,.vsd-social-badge p{display:block;margin:0}
.vsd-social-badge small{margin-bottom:2px;color:#8ca0ad;font-size:6.5px;font-weight:950;letter-spacing:.13em}
.vsd-social-badge strong{color:#214d6d;font-size:10px}.vsd-social-badge p{margin-top:3px;color:#7a8e9c;font-size:7.5px;line-height:1.35}
.vsd-social-badge.is-silver{border-color:#d7e1e7;background:linear-gradient(135deg,#fff,#f2f6f9)}.vsd-social-badge.is-silver .vsd-social-badge-icon{background:linear-gradient(135deg,#edf2f5,#dfe8ed);color:#506b7d}
.vsd-social-badge.is-gold{border-color:#edd8a2;background:linear-gradient(135deg,#fffdf5,#fff7d9)}.vsd-social-badge.is-gold .vsd-social-badge-icon{background:linear-gradient(135deg,#fff0b5,#f3cf63);color:#765600}
.vsd-social-badge.is-role{border-color:#cfe1f0;background:linear-gradient(135deg,#f8fcff,#ebf6ff)}.vsd-social-badge.is-role .vsd-social-badge-icon{background:linear-gradient(135deg,#dceeff,#b9dcf6);color:#175b8b}
.vsd-social-badges-empty{display:flex;align-items:center;gap:12px;padding:18px;color:#738895}.vsd-social-badges-empty>.dashicons{width:34px;height:34px;font-size:34px;color:#9ab0bf}.vsd-social-badges-empty strong{display:block;color:#365c75}.vsd-social-badges-empty p{margin:3px 0 0;font-size:10px}
#vsd-profile-services{scroll-margin-top:95px}

@media(max-width:900px){.vsd-social-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .vsd-friend-profile-social-counts{gap:12px;margin-left:82px;margin-top:12px}.vsd-friend-profile-social-counts>span{min-width:42px}.vsd-friend-profile-social-counts strong{font-size:13px}.vsd-friend-profile-social-counts small{font-size:5.5px}
  .vsd-friend-profile-social-tabs{overflow-x:auto;padding:0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.vsd-friend-profile-social-tabs::-webkit-scrollbar{display:none}.vsd-friend-profile-social-tabs a{flex:0 0 auto;min-height:40px;padding:0 10px;font-size:8px}
  .vsd-social-badge-grid{grid-template-columns:1fr;gap:6px;padding:8px}.vsd-social-badge{padding:9px;border-radius:11px}.vsd-social-badge-icon{flex-basis:35px;width:35px;height:35px;border-radius:10px}.vsd-social-badge-icon .dashicons{width:17px;height:17px;font-size:17px}.vsd-social-badge strong{font-size:8.5px}.vsd-social-badge p{font-size:6.5px}
}


/* v4.00.07 · social profiel compacter, rustiger en meer als een echte profielpagina */
.vsd-friend-profile-v2-main{gap:11px!important}
.vsd-friend-profile-v2-stats{gap:8px!important}
.vsd-friend-profile-v2-stats>div{padding:11px 12px!important;border-radius:15px!important}
.vsd-friend-profile-v2-stats>div>.dashicons{flex-basis:34px!important;width:34px!important;height:34px!important;line-height:34px!important}
.vsd-friend-profile-v2-stats strong{font-size:18px!important}
.vsd-friend-profile-v2-next.is-compact{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
.vsd-friend-next-compact{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dce7ef;border-radius:16px;background:linear-gradient(135deg,#fff,#f7fbff);box-shadow:0 7px 18px rgba(18,55,84,.045)}
.vsd-friend-next-date{display:grid;gap:1px;min-width:90px;padding-right:12px;border-right:1px solid #e4edf3}.vsd-friend-next-date small{color:#7590a4;font-size:7px;font-weight:950;letter-spacing:.12em}.vsd-friend-next-date strong{color:#204f70;font-size:11px}
.vsd-friend-next-main{display:grid;gap:2px;min-width:0}.vsd-friend-next-main>strong{color:#173f65;font-size:14px}.vsd-friend-next-main>span{overflow:hidden;color:#718697;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vsd-friend-next-time{color:#164c75;font-size:19px;font-weight:950}
.vsd-friend-next-compact>.vsd-profile-service-badges{justify-content:flex-end;margin:0!important;padding:0!important}.vsd-friend-next-compact>.vsd-profile-service-badges>span{font-size:7px!important}
.vsd-friend-profile-v2-encounters.is-compact{overflow:hidden}.vsd-friend-profile-v2-encounters.is-compact>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;cursor:pointer;list-style:none}.vsd-friend-profile-v2-encounters.is-compact>summary::-webkit-details-marker{display:none}.vsd-friend-profile-v2-encounters.is-compact>summary>div:first-child{display:grid;gap:1px}.vsd-friend-profile-v2-encounters.is-compact>summary .vsd-kicker{color:#7890a0;font-size:7px;font-weight:900;letter-spacing:.12em}.vsd-friend-profile-v2-encounters.is-compact>summary strong{color:#244f6b;font-size:13px}.vsd-friend-profile-v2-encounters.is-compact>summary small{color:#8294a0;font-size:8px}.vsd-encounter-mini-stats{display:flex;align-items:center;gap:7px}.vsd-encounter-mini-stats>span{padding:5px 8px;border-radius:999px;background:#eff5f9;color:#607b8f;font-size:7px}.vsd-encounter-mini-stats b{color:#194e78;font-size:9px}.vsd-encounter-mini-stats .dashicons{width:15px;height:15px;font-size:15px;transition:transform .18s ease}.vsd-friend-profile-v2-encounters[open] .vsd-encounter-mini-stats .dashicons{transform:rotate(180deg)}
.vsd-friend-profile-v2-encounters.is-compact .vsd-friend-profile-v2-encounter-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 10px}.vsd-friend-profile-v2-encounters.is-compact .vsd-friend-profile-v2-encounter-strip article{padding:8px 9px}.vsd-friend-profile-v2-encounters.is-compact .vsd-friend-profile-v2-encounter-strip article>.dashicons{flex-basis:28px;width:28px;height:28px;line-height:28px}
.vsd-friend-profile-v2-history.is-collapsed-groups>.vsd-friend-profile-v2-panel-head.is-compact{padding:11px 14px}.vsd-friend-profile-v2-history.is-collapsed-groups>.vsd-friend-profile-v2-panel-head h3{font-size:14px!important}.vsd-profile-service-disclosure{border-top:1px solid #edf1f4}.vsd-profile-service-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none;background:#fff}.vsd-profile-service-disclosure>summary::-webkit-details-marker{display:none}.vsd-profile-service-disclosure>summary>span{display:grid;gap:2px}.vsd-profile-service-disclosure>summary small{color:#7e93a2;font-size:7px;font-weight:900;letter-spacing:.12em}.vsd-profile-service-disclosure>summary strong{color:#294f69;font-size:11px}.vsd-profile-service-disclosure>summary>b{padding:4px 7px;border-radius:999px;background:#eef5fa;color:#52738a;font-size:7px}.vsd-profile-service-disclosure>summary>.dashicons{width:16px;height:16px;font-size:16px;color:#6c8394;transition:transform .18s ease}.vsd-profile-service-disclosure[open]>summary>.dashicons{transform:rotate(180deg)}.vsd-profile-service-disclosure-body{padding:0 9px 9px;background:#fbfdfe}.vsd-profile-service-disclosure-body .vsd-friend-history{padding-top:8px}
.vsd-social-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.vsd-social-badge{min-height:88px!important;padding:10px!important}.vsd-social-badge-icon{width:38px!important;height:38px!important;flex-basis:38px!important}.vsd-social-badge strong{font-size:10px!important}.vsd-social-badge p{font-size:7px!important;line-height:1.35!important}
@media(max-width:900px){.vsd-social-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-friend-next-compact{grid-template-columns:auto minmax(0,1fr) auto}.vsd-friend-next-compact>.vsd-profile-service-badges{grid-column:2/4;justify-content:flex-start}}
@media(max-width:650px){.vsd-friend-next-compact{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:9px 10px}.vsd-friend-next-date{grid-column:1;grid-row:1;display:flex;gap:6px;min-width:0;padding:0;border:0}.vsd-friend-next-main{grid-column:1;grid-row:2}.vsd-friend-next-time{grid-column:2;grid-row:1/3;font-size:16px}.vsd-friend-next-compact>.vsd-profile-service-badges{grid-column:1/-1}.vsd-encounter-mini-stats>span:nth-child(2){display:none}.vsd-friend-profile-v2-encounters.is-compact .vsd-friend-profile-v2-encounter-strip{grid-template-columns:1fr}.vsd-social-badge-grid{grid-template-columns:1fr!important}.vsd-profile-service-disclosure>summary{padding:9px 10px}.vsd-profile-service-disclosure-body{padding:0 6px 6px}}

/* v4.00.09 · profielheader compacter en zonder rechterzijbalk */
.vsd-friend-profile-v3{padding:8px 0 32px}
.vsd-friend-profile-v3-shell{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:18px;align-items:start}
.vsd-friend-profile-v3-main{display:grid;gap:18px;min-width:0}
.vsd-friend-profile-v3-hero{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#0b3d70 0%,#174f86 42%,#3c9bd7 100%);box-shadow:0 22px 60px rgba(19,57,92,.18);color:#fff}
.vsd-friend-profile-v3-hero-media{position:absolute;inset:0}.vsd-friend-profile-v3-cover-image{width:100%;height:100%;object-fit:cover;display:block}.vsd-friend-profile-v3-cover-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,34,61,.82) 0%,rgba(14,56,93,.72) 38%,rgba(39,120,186,.46) 72%,rgba(72,160,224,.28) 100%)}
.vsd-friend-profile-v3-hero>*{position:relative;z-index:1}.vsd-friend-profile-v3-hero-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 26px 0}.vsd-friend-profile-v3-hero-top .vsd-kicker{color:#d8ecff;font-size:11px;letter-spacing:.18em}.vsd-friend-profile-v3-ghost{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:800;text-decoration:none;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vsd-friend-profile-v3-hero-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:18px 26px 0}.vsd-friend-profile-v3-person{display:flex;align-items:flex-end;gap:18px;min-width:0}.vsd-friend-profile-v3-avatar{position:relative;flex:0 0 126px;width:126px;height:126px;border-radius:38px;padding:6px;background:rgba(255,255,255,.18);box-shadow:0 18px 34px rgba(2,17,34,.2)}.vsd-friend-profile-v3-avatar img{width:100%;height:100%;border-radius:32px;object-fit:cover;border:4px solid rgba(255,255,255,.92)}.vsd-friend-profile-v3-avatar>i{position:absolute;right:9px;bottom:11px;width:18px;height:18px;border-radius:50%;background:#cad9e6;border:3px solid #fff}.vsd-friend-profile-v3-avatar>i.is-live{background:#3cd17e}.vsd-friend-profile-v3-copy{min-width:0;padding-bottom:6px}.vsd-friend-profile-v3-copy h2{margin:0 0 10px;font-size:44px;line-height:1.02;color:#fff;letter-spacing:-.03em}.vsd-friend-profile-v3-sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;color:#ebf5ff;font-size:14px;font-weight:700}.vsd-friend-profile-v3-sub .dashicons{width:17px;height:17px;font-size:17px}.vsd-friend-profile-v3-sub b{opacity:.6}.vsd-friend-profile-v3-bio{max-width:660px;margin:12px 0 0;color:#d9ecff;font-size:15px;line-height:1.55}.vsd-friend-profile-v3-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vsd-friend-profile-v3-chips>span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:850;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.vsd-friend-profile-v3-chips .dashicons{width:15px;height:15px;font-size:15px}
.vsd-friend-profile-v3-actions{display:grid;gap:10px;min-width:220px;padding-bottom:6px}.vsd-friend-profile-v3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 15px;border-radius:16px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:13px;font-weight:900;border:1px solid rgba(255,255,255,.16)}.vsd-friend-profile-v3-btn.is-primary{background:#fff;color:#164d80}.vsd-friend-profile-v3-status{display:inline-flex;align-items:center;gap:10px;margin:14px 26px 0;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#eff7ff;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.14)}.vsd-friend-profile-v3-status strong{color:#fff}.vsd-friend-profile-v3-status.is-live{background:rgba(60,209,126,.16)}
.vsd-friend-profile-v3-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px;border-top:1px solid rgba(255,255,255,.14)}.vsd-friend-profile-v3-counts span{display:grid;gap:4px;padding:18px 16px}.vsd-friend-profile-v3-counts strong{font-size:30px;line-height:1;color:#fff}.vsd-friend-profile-v3-counts small{font-size:11px;font-weight:900;letter-spacing:.12em;color:#d8ecff;text-transform:uppercase}
.vsd-friend-profile-v3-stat-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.vsd-friend-profile-v3-stat-strip article{display:flex;align-items:center;gap:13px;padding:16px 17px;border:1px solid #dfe8ef;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,55,88,.06)}.vsd-friend-profile-v3-stat-strip .dashicons{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#eaf3fa;color:#1e5f8f;font-size:22px}.vsd-friend-profile-v3-stat-strip strong,.vsd-friend-profile-v3-stat-strip small,.vsd-friend-profile-v3-stat-strip em{display:block}.vsd-friend-profile-v3-stat-strip strong{color:#163f66;font-size:20px}.vsd-friend-profile-v3-stat-strip small{margin-top:2px;color:#5b7992;font-size:12px;font-weight:900}.vsd-friend-profile-v3-stat-strip em{margin-top:2px;color:#88a0b2;font-size:10px;font-style:normal}
.vsd-friend-profile-v3-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:7px;border-radius:18px;background:#edf3f7;border:1px solid #d9e6ef}.vsd-friend-profile-v3-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;border-radius:13px;color:#54708b;font-size:12px;font-weight:900;text-decoration:none}.vsd-friend-profile-v3-tabs a.is-active,.vsd-friend-profile-v3-tabs a:hover{background:#fff;color:#164d80;box-shadow:0 8px 18px rgba(25,69,104,.08)}
.vsd-friend-profile-v3-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.95fr);gap:18px}.vsd-friend-profile-v3-dashboard.is-private{grid-template-columns:1fr}.vsd-friend-profile-v3-column{display:grid;gap:18px;align-content:start}
.vsd-friend-profile-v3-card{border:1px solid #dfe8ef;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(16,55,88,.06);overflow:hidden}.vsd-friend-profile-v3-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 0}.vsd-friend-profile-v3-card-head h3{margin:0;color:#163f66;font-size:23px;line-height:1.1}.vsd-friend-profile-v3-card-head a,.vsd-friend-profile-v3-card-head .vsd-friend-profile-v3-card-note{color:#7290a6;font-size:12px;font-weight:800;text-decoration:none}
.vsd-friend-profile-v3-about{padding-bottom:22px}.vsd-friend-profile-v3-about-copy{margin:12px 22px 0;color:#5c7488;font-size:14px;line-height:1.7}.vsd-friend-profile-v3-about-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 22px 0}.vsd-friend-profile-v3-about-meta span{display:grid;gap:4px;padding:14px;border-radius:18px;background:#f5f9fc;border:1px solid #e2edf4}.vsd-friend-profile-v3-about-meta i.dashicons{width:18px;height:18px;font-size:18px;color:#2a6795}.vsd-friend-profile-v3-about-meta b{color:#163f66;font-size:15px}.vsd-friend-profile-v3-about-meta small{color:#7690a4;font-size:11px;font-weight:800}.vsd-friend-profile-v3-tagrow{display:flex;flex-wrap:wrap;gap:8px;margin:16px 22px 0}.vsd-friend-profile-v3-tagrow span{display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border-radius:999px;background:#edf4fa;color:#245981;font-size:11px;font-weight:900}
.vsd-friend-profile-v3-next{padding-bottom:22px}.vsd-friend-profile-v3-next-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;margin:16px 22px 0;padding:18px;border-radius:22px;background:linear-gradient(135deg,#f8fbfe,#edf5fa);border:1px solid #dfeaf2}.vsd-friend-profile-v3-next-date{display:grid;place-items:center;align-content:center;padding:10px;border-radius:18px;background:#0f4b7d;color:#fff;text-transform:uppercase}.vsd-friend-profile-v3-next-date small{font-size:12px;font-weight:900;letter-spacing:.12em}.vsd-friend-profile-v3-next-date strong{font-size:30px;line-height:1}.vsd-friend-profile-v3-next-date span{font-size:11px;font-weight:800;opacity:.88}.vsd-friend-profile-v3-next-body{display:grid;gap:10px;min-width:0}.vsd-friend-profile-v3-next-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.vsd-friend-profile-v3-next-title strong{color:#173f66;font-size:24px;line-height:1.1}.vsd-friend-profile-v3-next-body p{margin:0;color:#55748b;font-size:14px;font-weight:800}.vsd-friend-profile-v3-next-meta{display:flex;flex-wrap:wrap;gap:10px}.vsd-friend-profile-v3-next-meta span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #dbe7ef;color:#3e657f;font-size:11px;font-weight:800}.vsd-friend-profile-v3-next .vsd-profile-service-badges{gap:6px;margin:0;padding:0}.vsd-friend-profile-v3-next .vsd-profile-service-badges>span{font-size:8px;padding:4px 8px;border-radius:999px}
.vsd-friend-profile-v3-services-list{padding-bottom:12px}.vsd-friend-profile-v3-service-list{display:grid;gap:10px;padding:16px 22px 22px}.vsd-friend-profile-v3-service-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:18px;background:#f8fbfd;border:1px solid #e3edf4}.vsd-friend-profile-v3-service-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#e8f2f9;color:#205d8c;font-size:18px}.vsd-friend-profile-v3-service-copy strong,.vsd-friend-profile-v3-service-copy span{display:block}.vsd-friend-profile-v3-service-copy strong{color:#173f66;font-size:14px}.vsd-friend-profile-v3-service-copy span{margin-top:3px;color:#71889a;font-size:11px}.vsd-friend-profile-v3-service-side .vsd-profile-service-badges{justify-content:flex-end;margin:0;padding:0}.vsd-friend-profile-v3-service-side .vsd-profile-service-badges>span{font-size:7px;padding:4px 7px}
.vsd-friend-profile-v3-friends{padding-bottom:20px}.vsd-friend-profile-v3-friend-row{display:flex;flex-wrap:wrap;gap:10px;padding:16px 22px 0}.vsd-friend-profile-v3-friend-row a,.vsd-friend-profile-v3-friend-more{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#eff5f9;border:1px solid #dde8f0;overflow:hidden;color:#214e72;font-size:12px;font-weight:900}.vsd-friend-profile-v3-friend-row img{width:100%;height:100%;object-fit:cover}.vsd-friend-profile-v3-friend-more{background:#1d5d8d;color:#fff}
.vsd-friend-profile-v3-badges{padding-bottom:18px}.vsd-friend-profile-v3-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 22px 0}.vsd-friend-profile-v3-badge-grid article{display:grid;gap:8px;justify-items:start;padding:14px;border-radius:18px;border:1px solid #e2ebf2;background:linear-gradient(180deg,#fff,#f7fafc)}.vsd-friend-profile-v3-badge-grid article.is-gold{border-color:#ebd48b;background:linear-gradient(180deg,#fffdf2,#fff6d6)}.vsd-friend-profile-v3-badge-grid article.is-silver{background:linear-gradient(180deg,#fff,#f2f6f8)}.vsd-friend-profile-v3-badge-grid article.is-role{background:linear-gradient(180deg,#fafdff,#eaf5fc)}.vsd-friend-profile-v3-badge-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#edf4fa;color:#1d5f8f}.vsd-friend-profile-v3-badge-icon .dashicons{width:20px;height:20px;font-size:20px}.vsd-friend-profile-v3-badge-grid strong{color:#173f66;font-size:12px;line-height:1.3}
.vsd-friend-profile-v3-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 22px 22px}.vsd-friend-profile-v3-mini-stats article{display:grid;gap:3px;padding:14px;border-radius:18px;background:#f7fbfd;border:1px solid #e3edf4}.vsd-friend-profile-v3-mini-stats strong{color:#164d80;font-size:24px}.vsd-friend-profile-v3-mini-stats span{color:#2c5775;font-size:12px;font-weight:900}.vsd-friend-profile-v3-mini-stats small{color:#7b93a6;font-size:10px}
.vsd-friend-profile-v3-encounters{padding-bottom:14px}.vsd-friend-profile-v3-encounter-list{display:grid;gap:10px;padding:16px 22px 22px}.vsd-friend-profile-v3-encounter-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;padding:12px;border-radius:18px;background:#f7fbfd;border:1px solid #e3edf4}.vsd-friend-profile-v3-encounter-list .dashicons{display:grid;place-items:center;width:36px;height:36px;border-radius:13px;background:#e8f2f9;color:#1e5f8f;font-size:18px}.vsd-friend-profile-v3-encounter-list strong,.vsd-friend-profile-v3-encounter-list small{display:block}.vsd-friend-profile-v3-encounter-list strong{color:#163f66;font-size:13px}.vsd-friend-profile-v3-encounter-list small{margin-top:4px;color:#7791a4;font-size:11px;line-height:1.45}
.vsd-friend-profile-v3-history{padding-bottom:6px}.vsd-friend-profile-v3-live-panel{padding-bottom:16px}.vsd-friend-profile-v3-live-panel .vsd-friend-profile-v3-card-head{padding-bottom:10px}.vsd-friend-profile-v3-live-tag{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#e4f8ec;color:#1f7f4d;font-size:11px;font-weight:900}.vsd-friend-profile-v3-live-tag i{width:8px;height:8px;border-radius:50%;background:#2ac06b}
.vsd-friend-profile-v3-private{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:22px}.vsd-friend-profile-v3-private>.dashicons{width:38px;height:38px;font-size:38px;color:#8fa6b7}.vsd-friend-profile-v3-private strong{display:block;margin-bottom:5px;color:#163f66;font-size:18px}.vsd-friend-profile-v3-private p{margin:0;color:#638095;line-height:1.65}
.vsd-friend-profile-v2-side .vsd-friend-profile-v2-side-card{border-radius:22px;box-shadow:0 14px 36px rgba(16,55,88,.06)}
@media(max-width:1320px){.vsd-friend-profile-v3-shell{grid-template-columns:minmax(0,1fr)}.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.vsd-friend-profile-v3-dashboard{grid-template-columns:1fr}.vsd-friend-profile-v3-actions{min-width:200px}.vsd-friend-profile-v2-side{order:2}}
@media(max-width:960px){.vsd-friend-profile-v3-hero-main{grid-template-columns:1fr;align-items:start}.vsd-friend-profile-v3-actions{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.vsd-friend-profile-v3-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-friend-profile-v3-copy h2{font-size:34px}.vsd-friend-profile-v3-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.vsd-friend-profile-v3-hero{border-radius:24px}.vsd-friend-profile-v3-hero-top{padding:18px 18px 0}.vsd-friend-profile-v3-hero-main{padding:14px 18px 0}.vsd-friend-profile-v3-person{align-items:center}.vsd-friend-profile-v3-avatar{flex-basis:94px;width:94px;height:94px;border-radius:28px}.vsd-friend-profile-v3-avatar img{border-radius:23px}.vsd-friend-profile-v3-copy h2{font-size:28px}.vsd-friend-profile-v3-bio{font-size:13px}.vsd-friend-profile-v3-actions{grid-template-columns:1fr}.vsd-friend-profile-v3-counts span{padding:14px 12px}.vsd-friend-profile-v3-counts strong{font-size:22px}.vsd-friend-profile-v3-stat-strip{grid-template-columns:1fr}.vsd-friend-profile-v3-about-meta,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-badge-grid{grid-template-columns:1fr 1fr}.vsd-friend-profile-v3-next-card{grid-template-columns:1fr}.vsd-friend-profile-v3-next-date{justify-items:start;padding:12px 14px}.vsd-friend-profile-v3-service-list article{grid-template-columns:auto minmax(0,1fr)}.vsd-friend-profile-v3-service-side{grid-column:1/-1}.vsd-friend-profile-v3-service-side .vsd-profile-service-badges{justify-content:flex-start}}
@media(max-width:560px){.vsd-friend-profile-v3-person{flex-direction:column;align-items:flex-start}.vsd-friend-profile-v3-copy h2{font-size:24px}.vsd-friend-profile-v3-sub{font-size:12px}.vsd-friend-profile-v3-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.vsd-friend-profile-v3-tabs{padding:6px;gap:6px}.vsd-friend-profile-v3-tabs a{flex:1 1 calc(50% - 6px)}.vsd-friend-profile-v3-about-meta,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-badge-grid{grid-template-columns:1fr}.vsd-friend-profile-v3-card-head{padding:18px 18px 0}.vsd-friend-profile-v3-about-copy,.vsd-friend-profile-v3-tagrow,.vsd-friend-profile-v3-next-card,.vsd-friend-profile-v3-service-list,.vsd-friend-profile-v3-friend-row,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-encounter-list{margin-left:0}.vsd-friend-profile-v3-about-copy{margin-left:18px;margin-right:18px}.vsd-friend-profile-v3-about-meta{margin-left:18px;margin-right:18px}.vsd-friend-profile-v3-tagrow{margin-left:18px;margin-right:18px}.vsd-friend-profile-v3-next-card{margin-left:18px;margin-right:18px}.vsd-friend-profile-v3-service-list,.vsd-friend-profile-v3-friend-row,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-encounter-list{padding-left:18px!important;padding-right:18px!important}.vsd-friend-profile-v3-private{grid-template-columns:1fr;padding:18px}}


/* v4.00.09 · compacter profiel, meer zoals het goedgekeurde voorbeeld */
.vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2{margin-bottom:10px}
.vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2 .button{display:none!important}
.vsd-friend-profile-v3-shell{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
.vsd-friend-profile-v2-side{display:none!important}
.vsd-friend-profile-v3-main{gap:14px!important}
.vsd-friend-profile-v3-hero{border-radius:28px!important}
.vsd-friend-profile-v3-hero-top{padding:18px 22px 0!important}
.vsd-friend-profile-v3-hero-main{gap:18px!important;padding:14px 22px 0!important}
.vsd-friend-profile-v3-avatar{flex-basis:96px!important;width:96px!important;height:96px!important;border-radius:28px!important;padding:5px!important}
.vsd-friend-profile-v3-avatar img{border-radius:22px!important;border-width:3px!important}
.vsd-friend-profile-v3-copy{padding-bottom:0!important}
.vsd-friend-profile-v3-copy h2{font-size:34px!important;margin-bottom:8px!important}
.vsd-friend-profile-v3-sub{font-size:13px!important}
.vsd-friend-profile-v3-bio{margin-top:10px!important;font-size:14px!important;line-height:1.45!important;max-width:560px!important}
.vsd-friend-profile-v3-chips{margin-top:12px!important}
.vsd-friend-profile-v3-chips>span{min-height:33px!important;padding:7px 11px!important;font-size:11px!important}
.vsd-friend-profile-v3-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0!important;max-width:360px;align-self:center}
.vsd-friend-profile-v3-btn{min-height:42px!important;padding:10px 12px!important;border-radius:14px!important;font-size:12px!important}
.vsd-friend-profile-v3-status{margin:12px 22px 0!important;padding:9px 12px!important;font-size:11px!important}
.vsd-friend-profile-v3-counts{margin-top:14px!important}
.vsd-friend-profile-v3-counts span{padding:14px 14px!important}
.vsd-friend-profile-v3-counts strong{font-size:24px!important}
.vsd-friend-profile-v3-counts small{font-size:10px!important}
.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px!important}
.vsd-friend-profile-v3-stat-strip article{padding:13px 14px!important;border-radius:18px!important}
.vsd-friend-profile-v3-stat-strip .dashicons{flex-basis:38px!important;width:38px!important;height:38px!important;font-size:19px!important}
.vsd-friend-profile-v3-stat-strip strong{font-size:16px!important}
.vsd-friend-profile-v3-stat-strip small{font-size:11px!important}
.vsd-friend-profile-v3-stat-strip em{font-size:9px!important}
.vsd-friend-profile-v3-tabs{padding:6px!important;border-radius:16px!important}
.vsd-friend-profile-v3-tabs a{min-height:38px!important;padding:9px 14px!important;font-size:11px!important}
.vsd-friend-profile-v3-dashboard{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr)!important;gap:14px!important}
.vsd-friend-profile-v3-column{gap:14px!important}
.vsd-friend-profile-v3-card{border-radius:22px!important}
.vsd-friend-profile-v3-card-head{padding:18px 20px 0!important}
.vsd-friend-profile-v3-card-head h3{font-size:18px!important}
.vsd-friend-profile-v3-about-copy{margin:10px 20px 0!important;font-size:13px!important;line-height:1.6!important}
.vsd-friend-profile-v3-about-meta{margin:14px 20px 0!important;gap:10px!important}
.vsd-friend-profile-v3-about-meta span{padding:12px!important;border-radius:16px!important}
.vsd-friend-profile-v3-tagrow{margin:14px 20px 0!important}
.vsd-friend-profile-v3-next-card{margin:14px 20px 0!important;padding:15px!important;grid-template-columns:74px minmax(0,1fr)!important}
.vsd-friend-profile-v3-next-date strong{font-size:26px!important}.vsd-friend-profile-v3-next-title strong{font-size:19px!important}.vsd-friend-profile-v3-next-body p{font-size:13px!important}
.vsd-friend-profile-v3-next-meta span{min-height:32px!important;padding:6px 10px!important;font-size:10px!important}
.vsd-friend-profile-v3-service-list,.vsd-friend-profile-v3-friend-row,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-encounter-list{padding:14px 20px 20px!important}
.vsd-friend-profile-v3-badge-grid article{padding:12px!important;border-radius:16px!important}
.vsd-friend-profile-v3-mini-stats article{padding:12px!important;border-radius:16px!important}
.vsd-friend-profile-v3-mini-stats strong{font-size:20px!important}
@media(max-width:1280px){.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vsd-friend-profile-v3-dashboard{grid-template-columns:1fr!important}}
@media(max-width:960px){.vsd-friend-profile-v3-hero-main{grid-template-columns:1fr!important}.vsd-friend-profile-v3-actions{max-width:none}.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.vsd-friend-profile-v3-hero-top{padding:16px 16px 0!important}.vsd-friend-profile-v3-hero-main{padding:12px 16px 0!important}.vsd-friend-profile-v3-copy h2{font-size:28px!important}.vsd-friend-profile-v3-status{margin:10px 16px 0!important}.vsd-friend-profile-v3-counts span{padding:12px 10px!important}.vsd-friend-profile-v3-about-copy,.vsd-friend-profile-v3-about-meta,.vsd-friend-profile-v3-tagrow,.vsd-friend-profile-v3-next-card{margin-left:16px!important;margin-right:16px!important}.vsd-friend-profile-v3-service-list,.vsd-friend-profile-v3-friend-row,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-encounter-list{padding-left:16px!important;padding-right:16px!important}}
@media(max-width:560px){.vsd-friend-profile-v3-counts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-friend-profile-v3-stat-strip{grid-template-columns:1fr!important}.vsd-friend-profile-v3-actions{grid-template-columns:1fr!important}.vsd-friend-profile-v3-about-meta,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats{grid-template-columns:1fr!important}}


/* v4.00.10 · definitieve social-profielvorm volgens het goedgekeurde voorbeeld */
.vsd-social-profile-toolbar-v2{display:none!important}
.vsd-social-profile-page{max-width:1460px!important;margin-top:10px!important}
.vsd-friend-profile-v3-shell{display:block!important}
.vsd-friend-profile-v3-main{gap:12px!important}

/* Eén echte hero: omslagfoto + identiteit in dezelfde laag. Geen aparte blauwe onderhelft. */
.vsd-friend-profile-v3-hero.is-reference{position:relative!important;height:310px!important;min-height:310px!important;overflow:hidden!important;border-radius:24px!important;background:linear-gradient(135deg,#0b3d70,#247eb7)!important;box-shadow:0 16px 38px rgba(18,54,86,.13)!important}
.vsd-friend-profile-v3-hero.is-reference .vsd-friend-profile-v3-hero-media{position:absolute!important;inset:0!important;z-index:0!important}
.vsd-friend-profile-v3-hero.is-reference .vsd-friend-profile-v3-cover-image{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.vsd-friend-profile-v3-hero.is-reference .vsd-friend-profile-v3-cover-gradient{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(4,17,30,.06) 0%,rgba(4,17,30,.14) 42%,rgba(4,22,39,.72) 100%)!important}
.vsd-friend-profile-v3-cover-edit{position:absolute;z-index:3;right:20px;top:18px;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(10,27,46,.62);color:#fff;text-decoration:none;font-size:11px;font-weight:900;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.vsd-friend-profile-v3-cover-edit .dashicons{width:16px;height:16px;font-size:16px}
.vsd-friend-profile-v3-hero-content{position:absolute!important;z-index:2;left:22px;right:22px;bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px}
.vsd-friend-profile-v3-person{display:flex!important;align-items:flex-end!important;gap:18px!important;min-width:0!important}
.vsd-friend-profile-v3-avatar{position:relative!important;flex:0 0 112px!important;width:112px!important;height:112px!important;padding:0!important;border-radius:999px!important;background:transparent!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important}
.vsd-friend-profile-v3-avatar img{display:block!important;width:112px!important;height:112px!important;border-radius:999px!important;border:4px solid #fff!important;object-fit:cover!important;background:#e7eef4!important}
.vsd-friend-profile-v3-avatar>i{position:absolute!important;right:4px!important;bottom:8px!important;width:18px!important;height:18px!important;border:3px solid #fff!important;border-radius:50%!important;background:#98aab8!important}
.vsd-friend-profile-v3-avatar>i.is-live{background:#2fcf72!important}
.vsd-friend-profile-v3-copy{min-width:0!important;padding:0 0 5px!important}
.vsd-friend-profile-v3-copy h2{margin:0 0 7px!important;color:#fff!important;font-size:34px!important;line-height:1.02!important;letter-spacing:-.025em!important;text-shadow:0 2px 15px rgba(0,0,0,.18)}
.vsd-friend-profile-v3-sub{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important;margin:0!important;color:#fff!important;font-size:12px!important;font-weight:800!important}
.vsd-friend-profile-v3-sub .dashicons{width:15px!important;height:15px!important;font-size:15px!important}.vsd-friend-profile-v3-sub b{opacity:.55!important}
.vsd-friend-profile-v3-bio{max-width:650px!important;margin:8px 0 0!important;color:rgba(255,255,255,.92)!important;font-size:12px!important;line-height:1.45!important;font-style:normal!important;text-shadow:0 1px 8px rgba(0,0,0,.16)}
.vsd-friend-profile-v3-bio.is-placeholder{opacity:.75!important}
.vsd-friend-profile-v3-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;min-width:0!important;max-width:none!important;padding:0 0 5px!important}
.vsd-friend-profile-v3-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:40px!important;padding:9px 13px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;background:rgba(16,43,69,.54)!important;color:#fff!important;text-decoration:none!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.vsd-friend-profile-v3-btn.is-primary{background:#0d79e8!important;border-color:#0d79e8!important;color:#fff!important;box-shadow:0 6px 18px rgba(13,121,232,.28)!important}
.vsd-friend-profile-v3-btn .dashicons{width:16px!important;height:16px!important;font-size:16px!important}
/* oude hero-elementen uit eerdere proefversies nooit meer tonen */
.vsd-friend-profile-v3-hero>.vsd-friend-profile-v3-status,.vsd-friend-profile-v3-hero>.vsd-friend-profile-v3-counts,.vsd-friend-profile-v3-hero>.vsd-friend-profile-v3-hero-top,.vsd-friend-profile-v3-hero>.vsd-friend-profile-v3-hero-main{display:none!important}

/* Statistieken direct onder de hero, zoals het referentieontwerp. */
.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important}
.vsd-friend-profile-v3-stat-strip article{min-width:0!important;padding:12px 13px!important;border-radius:16px!important;background:#fff!important;border:1px solid #e0e9f0!important;box-shadow:0 7px 20px rgba(17,56,88,.045)!important}
.vsd-friend-profile-v3-stat-strip .dashicons{flex:0 0 36px!important;width:36px!important;height:36px!important;border-radius:12px!important;font-size:18px!important;background:#eaf5fd!important;color:#1671af!important}
.vsd-friend-profile-v3-stat-strip strong{font-size:16px!important}.vsd-friend-profile-v3-stat-strip small{font-size:10px!important}.vsd-friend-profile-v3-stat-strip em{font-size:8px!important}

.vsd-friend-profile-v3-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:5px!important;border-radius:15px!important;background:#eef4f8!important}
.vsd-friend-profile-v3-tabs a{display:flex!important;gap:7px!important;min-height:38px!important;padding:8px 10px!important;border-radius:11px!important;font-size:10px!important}.vsd-friend-profile-v3-tabs a .dashicons{width:15px;height:15px;font-size:15px}
.vsd-friend-profile-v3-tabs a.is-active{background:#0d79e8!important;color:#fff!important;box-shadow:0 5px 14px rgba(13,121,232,.22)!important}

/* Tweedelige social feed: ongeveer 60/40 zoals het gekozen voorbeeld. */
.vsd-friend-profile-v3-dashboard{grid-template-columns:minmax(0,1.42fr) minmax(310px,.92fr)!important;gap:12px!important}
.vsd-friend-profile-v3-column{gap:12px!important}.vsd-friend-profile-v3-card{border-radius:18px!important;box-shadow:0 8px 24px rgba(17,55,86,.045)!important}
.vsd-friend-profile-v3-card-head{padding:16px 17px 0!important}.vsd-friend-profile-v3-card-head h3{font-size:17px!important}.vsd-friend-profile-v3-card-head a,.vsd-friend-profile-v3-card-note{font-size:9px!important}
.vsd-friend-profile-v3-about{padding-bottom:17px!important}.vsd-friend-profile-v3-about-copy{margin:9px 17px 0!important;font-size:11px!important;line-height:1.55!important}.vsd-friend-profile-v3-about-meta{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:12px 17px 0!important}.vsd-friend-profile-v3-about-meta span{padding:10px!important;border-radius:13px!important}.vsd-friend-profile-v3-about-meta b{font-size:11px!important}.vsd-friend-profile-v3-about-meta small{font-size:8px!important}.vsd-friend-profile-v3-tagrow{margin:10px 17px 0!important;gap:6px!important}.vsd-friend-profile-v3-tagrow span{min-height:25px!important;padding:5px 9px!important;font-size:8px!important}

.vsd-friend-profile-v3-next{padding-bottom:16px!important}.vsd-friend-profile-v3-next-card{grid-template-columns:58px minmax(0,1fr) 138px!important;gap:12px!important;margin:11px 17px 0!important;padding:11px!important;border-radius:15px!important}.vsd-friend-profile-v3-next-date{padding:8px!important;border-radius:12px!important}.vsd-friend-profile-v3-next-date small{font-size:8px!important}.vsd-friend-profile-v3-next-date strong{font-size:22px!important}.vsd-friend-profile-v3-next-date span{font-size:8px!important}.vsd-friend-profile-v3-next-title strong{font-size:17px!important}.vsd-friend-profile-v3-next-body{gap:6px!important}.vsd-friend-profile-v3-next-body p{font-size:10px!important}.vsd-friend-profile-v3-next-meta{gap:6px!important}.vsd-friend-profile-v3-next-meta span{min-height:26px!important;padding:5px 8px!important;font-size:8px!important}.vsd-friend-profile-v3-next-media{display:grid;place-items:center;overflow:hidden;min-height:72px;border-radius:12px;background:#fff;border:1px solid #dce7ef}.vsd-friend-profile-v3-next-media img{display:block;max-width:126px;max-height:64px;object-fit:contain}

.vsd-friend-profile-v3-service-list{gap:6px!important;padding:10px 17px 16px!important}.vsd-friend-profile-v3-service-list article{padding:8px 10px!important;border-radius:12px!important}.vsd-friend-profile-v3-service-icon{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:10px!important;font-size:15px!important}.vsd-friend-profile-v3-service-copy strong{font-size:10px!important}.vsd-friend-profile-v3-service-copy span{font-size:8px!important}
.vsd-friend-profile-v3-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;padding:10px 17px 16px!important}.vsd-friend-profile-v3-badge-grid article{justify-items:center!important;text-align:center!important;padding:9px 5px!important;border-radius:13px!important}.vsd-friend-profile-v3-badge-icon{width:38px!important;height:38px!important;border-radius:12px!important}.vsd-friend-profile-v3-badge-grid strong{font-size:8px!important}
.vsd-friend-profile-v3-mini-stats{gap:7px!important;padding:10px 17px 16px!important}.vsd-friend-profile-v3-mini-stats article{padding:10px!important;border-radius:13px!important}.vsd-friend-profile-v3-mini-stats strong{font-size:18px!important}.vsd-friend-profile-v3-mini-stats span{font-size:9px!important}.vsd-friend-profile-v3-mini-stats small{font-size:7px!important}
.vsd-friend-profile-v3-encounter-list{gap:7px!important;padding:10px 17px 16px!important}.vsd-friend-profile-v3-encounter-list article{padding:8px!important;border-radius:12px!important}.vsd-friend-profile-v3-encounter-list .dashicons{width:30px!important;height:30px!important;border-radius:10px!important;font-size:15px!important}.vsd-friend-profile-v3-encounter-list strong{font-size:9px!important}.vsd-friend-profile-v3-encounter-list small{font-size:7px!important}
.vsd-friend-profile-v3-friends{padding-bottom:14px!important}.vsd-friend-profile-v3-friend-row{gap:6px!important;padding:10px 17px 0!important}.vsd-friend-profile-v3-friend-row a,.vsd-friend-profile-v3-friend-more{width:38px!important;height:38px!important;border-radius:50%!important}
.vsd-friend-profile-v3-history{margin-top:0!important}

@media(max-width:1220px){.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vsd-friend-profile-v3-dashboard{grid-template-columns:1fr!important}.vsd-friend-profile-v3-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:860px){.vsd-friend-profile-v3-hero.is-reference{height:330px!important;min-height:330px!important}.vsd-friend-profile-v3-hero-content{align-items:flex-end!important}.vsd-friend-profile-v3-person{align-items:flex-end!important}.vsd-friend-profile-v3-actions{flex-direction:column!important;align-items:stretch!important}.vsd-friend-profile-v3-btn{min-width:150px!important}.vsd-friend-profile-v3-about-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-friend-profile-v3-next-card{grid-template-columns:58px minmax(0,1fr)!important}.vsd-friend-profile-v3-next-media{grid-column:1/-1;min-height:60px}.vsd-friend-profile-v3-tabs{grid-template-columns:repeat(5,minmax(100px,1fr))!important;overflow-x:auto!important}}
@media(max-width:640px){.vsd-friend-profile-v3-hero.is-reference{height:410px!important;min-height:410px!important;border-radius:18px!important}.vsd-friend-profile-v3-cover-edit{right:12px;top:12px;font-size:9px;padding:7px 10px}.vsd-friend-profile-v3-hero-content{left:14px;right:14px;bottom:14px;display:grid!important;gap:12px!important}.vsd-friend-profile-v3-person{align-items:center!important}.vsd-friend-profile-v3-avatar{flex-basis:82px!important;width:82px!important;height:82px!important}.vsd-friend-profile-v3-avatar img{width:82px!important;height:82px!important}.vsd-friend-profile-v3-copy h2{font-size:24px!important}.vsd-friend-profile-v3-sub{font-size:10px!important}.vsd-friend-profile-v3-bio{font-size:10px!important}.vsd-friend-profile-v3-actions{display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:unset!important}.vsd-friend-profile-v3-btn{min-width:0!important;font-size:9px!important}.vsd-friend-profile-v3-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-friend-profile-v3-about-meta{grid-template-columns:1fr 1fr!important}.vsd-friend-profile-v3-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vsd-friend-profile-v3-next-card{grid-template-columns:1fr!important}.vsd-friend-profile-v3-next-date{justify-items:start!important}.vsd-friend-profile-v3-tabs{grid-template-columns:repeat(5,120px)!important}.vsd-friend-profile-v3-card-head{padding:14px 14px 0!important}.vsd-friend-profile-v3-about-copy{margin-left:14px!important;margin-right:14px!important}.vsd-friend-profile-v3-about-meta,.vsd-friend-profile-v3-tagrow,.vsd-friend-profile-v3-next-card{margin-left:14px!important;margin-right:14px!important}.vsd-friend-profile-v3-service-list,.vsd-friend-profile-v3-friend-row,.vsd-friend-profile-v3-badge-grid,.vsd-friend-profile-v3-mini-stats,.vsd-friend-profile-v3-encounter-list{padding-left:14px!important;padding-right:14px!important}}


/* v4.00.11 · responsive social-profiel voor iPad + telefoon
   Alleen layout/schaal. Desktop-reference en profieldata blijven inhoudelijk ongewijzigd. */
.vsd-social-profile-page,
.vsd-friend-profile-v3,
.vsd-friend-profile-v3-main,
.vsd-friend-profile-v3-dashboard,
.vsd-friend-profile-v3-column{min-width:0}

@media (max-width: 1100px){
  .vsd-friend-profile-v3{padding-bottom:88px!important}
  .vsd-friend-profile-v3-main{gap:12px!important}
  .vsd-friend-profile-v3-hero.is-reference{
    height:286px!important;
    min-height:286px!important;
    border-radius:22px!important;
  }
  .vsd-friend-profile-v3-cover-edit{
    top:14px!important;
    right:14px!important;
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:9px!important;
  }
  .vsd-friend-profile-v3-hero-content{
    left:18px!important;
    right:18px!important;
    bottom:16px!important;
    gap:15px!important;
  }
  .vsd-friend-profile-v3-person{gap:13px!important;min-width:0!important}
  .vsd-friend-profile-v3-avatar{
    flex:0 0 92px!important;
    width:92px!important;
    height:92px!important;
  }
  .vsd-friend-profile-v3-avatar img{
    width:92px!important;
    height:92px!important;
  }
  .vsd-friend-profile-v3-copy h2{
    font-size:29px!important;
    line-height:1.04!important;
  }
  .vsd-friend-profile-v3-sub{font-size:10px!important}
  .vsd-friend-profile-v3-bio{
    max-width:470px!important;
    margin-top:6px!important;
    font-size:10px!important;
    line-height:1.4!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  .vsd-friend-profile-v3-actions{
    flex:0 0 auto!important;
    gap:7px!important;
  }
  .vsd-friend-profile-v3-btn{
    min-width:126px!important;
    min-height:36px!important;
    padding:7px 10px!important;
    font-size:9px!important;
  }

  .vsd-friend-profile-v3-stat-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .vsd-friend-profile-v3-stat-strip article{
    min-height:68px!important;
    padding:10px 11px!important;
  }

  .vsd-friend-profile-v3-tabs{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .vsd-friend-profile-v3-tabs::-webkit-scrollbar{display:none!important}
  .vsd-friend-profile-v3-tabs a{
    flex:0 0 auto!important;
    min-width:108px!important;
    min-height:38px!important;
  }

  .vsd-friend-profile-v3-dashboard{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .vsd-friend-profile-v3-column{gap:12px!important}
  .vsd-friend-profile-v3-badge-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-about-meta{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-next-card{
    grid-template-columns:58px minmax(0,1fr) 118px!important;
  }
  .vsd-friend-profile-v3-next-media img{
    max-width:108px!important;
    max-height:58px!important;
  }
}

@media (max-width: 780px){
  .vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2>div>span{
    font-size:9px!important;
  }

  .vsd-friend-profile-v3-hero.is-reference{
    height:278px!important;
    min-height:278px!important;
    border-radius:20px!important;
  }
  .vsd-friend-profile-v3-hero-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:end!important;
    left:15px!important;
    right:15px!important;
    bottom:13px!important;
    gap:9px!important;
  }
  .vsd-friend-profile-v3-person{
    align-items:flex-end!important;
    gap:11px!important;
  }
  .vsd-friend-profile-v3-avatar{
    flex-basis:78px!important;
    width:78px!important;
    height:78px!important;
    padding:3px!important;
    border-radius:24px!important;
  }
  .vsd-friend-profile-v3-avatar img{
    width:78px!important;
    height:78px!important;
    border-radius:21px!important;
  }
  .vsd-friend-profile-v3-avatar>i{
    right:2px!important;
    bottom:3px!important;
    width:14px!important;
    height:14px!important;
  }
  .vsd-friend-profile-v3-copy h2{
    margin-bottom:4px!important;
    font-size:24px!important;
  }
  .vsd-friend-profile-v3-sub{
    gap:5px!important;
    font-size:9px!important;
  }
  .vsd-friend-profile-v3-bio{
    max-width:none!important;
    margin-top:4px!important;
    font-size:9px!important;
  }
  .vsd-friend-profile-v3-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
  }
  .vsd-friend-profile-v3-btn{
    min-width:0!important;
    min-height:34px!important;
    border-radius:10px!important;
    font-size:8px!important;
  }

  .vsd-friend-profile-v3-stat-strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .vsd-friend-profile-v3-stat-strip article{
    min-height:62px!important;
    gap:9px!important;
    padding:9px 10px!important;
  }
  .vsd-friend-profile-v3-stat-strip .dashicons{
    flex-basis:32px!important;
    width:32px!important;
    height:32px!important;
    font-size:16px!important;
  }
  .vsd-friend-profile-v3-stat-strip strong{font-size:14px!important}
  .vsd-friend-profile-v3-stat-strip small{font-size:9px!important}
  .vsd-friend-profile-v3-stat-strip em{font-size:7px!important}

  .vsd-friend-profile-v3-about-meta{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-badge-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-next-card{
    grid-template-columns:54px minmax(0,1fr)!important;
  }
  .vsd-friend-profile-v3-next-media{
    grid-column:1/-1!important;
    min-height:54px!important;
  }
  .vsd-friend-profile-v3-next-media img{
    max-width:116px!important;
    max-height:50px!important;
  }
}

@media (max-width: 560px){
  .vsd-friends-page{padding-left:10px!important;padding-right:10px!important}
  .vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2{
    margin-bottom:7px!important;
  }
  .vsd-social-profile-toolbar.vsd-social-profile-toolbar-v2 strong{
    font-size:17px!important;
  }

  .vsd-friend-profile-v3{padding-top:2px!important}
  .vsd-friend-profile-v3-main{gap:9px!important}

  .vsd-friend-profile-v3-hero.is-reference{
    height:252px!important;
    min-height:252px!important;
    border-radius:16px!important;
  }
  .vsd-friend-profile-v3-hero.is-reference .vsd-friend-profile-v3-cover-image{
    object-position:center center!important;
  }
  .vsd-friend-profile-v3-cover-gradient{
    background:linear-gradient(180deg,rgba(4,17,30,.04) 0%,rgba(4,17,30,.18) 38%,rgba(4,22,39,.82) 100%)!important;
  }
  .vsd-friend-profile-v3-cover-edit{
    top:9px!important;
    right:9px!important;
    min-width:34px!important;
    min-height:32px!important;
    padding:7px 8px!important;
    border-radius:10px!important;
    font-size:0!important;
  }
  .vsd-friend-profile-v3-cover-edit .dashicons{
    width:17px!important;
    height:17px!important;
    font-size:17px!important;
  }

  .vsd-friend-profile-v3-hero-content{
    left:11px!important;
    right:11px!important;
    bottom:10px!important;
    gap:7px!important;
  }
  .vsd-friend-profile-v3-person{
    align-items:center!important;
    gap:9px!important;
  }
  .vsd-friend-profile-v3-avatar{
    flex:0 0 64px!important;
    width:64px!important;
    height:64px!important;
    padding:2px!important;
    border-radius:20px!important;
  }
  .vsd-friend-profile-v3-avatar img{
    width:64px!important;
    height:64px!important;
    border-width:2px!important;
    border-radius:18px!important;
  }
  .vsd-friend-profile-v3-avatar>i{
    width:12px!important;
    height:12px!important;
    border-width:2px!important;
  }
  .vsd-friend-profile-v3-copy h2{
    margin:0 0 3px!important;
    font-size:20px!important;
    line-height:1.05!important;
  }
  .vsd-friend-profile-v3-sub{
    display:flex!important;
    gap:4px!important;
    font-size:8px!important;
    line-height:1.25!important;
  }
  .vsd-friend-profile-v3-sub .dashicons{
    width:12px!important;
    height:12px!important;
    font-size:12px!important;
  }
  .vsd-friend-profile-v3-bio{
    margin-top:3px!important;
    font-size:8px!important;
    line-height:1.3!important;
    -webkit-line-clamp:1!important;
  }
  .vsd-friend-profile-v3-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .vsd-friend-profile-v3-btn{
    min-height:31px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:7.5px!important;
  }
  .vsd-friend-profile-v3-btn .dashicons{
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
  }

  /* Op een telefoon wordt dit een horizontale social-statstrip in plaats van zes hoge kaarten. */
  .vsd-friend-profile-v3-stat-strip{
    display:flex!important;
    grid-template-columns:none!important;
    gap:7px!important;
    overflow-x:auto!important;
    padding:1px 0 3px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .vsd-friend-profile-v3-stat-strip::-webkit-scrollbar{display:none!important}
  .vsd-friend-profile-v3-stat-strip article{
    flex:0 0 142px!important;
    min-height:58px!important;
    scroll-snap-align:start!important;
    border-radius:14px!important;
  }

  .vsd-friend-profile-v3-tabs{
    gap:4px!important;
    padding:4px!important;
    border-radius:13px!important;
  }
  .vsd-friend-profile-v3-tabs a{
    min-width:92px!important;
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:9px!important;
    font-size:8px!important;
  }
  .vsd-friend-profile-v3-tabs a .dashicons{
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
  }

  .vsd-friend-profile-v3-card{
    border-radius:15px!important;
  }
  .vsd-friend-profile-v3-card-head{
    padding:12px 12px 0!important;
  }
  .vsd-friend-profile-v3-card-head h3{
    font-size:15px!important;
  }
  .vsd-friend-profile-v3-card-head a,
  .vsd-friend-profile-v3-card-note{
    font-size:8px!important;
  }
  .vsd-friend-profile-v3-about-copy{
    margin:7px 12px 0!important;
    font-size:10px!important;
  }
  .vsd-friend-profile-v3-about-meta{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    margin:9px 12px 0!important;
  }
  .vsd-friend-profile-v3-about-meta span{
    min-width:0!important;
    padding:8px!important;
    border-radius:11px!important;
  }
  .vsd-friend-profile-v3-about-meta b{
    overflow:hidden!important;
    font-size:9px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .vsd-friend-profile-v3-about-meta small{font-size:7px!important}
  .vsd-friend-profile-v3-tagrow{
    margin:8px 12px 0!important;
    gap:5px!important;
  }
  .vsd-friend-profile-v3-tagrow span{
    min-height:23px!important;
    padding:4px 7px!important;
    font-size:7px!important;
  }

  .vsd-friend-profile-v3-next{
    padding-bottom:12px!important;
  }
  .vsd-friend-profile-v3-next-card{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:8px!important;
    margin:8px 12px 0!important;
    padding:9px!important;
    border-radius:12px!important;
  }
  .vsd-friend-profile-v3-next-date{
    padding:6px!important;
    border-radius:10px!important;
  }
  .vsd-friend-profile-v3-next-date strong{font-size:18px!important}
  .vsd-friend-profile-v3-next-title strong{font-size:14px!important}
  .vsd-friend-profile-v3-next-body p{font-size:8px!important}
  .vsd-friend-profile-v3-next-meta{
    gap:4px!important;
  }
  .vsd-friend-profile-v3-next-meta span{
    min-height:23px!important;
    padding:4px 6px!important;
    font-size:7px!important;
  }
  .vsd-friend-profile-v3-next-media{
    grid-column:1/-1!important;
    min-height:48px!important;
  }
  .vsd-friend-profile-v3-next-media img{
    max-width:104px!important;
    max-height:44px!important;
  }

  .vsd-friend-profile-v3-service-list{
    gap:5px!important;
    padding:8px 12px 12px!important;
  }
  .vsd-friend-profile-v3-service-list article{
    grid-template-columns:28px minmax(0,1fr) auto!important;
    gap:7px!important;
    padding:7px 8px!important;
  }
  .vsd-friend-profile-v3-service-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .vsd-friend-profile-v3-service-copy strong{font-size:9px!important}
  .vsd-friend-profile-v3-service-copy span{font-size:7px!important}
  .vsd-friend-profile-v3-service-side .vsd-profile-service-badges>span{
    font-size:6px!important;
    padding:3px 5px!important;
  }

  .vsd-friend-profile-v3-badge-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px 12px 12px!important;
  }
  .vsd-friend-profile-v3-badge-grid article{
    padding:8px 5px!important;
  }
  .vsd-friend-profile-v3-badge-icon{
    width:34px!important;
    height:34px!important;
  }
  .vsd-friend-profile-v3-badge-grid strong{
    font-size:7.5px!important;
  }

  .vsd-friend-profile-v3-mini-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px 12px 12px!important;
  }
  .vsd-friend-profile-v3-mini-stats article{
    padding:8px!important;
  }
  .vsd-friend-profile-v3-mini-stats strong{font-size:16px!important}

  .vsd-friend-profile-v3-encounter-list,
  .vsd-friend-profile-v3-friend-row{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .vsd-friend-profile-v3-history .vsd-profile-service-disclosure>summary{
    grid-template-columns:minmax(0,1fr) auto 15px!important;
    gap:6px!important;
    padding:9px 11px!important;
  }
  .vsd-friend-profile-v3-history .vsd-profile-service-disclosure>summary strong{
    font-size:9px!important;
  }
  .vsd-friend-profile-v3-history .vsd-profile-service-disclosure>summary>b{
    font-size:6px!important;
  }
}


/* v4.00.12 · telefoonprofiel zonder horizontaal scrollende profielonderdelen
   Alleen responsive profiel-layout; desktop, diensten, ritten en overige app-logica blijven ongemoeid. */
@media (max-width: 640px){
  .vsd-social-profile-page,
  .vsd-friend-profile-v3,
  .vsd-friend-profile-v3-shell,
  .vsd-friend-profile-v3-main,
  .vsd-friend-profile-v3-dashboard,
  .vsd-friend-profile-v3-column{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  /* Header korter en rustiger: foto blijft de hero, profielinfo ligt compact onderin. */
  .vsd-friend-profile-v3-hero.is-reference{
    height:238px!important;
    min-height:238px!important;
    border-radius:17px!important;
  }
  .vsd-friend-profile-v3-hero-content{
    left:10px!important;
    right:10px!important;
    bottom:9px!important;
    gap:6px!important;
  }
  .vsd-friend-profile-v3-person{
    gap:8px!important;
    min-width:0!important;
  }
  .vsd-friend-profile-v3-avatar{
    flex:0 0 58px!important;
    width:58px!important;
    height:58px!important;
    padding:2px!important;
  }
  .vsd-friend-profile-v3-avatar img{
    width:58px!important;
    height:58px!important;
  }
  .vsd-friend-profile-v3-copy{
    min-width:0!important;
  }
  .vsd-friend-profile-v3-copy h2{
    overflow:hidden!important;
    font-size:19px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .vsd-friend-profile-v3-sub{
    overflow:hidden!important;
    max-width:100%!important;
    font-size:7.5px!important;
    white-space:nowrap!important;
  }
  .vsd-friend-profile-v3-bio{
    max-width:100%!important;
    font-size:7.5px!important;
    -webkit-line-clamp:1!important;
  }
  .vsd-friend-profile-v3-actions{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-btn{
    width:100%!important;
    min-width:0!important;
  }

  /* Geen horizontale carrousel meer: statistieken worden een 2xN raster. */
  .vsd-friend-profile-v3-stat-strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    padding:0!important;
  }
  .vsd-friend-profile-v3-stat-strip article{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    min-height:60px!important;
    scroll-snap-align:none!important;
  }
  .vsd-friend-profile-v3-stat-strip article:nth-child(n){
    display:flex!important;
  }

  /* Tabs staan op telefoon gewoon in twee rijen, dus ook hier geen zijwaarts swipen. */
  .vsd-friend-profile-v3-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    overflow:visible!important;
    padding:5px!important;
  }
  .vsd-friend-profile-v3-tabs a{
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 4px!important;
    gap:4px!important;
    overflow:hidden!important;
    font-size:7.5px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* De rest van de profielkaarten blijft binnen het scherm. */
  .vsd-friend-profile-v3-about-meta,
  .vsd-friend-profile-v3-badge-grid,
  .vsd-friend-profile-v3-mini-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-card,
  .vsd-friend-profile-v3-next-card,
  .vsd-friend-profile-v3-service-list article,
  .vsd-friend-profile-v3-about-meta span,
  .vsd-friend-profile-v3-badge-grid article,
  .vsd-friend-profile-v3-mini-stats article{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Vrienden: avatars wrappen in plaats van een horizontale rij buiten beeld. */
  .vsd-friend-profile-v3-friend-row{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    gap:7px!important;
  }

  /* Tags wrappen eveneens gewoon naar de volgende regel. */
  .vsd-friend-profile-v3-tagrow{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
  }

  /* Lange tekst/status kan nooit de viewport breder maken. */
  .vsd-friend-profile-v3-service-copy,
  .vsd-friend-profile-v3-next-body,
  .vsd-friend-profile-v3-card-head,
  .vsd-profile-service-disclosure>summary>span{
    min-width:0!important;
  }
  .vsd-friend-profile-v3-service-copy strong,
  .vsd-friend-profile-v3-service-copy span,
  .vsd-friend-profile-v3-next-body p{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media (max-width: 390px){
  .vsd-friend-profile-v3-stat-strip{
    grid-template-columns:1fr 1fr!important;
  }
  .vsd-friend-profile-v3-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-about-meta,
  .vsd-friend-profile-v3-badge-grid,
  .vsd-friend-profile-v3-mini-stats{
    grid-template-columns:1fr 1fr!important;
  }
}

/* v4.00.13 · duidelijke dienstscheiding + compact live "nu bezig" profielblok */
.vsd-friend-profile-v3-card-sub{margin:5px 0 0;color:#7790a3;font-size:11px;line-height:1.45}
.vsd-friend-profile-v3-current{overflow:hidden;border-color:#cfe9db!important;background:linear-gradient(180deg,#fff,#f8fffb)!important}
.vsd-friend-profile-v3-current-accent{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#e9f8f0;color:#227a4f;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.vsd-friend-profile-v3-current-accent .vsd-live-dot{width:9px;height:9px;border-radius:50%;background:#2fc878;box-shadow:0 0 0 5px rgba(47,200,120,.12)}
.vsd-friend-profile-v3-current-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px 18px}
.vsd-friend-profile-v3-current-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#e6f5ed;color:#257a52;font-size:22px}
.vsd-friend-profile-v3-current-copy{min-width:0}.vsd-friend-profile-v3-current-copy>small{display:block;color:#7892a4;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.vsd-friend-profile-v3-current-copy h3{margin:3px 0 4px;color:#143f66;font-size:20px}.vsd-friend-profile-v3-current-copy>p{margin:0;color:#526f84;font-size:12px;font-weight:800}
.vsd-friend-profile-v3-current-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.vsd-friend-profile-v3-current-meta span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dbe9e2;color:#55758a;font-size:9px;font-weight:800}.vsd-friend-profile-v3-current-meta i{width:13px;height:13px;font-size:13px;color:#327a59}
.vsd-friend-profile-v3-current-side{display:grid;justify-items:end;gap:8px}.vsd-friend-profile-v3-current-side>span,.vsd-friend-profile-v3-current-side>mark{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;border:0;background:#dff5e8;color:#1e7a4c;font-size:9px;font-weight:950;text-decoration:none}.vsd-friend-profile-v3-current-side>mark{background:#fff0df;color:#a85d12}.vsd-friend-profile-v3-current-side>a{color:#1d5c88;font-size:10px;font-weight:900;text-decoration:none}.vsd-friend-profile-v3-current-side>a:hover{text-decoration:underline}

.vsd-friend-profile-v3-services-list.is-separated{padding-bottom:12px}.vsd-friend-profile-v3-service-groups{display:grid;gap:12px;padding:14px 20px 18px}.vsd-friend-profile-v3-service-group{overflow:hidden;border:1px solid #e1ebf2;border-radius:18px;background:#fbfdfe}.vsd-friend-profile-v3-service-group.is-upcoming{border-color:#d9e7f4;background:#f9fcff}.vsd-friend-profile-v3-service-group.is-past{background:#fbfcfd}.vsd-friend-profile-v3-service-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid #e8eff4}.vsd-friend-profile-v3-service-group-head>span{display:inline-flex;align-items:center;gap:7px;color:#204e71}.vsd-friend-profile-v3-service-group-head i{width:16px;height:16px;font-size:16px}.vsd-friend-profile-v3-service-group-head strong{font-size:12px}.vsd-friend-profile-v3-service-group-head>b{padding:4px 7px;border-radius:999px;background:#edf4f9;color:#668298;font-size:8px}.vsd-friend-profile-v3-service-group .vsd-friend-profile-v3-service-list{padding:9px!important;gap:7px!important}.vsd-friend-profile-v3-service-group .vsd-friend-empty-inline{margin:0;padding:12px 13px}
.vsd-profile-timeframe{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border:0;border-radius:999px;font-size:7px;font-weight:950;text-decoration:none;text-transform:uppercase}.vsd-profile-timeframe.is-upcoming{background:#e5f2ff;color:#1767a0}.vsd-profile-timeframe.is-past{background:#edf1f4;color:#607586}.vsd-friend-profile-v3-service-side{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.vsd-friend-profile-v3-service-side .vsd-profile-service-badges{margin:0!important;padding:0!important}
.vsd-friend-profile-v3-live-panel{padding-bottom:18px}.vsd-friend-profile-v3-live-panel>.vsd-friend-live-service{margin:14px 18px 0;border-radius:18px}

@media(max-width:780px){
  .vsd-friend-profile-v3-current-body{grid-template-columns:auto minmax(0,1fr);padding:13px 14px 15px}.vsd-friend-profile-v3-current-side{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;padding-left:58px}.vsd-friend-profile-v3-service-groups{padding:10px 14px 14px}.vsd-friend-profile-v3-service-side{grid-column:1/-1;justify-content:flex-start}.vsd-friend-profile-v3-live-panel>.vsd-friend-live-service{margin:10px 12px 0}
}
@media(max-width:560px){
  .vsd-friend-profile-v3-card-sub{font-size:8px}.vsd-friend-profile-v3-current-accent{padding:8px 12px;font-size:8px}.vsd-friend-profile-v3-current-body{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px 12px 12px}.vsd-friend-profile-v3-current-icon{width:38px;height:38px;border-radius:12px;font-size:18px}.vsd-friend-profile-v3-current-copy h3{font-size:15px}.vsd-friend-profile-v3-current-copy>p{font-size:9px}.vsd-friend-profile-v3-current-meta{gap:4px;margin-top:6px}.vsd-friend-profile-v3-current-meta span{min-height:23px;padding:4px 6px;font-size:7px}.vsd-friend-profile-v3-current-side{padding-left:47px;gap:6px}.vsd-friend-profile-v3-current-side>span,.vsd-friend-profile-v3-current-side>mark{min-height:23px;padding:4px 7px;font-size:7px}.vsd-friend-profile-v3-current-side>a{font-size:8px}.vsd-friend-profile-v3-service-groups{gap:8px;padding:8px 12px 12px}.vsd-friend-profile-v3-service-group{border-radius:13px}.vsd-friend-profile-v3-service-group-head{padding:8px 9px}.vsd-friend-profile-v3-service-group-head strong{font-size:9px}.vsd-friend-profile-v3-service-group-head>b{font-size:6px}.vsd-profile-timeframe{min-height:19px;padding:3px 5px;font-size:6px}.vsd-friend-profile-v3-live-panel>.vsd-friend-live-service{margin:8px 10px 0}
}

/* v4.00.16 · live profielstatus, spoorjaar, premium badges en persoonlijke top-5 */
.vsd-friend-profile-v3-current.is-prominent{position:relative;overflow:hidden;border:1px solid #bfe7d3!important;background:linear-gradient(135deg,#0d5c48 0%,#12765d 44%,#1f8f70 100%)!important;color:#fff!important;box-shadow:0 18px 38px rgba(15,101,77,.16)!important}
.vsd-friend-profile-v3-current.is-prominent:after{content:"";position:absolute;right:-60px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-accent{position:relative;z-index:1;display:flex;align-items:center;gap:9px;padding:11px 18px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#dff9ec}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-accent strong{color:#fff}
.vsd-friend-profile-v3-current-service{margin-left:auto;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:#effff7;font-size:9px;font-weight:900;letter-spacing:.03em}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-body{position:relative;z-index:1;grid-template-columns:58px minmax(0,1fr) auto;padding:18px 20px 20px}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-icon{width:58px;height:58px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.14);color:#fff;font-size:27px}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-copy>small{color:#bfead7}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-copy h3{margin:4px 0;color:#fff;font-size:25px}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-copy>p{color:#d9f3e7;font-size:13px}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-meta span{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.1);color:#effff7}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-meta i{color:#dff9ec}
.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>span{background:#dff8e9;color:#176a48}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>mark{background:#fff0d8;color:#a65b09}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>a{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:11px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>a .dashicons{width:15px;height:15px;font-size:15px}

/* Premium badges: echte medailles in plaats van administratieve kaartjes. */
.vsd-friend-profile-v3-badge-grid.is-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:14px 18px 18px!important}
.vsd-friend-profile-v3-badge-grid.is-premium article{position:relative;isolation:isolate;display:grid!important;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:11px;min-height:92px;overflow:hidden;padding:12px!important;border:1px solid #dce7ef!important;border-radius:18px!important;background:linear-gradient(145deg,#ffffff,#f5f9fc)!important;text-align:left!important;box-shadow:0 9px 20px rgba(16,55,88,.055)}
.vsd-friend-profile-v3-badge-grid.is-premium article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#4a8fbd;z-index:-1}
.vsd-friend-profile-v3-badge-grid.is-premium article.is-gold{border-color:#ecd79a!important;background:linear-gradient(145deg,#fffdf5,#fff5d6)!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-gold:before{background:#d5971b}.vsd-friend-profile-v3-badge-grid.is-premium article.is-silver{border-color:#d8e0e6!important;background:linear-gradient(145deg,#fff,#edf2f5)!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-silver:before{background:#8096a7}.vsd-friend-profile-v3-badge-grid.is-premium article.is-bronze{border-color:#ead9ca!important;background:linear-gradient(145deg,#fffaf6,#f8eee6)!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-bronze:before{background:#b8753f}.vsd-friend-profile-v3-badge-grid.is-premium article.is-role{border-color:#cce2f1!important;background:linear-gradient(145deg,#fafdff,#eaf5fc)!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-role:before{background:#2478ae}
.vsd-badge-sheen{position:absolute;right:-18px;top:-28px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.55);z-index:-1}
.vsd-friend-profile-v3-badge-grid.is-premium .vsd-friend-profile-v3-badge-icon{display:grid!important;place-items:center;width:52px!important;height:52px!important;border:1px solid rgba(255,255,255,.8);border-radius:17px!important;background:linear-gradient(145deg,#e3f2fd,#c9e4f7)!important;color:#0c65a2!important;box-shadow:inset 0 0 0 1px rgba(17,91,139,.06),0 6px 14px rgba(17,91,139,.10)}
.vsd-friend-profile-v3-badge-grid.is-premium article.is-gold .vsd-friend-profile-v3-badge-icon{background:linear-gradient(145deg,#fff1b8,#f0c762)!important;color:#8b5b05!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-silver .vsd-friend-profile-v3-badge-icon{background:linear-gradient(145deg,#f7fafc,#ccd8df)!important;color:#526a7c!important}.vsd-friend-profile-v3-badge-grid.is-premium article.is-bronze .vsd-friend-profile-v3-badge-icon{background:linear-gradient(145deg,#f8e4d3,#dca77b)!important;color:#84491f!important}
.vsd-friend-profile-v3-badge-grid.is-premium .vsd-friend-profile-v3-badge-icon .dashicons{width:25px!important;height:25px!important;font-size:25px!important}.vsd-friend-profile-v3-badge-grid.is-premium article>div{min-width:0}.vsd-friend-profile-v3-badge-grid.is-premium article small{display:block;margin-bottom:3px;color:#8296a5;font-size:7px;font-weight:950;letter-spacing:.12em}.vsd-friend-profile-v3-badge-grid.is-premium article strong{display:block;color:#173f66;font-size:11px!important;line-height:1.25}.vsd-friend-profile-v3-badge-grid.is-premium article p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:#758b9b;font-size:8px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}

/* Spoorjaar: automatisch gebaseerd op het huidige kalenderjaar. */
.vsd-profile-rail-year{padding-bottom:16px}.vsd-profile-year-pill{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:30px;padding:5px 10px;border-radius:999px;background:#e8f3fb;color:#1a5d8c;font-size:10px;font-weight:950}.vsd-profile-year-map{height:265px;margin:14px 18px 0;border:1px solid #d6e4ed;border-radius:17px;background:#eaf1f5;overflow:hidden}.vsd-profile-year-map .leaflet-control-zoom{margin:8px!important;border:0!important;border-radius:9px!important;overflow:hidden;box-shadow:0 5px 15px rgba(18,55,84,.14)!important}.vsd-profile-year-map .leaflet-control-zoom a{width:28px!important;height:28px!important;line-height:28px!important;font-size:15px!important}.vsd-profile-year-map .leaflet-control-attribution{font-size:7px!important}.vsd-profile-year-map-empty{display:grid;justify-items:center;gap:5px;margin:14px 18px 0;padding:28px 18px;border:1px dashed #cbdce7;border-radius:17px;background:#f7fbfd;color:#718b9e;text-align:center}.vsd-profile-year-map-empty .dashicons{width:28px;height:28px;font-size:28px;color:#3984b5}.vsd-profile-year-map-empty strong{color:#244e6d;font-size:12px}.vsd-profile-year-map-empty small{max-width:290px;font-size:8px;line-height:1.45}.vsd-profile-year-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 18px 0}.vsd-profile-year-summary span{display:grid;justify-items:center;gap:2px;padding:9px 6px;border-radius:13px;background:#f3f8fb;border:1px solid #e0ebf2}.vsd-profile-year-summary strong{color:#155683;font-size:18px}.vsd-profile-year-summary small{color:#738b9d;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}

/* Persoonlijke spoorstatistieken: altijd maximaal vijf per onderdeel. */
.vsd-profile-rail-top5{padding-bottom:18px}.vsd-profile-top5-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 18px 0}.vsd-profile-top5-grid>section{overflow:hidden;border:1px solid #e0e9f0;border-radius:17px;background:#fbfdfe}.vsd-profile-top5-grid h4{display:flex;align-items:center;gap:7px;margin:0;padding:10px 11px;border-bottom:1px solid #e7eef3;color:#214c6d;font-size:11px}.vsd-profile-top5-grid h4 i{width:17px;height:17px;font-size:17px;color:#2d7dae}.vsd-profile-top5-grid ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.vsd-profile-top5-grid li{display:grid;grid-template-columns:23px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:34px;padding:6px 9px;border-bottom:1px solid #edf2f5}.vsd-profile-top5-grid li:last-child{border-bottom:0}.vsd-profile-top5-grid li>b{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#e9f3f9;color:#1f618e;font-size:8px}.vsd-profile-top5-grid li>span{overflow:hidden;color:#31566f;font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.vsd-profile-top5-grid li>em{color:#8295a3;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.vsd-profile-top5-empty{padding:15px;color:#8396a4;font-size:8px;text-align:center}

@media(max-width:900px){
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-body{grid-template-columns:50px minmax(0,1fr)}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-icon{width:50px;height:50px;border-radius:15px;font-size:23px}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;padding-left:64px}
  .vsd-profile-year-map{height:240px}
}
@media(max-width:640px){
  .vsd-friend-profile-v3-current.is-prominent{border-radius:15px!important}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-accent{padding:8px 11px;font-size:7px}
  .vsd-friend-profile-v3-current-service{padding:4px 7px;font-size:6.5px}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-body{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:10px 11px 11px}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-icon{width:40px;height:40px;border-radius:12px;font-size:18px}
  .vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-copy h3{font-size:15px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-copy>p{font-size:8px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-meta{gap:4px;margin-top:6px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-meta span{min-height:22px;padding:4px 6px;font-size:6.5px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side{padding-left:49px;gap:6px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>span,.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>mark{min-height:22px;padding:4px 6px;font-size:6.5px}.vsd-friend-profile-v3-current.is-prominent .vsd-friend-profile-v3-current-side>a{font-size:7px}
  .vsd-friend-profile-v3-badge-grid.is-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px 12px 12px!important}.vsd-friend-profile-v3-badge-grid.is-premium article{grid-template-columns:38px minmax(0,1fr);gap:7px;min-height:68px;padding:8px!important;border-radius:13px!important}.vsd-friend-profile-v3-badge-grid.is-premium .vsd-friend-profile-v3-badge-icon{width:37px!important;height:37px!important;border-radius:11px!important}.vsd-friend-profile-v3-badge-grid.is-premium .vsd-friend-profile-v3-badge-icon .dashicons{width:18px!important;height:18px!important;font-size:18px!important}.vsd-friend-profile-v3-badge-grid.is-premium article small{font-size:5.5px}.vsd-friend-profile-v3-badge-grid.is-premium article strong{font-size:7.5px!important}.vsd-friend-profile-v3-badge-grid.is-premium article p{font-size:5.8px;-webkit-line-clamp:1}
  .vsd-profile-year-map{height:205px;margin:9px 12px 0;border-radius:13px}.vsd-profile-year-summary{gap:5px;margin:7px 12px 0}.vsd-profile-year-summary span{padding:7px 4px;border-radius:10px}.vsd-profile-year-summary strong{font-size:14px}.vsd-profile-year-summary small{font-size:5.5px}.vsd-profile-year-pill{min-width:43px;min-height:24px;padding:4px 7px;font-size:7px}
  .vsd-profile-top5-grid{grid-template-columns:1fr!important;gap:7px;padding:9px 12px 0}.vsd-profile-top5-grid>section{border-radius:13px}.vsd-profile-top5-grid h4{padding:8px 9px;font-size:8px}.vsd-profile-top5-grid li{grid-template-columns:20px minmax(0,1fr) auto;min-height:30px;padding:5px 7px}.vsd-profile-top5-grid li>b{width:19px;height:19px;font-size:6.5px}.vsd-profile-top5-grid li>span{font-size:7px}.vsd-profile-top5-grid li>em{font-size:5.8px}
}


/* v4.00.18 · iPad breed profiel + vriendprofiel zelfde canvasbreedte
   Alleen profiel-layout. Geen dienst-, rit-, MCN-, database- of statistieklogica gewijzigd. */

/* Voorkom dat een vriendenprofiel door een smallere oudercontainer ineens een smalle kolom wordt.
   Het sociale profiel gebruikt op desktop/iPad altijd hetzelfde gecentreerde canvas. */
.vsd-friends-page .vsd-social-profile-page{
  position:relative!important;
  left:50%!important;
  width:min(1460px,calc(100vw - 48px))!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
.vsd-friends-page .vsd-social-profile-page .vsd-friend-profile-v3,
.vsd-friends-page .vsd-social-profile-page .vsd-friend-profile-v3-shell,
.vsd-friends-page .vsd-social-profile-page .vsd-friend-profile-v3-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* iPad / tabletlandschap: niet alles onder elkaar gooien.
   De hoofdfeed blijft links en badges/statistieken/spoorjaar blijven rechts. */
@media (min-width: 760px) and (max-width: 1180px){
  .vsd-friends-page .vsd-social-profile-page{
    width:calc(100vw - 36px)!important;
  }

  .vsd-friend-profile-v3-main{
    gap:11px!important;
  }

  .vsd-friend-profile-v3-hero.is-reference{
    height:270px!important;
    min-height:270px!important;
  }
  .vsd-friend-profile-v3-hero-content{
    left:17px!important;
    right:17px!important;
    bottom:15px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:14px!important;
  }
  .vsd-friend-profile-v3-person{
    min-width:0!important;
    gap:12px!important;
  }
  .vsd-friend-profile-v3-avatar{
    flex:0 0 86px!important;
    width:86px!important;
    height:86px!important;
  }
  .vsd-friend-profile-v3-avatar img{
    width:86px!important;
    height:86px!important;
  }
  .vsd-friend-profile-v3-copy h2{
    max-width:100%!important;
    margin-bottom:5px!important;
    font-size:27px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vsd-friend-profile-v3-sub{font-size:9.5px!important}
  .vsd-friend-profile-v3-bio{
    max-width:560px!important;
    font-size:9px!important;
    -webkit-line-clamp:2!important;
  }
  .vsd-friend-profile-v3-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:158px!important;
    gap:7px!important;
  }
  .vsd-friend-profile-v3-btn{
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:7px 9px!important;
    font-size:8px!important;
  }

  /* 6 kernstatistieken blijven overzichtelijk als 3 x 2. */
  .vsd-friend-profile-v3-stat-strip{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }

  /* Tabs blijven volledig zichtbaar, niet horizontaal scrollen op iPad. */
  .vsd-friend-profile-v3-tabs{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    overflow:visible!important;
    gap:5px!important;
  }
  .vsd-friend-profile-v3-tabs a{
    min-width:0!important;
    width:100%!important;
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:8.5px!important;
  }

  /* Belangrijkste wijziging: de social-feed blijft op iPad in twee kolommen. */
  .vsd-friend-profile-v3-dashboard{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(290px,.9fr)!important;
    gap:11px!important;
    align-items:start!important;
  }
  .vsd-friend-profile-v3-column{
    min-width:0!important;
    gap:11px!important;
  }

  /* Compactere rechterkolom zodat er echt ruimte voor twee kolommen blijft. */
  .vsd-friend-profile-v3-badge-grid.is-premium{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:10px 12px 12px!important;
  }
  .vsd-friend-profile-v3-badge-grid.is-premium article{
    grid-template-columns:38px minmax(0,1fr)!important;
    min-height:70px!important;
    gap:7px!important;
    padding:8px!important;
  }
  .vsd-friend-profile-v3-badge-grid.is-premium .vsd-friend-profile-v3-badge-icon{
    width:37px!important;
    height:37px!important;
  }
  .vsd-friend-profile-v3-badge-grid.is-premium article strong{
    font-size:8px!important;
  }
  .vsd-friend-profile-v3-badge-grid.is-premium article p{
    font-size:6px!important;
    -webkit-line-clamp:1!important;
  }

  .vsd-profile-year-map{
    height:220px!important;
  }
  .vsd-profile-top5-grid{
    grid-template-columns:1fr!important;
  }

  /* Live-profielstatus vult gewoon de volle breedte boven de twee kolommen. */
  .vsd-friend-profile-v3-current.is-prominent{
    width:100%!important;
  }
}

/* Portret-iPad mag iets compacter, maar behoudt vanaf 760px nog steeds twee kolommen. */
@media (min-width:760px) and (max-width:900px){
  .vsd-friend-profile-v3-dashboard{
    grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr)!important;
  }
  .vsd-friend-profile-v3-hero-content{
    grid-template-columns:minmax(0,1fr) 142px!important;
  }
  .vsd-friend-profile-v3-actions{
    width:142px!important;
  }
  .vsd-friend-profile-v3-about-meta{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vsd-friend-profile-v3-next-card{
    grid-template-columns:52px minmax(0,1fr)!important;
  }
  .vsd-friend-profile-v3-next-media{
    grid-column:1/-1!important;
  }
}

/* Telefoon blijft juist de eerder goedgekeurde éénkoloms layout houden. */
@media (max-width:759px){
  .vsd-friends-page .vsd-social-profile-page{
    position:static!important;
    left:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
  }
}

/* v4.00.19 · Meer-menu: duidelijke Mijn profiel-ingang + rijkere iconografie */
.vsd-mobile-more-grid a.vsd-more-item{
  position:relative;
  gap:11px;
  min-height:62px;
  padding:9px 12px;
  border-color:#dce7ef;
  border-radius:15px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  box-shadow:0 5px 14px rgba(24,63,94,.035);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.vsd-mobile-more-grid a.vsd-more-item:hover{
  transform:translateY(-1px);
  border-color:#c6d9e8;
  background:#fff;
  box-shadow:0 10px 22px rgba(24,63,94,.08);
}
.vsd-mobile-more-grid a.vsd-more-item.is-active{
  border-color:#91c4ec;
  background:linear-gradient(180deg,#f2f9ff 0%,#e9f5ff 100%);
  color:#145b92;
  box-shadow:inset 0 0 0 1px rgba(53,139,207,.05),0 7px 18px rgba(36,112,170,.08);
}
.vsd-more-icon{
  --vsd-more-icon-bg:#eaf3f9;
  --vsd-more-icon-color:#245d85;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:13px;
  background:var(--vsd-more-icon-bg);
  color:var(--vsd-more-icon-color);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.vsd-mobile-more-grid .vsd-more-icon .dashicons{
  width:21px;
  height:21px;
  font-size:21px;
  line-height:21px;
  color:inherit;
}
.vsd-more-label{
  min-width:0;
  color:inherit;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
}

/* Een eigen kleuraccent per menugebied, zonder de huisstijl in een kermis te veranderen. */
.vsd-more-my-profile .vsd-more-icon{--vsd-more-icon-bg:linear-gradient(135deg,#dfeeff,#e9e6ff);--vsd-more-icon-color:#2456a4}
.vsd-more-import .vsd-more-icon{--vsd-more-icon-bg:#e4f7f5;--vsd-more-icon-color:#17786d}
.vsd-more-announcements .vsd-more-icon,.vsd-more-send-notifications .vsd-more-icon{--vsd-more-icon-bg:#fff1d9;--vsd-more-icon-color:#9b6512}
.vsd-more-services .vsd-more-icon,.vsd-more-agenda .vsd-more-icon{--vsd-more-icon-bg:#e7f3ff;--vsd-more-icon-color:#1c6ca7}
.vsd-more-friends .vsd-more-icon{--vsd-more-icon-bg:#e9edff;--vsd-more-icon-color:#4b5fb3}
.vsd-more-delays .vsd-more-icon{--vsd-more-icon-bg:#fff0e7;--vsd-more-icon-color:#b05c27}
.vsd-more-map .vsd-more-icon,.vsd-more-travel .vsd-more-icon{--vsd-more-icon-bg:#e5f5f1;--vsd-more-icon-color:#287d6d}
.vsd-more-stats .vsd-more-icon{--vsd-more-icon-bg:#e7efff;--vsd-more-icon-color:#315fa6}
.vsd-more-norms .vsd-more-icon{--vsd-more-icon-bg:#fff1e3;--vsd-more-icon-color:#a76620}
.vsd-more-profile .vsd-more-icon,.vsd-more-settings .vsd-more-icon{--vsd-more-icon-bg:#edf1f5;--vsd-more-icon-color:#526d84}
.vsd-more-info .vsd-more-icon{--vsd-more-icon-bg:#e8f4fb;--vsd-more-icon-color:#2d6f9a}
.vsd-more-mcn .vsd-more-icon,.vsd-more-baanvakmeter .vsd-more-icon{--vsd-more-icon-bg:#e7f5ed;--vsd-more-icon-color:#2b7650}

/* Mijn profiel mag herkenbaar de belangrijkste persoonlijke ingang zijn. */
.vsd-mobile-more-grid a.vsd-more-my-profile{
  border-color:#b9d5ec;
  background:linear-gradient(135deg,#f5faff 0%,#eef5ff 100%);
}
.vsd-mobile-more-grid a.vsd-more-my-profile .vsd-more-label{color:#164f80}

@media(max-width:600px){
  .vsd-mobile-more-grid a.vsd-more-item{
    min-height:58px;
    padding:8px 10px;
    border-radius:13px;
  }
  .vsd-more-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
    border-radius:11px;
  }
  .vsd-mobile-more-grid .vsd-more-icon .dashicons{
    width:19px;
    height:19px;
    font-size:19px;
    line-height:19px;
  }
  .vsd-more-label{font-size:10px}
}


/* ========================================================================
   v4.00.20 · Meer-menu + vaste onderdock visueel vernieuwd
   ======================================================================== */

/* Meer-menu: minder pastel-kermis, meer één duidelijke spoorhuisstijl.
   Persoonlijk = indigo, planning = blauw, operatie = amber,
   inzicht = teal en systeem = slate. */
.vsd-mobile-more-sheet{
  border:1px solid rgba(128,158,183,.28)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.995) 0%,#f7fbfe 100%)!important;
  box-shadow:0 28px 80px rgba(8,36,63,.28)!important;
}
.vsd-mobile-more-head{
  margin-bottom:13px!important;
}
.vsd-mobile-more-head strong{
  color:#123f68!important;
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
}
.vsd-mobile-more-close{
  width:38px!important;
  height:38px!important;
  background:#edf4f9!important;
  color:#244f70!important;
  box-shadow:inset 0 0 0 1px #dbe7ef!important;
}

.vsd-mobile-more-grid{
  gap:9px!important;
}
.vsd-mobile-more-grid a.vsd-more-item{
  min-height:66px!important;
  padding:9px 12px!important;
  border:1px solid #dce7ef!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(20,59,89,.04)!important;
}
.vsd-mobile-more-grid a.vsd-more-item:hover{
  transform:translateY(-1px)!important;
  border-color:#b9cfe0!important;
  box-shadow:0 12px 26px rgba(20,59,89,.09)!important;
}
.vsd-mobile-more-grid a.vsd-more-item.is-active{
  border-color:#79b6e4!important;
  background:linear-gradient(135deg,#f4faff,#eaf5ff)!important;
  color:#124f80!important;
}
.vsd-more-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#226aa3,#153e70)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(27,82,126,.18),inset 0 0 0 1px rgba(255,255,255,.16)!important;
}
.vsd-mobile-more-grid .vsd-more-icon .dashicons{
  width:21px!important;
  height:21px!important;
  font-size:21px!important;
  line-height:21px!important;
  color:#fff!important;
}
.vsd-more-label{
  color:#244a68!important;
  font-size:11.5px!important;
  font-weight:900!important;
}

/* Persoonlijk / sociaal */
.vsd-more-my-profile .vsd-more-icon,
.vsd-more-friends .vsd-more-icon,
.vsd-more-profile .vsd-more-icon{
  background:linear-gradient(135deg,#6257c8,#384aa6)!important;
  box-shadow:0 8px 18px rgba(73,70,170,.20)!important;
}
/* Planning / dienst */
.vsd-more-services .vsd-more-icon,
.vsd-more-agenda .vsd-more-icon,
.vsd-more-import .vsd-more-icon{
  background:linear-gradient(135deg,#168ad1,#205ca8)!important;
  box-shadow:0 8px 18px rgba(32,101,174,.19)!important;
}
/* Operationeel */
.vsd-more-announcements .vsd-more-icon,
.vsd-more-send-notifications .vsd-more-icon,
.vsd-more-delays .vsd-more-icon,
.vsd-more-norms .vsd-more-icon{
  background:linear-gradient(135deg,#f0a42c,#b96818)!important;
  box-shadow:0 8px 18px rgba(185,104,24,.18)!important;
}
/* Kaart / inzicht */
.vsd-more-map .vsd-more-icon,
.vsd-more-travel .vsd-more-icon,
.vsd-more-stats .vsd-more-icon,
.vsd-more-mcn .vsd-more-icon,
.vsd-more-baanvakmeter .vsd-more-icon{
  background:linear-gradient(135deg,#1fa68f,#166f79)!important;
  box-shadow:0 8px 18px rgba(24,125,119,.18)!important;
}
/* Systeem */
.vsd-more-settings .vsd-more-icon,
.vsd-more-info .vsd-more-icon{
  background:linear-gradient(135deg,#607b92,#344f69)!important;
  box-shadow:0 8px 18px rgba(52,79,105,.17)!important;
}
.vsd-mobile-more-grid a.vsd-more-my-profile{
  border-color:#c7c8ef!important;
  background:linear-gradient(135deg,#faf9ff,#f2f3ff)!important;
}
.vsd-mobile-more-grid a.vsd-more-my-profile .vsd-more-label{
  color:#384aa6!important;
}

/* Nieuwe vaste dock:
   zwevende glasbalk, iconen in eigen tegels, met Nieuw als duidelijke middenactie. */
.vsd-mobile-bottom-nav{
  --vsd-dock-bg:rgba(249,252,255,.96);
  align-items:center!important;
  gap:5px!important;
  padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
  border:1px solid rgba(154,180,202,.34)!important;
  border-bottom:0!important;
  border-radius:24px 24px 0 0!important;
  background:var(--vsd-dock-bg)!important;
  box-shadow:0 -14px 38px rgba(13,46,75,.14)!important;
  backdrop-filter:blur(22px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(145%)!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item{
  position:relative!important;
  min-height:60px!important;
  gap:4px!important;
  padding:5px 3px!important;
  border-radius:16px!important;
  background:transparent!important;
  color:#6b8195!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item:hover{
  background:#f0f6fa!important;
  color:#164f7e!important;
}
.vsd-mobile-bottom-nav .vsd-dock-icon{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:35px!important;
  height:35px!important;
  border-radius:12px!important;
  background:#edf4f9!important;
  color:#688399!important;
  transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease!important;
}
.vsd-mobile-bottom-nav .vsd-dock-icon>.dashicons{
  width:19px!important;
  height:19px!important;
  font-size:19px!important;
  line-height:19px!important;
  color:inherit!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item small{
  color:inherit!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item.is-active{
  background:transparent!important;
  color:#134f81!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item.is-active .vsd-dock-icon{
  background:linear-gradient(135deg,#e5f3ff,#d9ebfb)!important;
  color:#1264a0!important;
  box-shadow:0 7px 16px rgba(28,104,163,.14)!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-item.is-active:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:2px!important;
  width:18px!important;
  height:3px!important;
  border-radius:999px!important;
  background:#1976ba!important;
  transform:translateX(-50%)!important;
}

/* Nieuw blijft de centrale primaire actie, maar als ronde spoor-FAB i.p.v. een zwaar blok. */
.vsd-mobile-bottom-nav>.vsd-dock-new,
.vsd-mobile-bottom-nav>.vsd-mobile-new{
  margin-top:-18px!important;
  min-height:70px!important;
  color:#133f69!important;
  background:transparent!important;
  overflow:visible!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-new .vsd-dock-icon,
.vsd-mobile-bottom-nav>.vsd-mobile-new .vsd-dock-icon{
  width:54px!important;
  height:54px!important;
  margin-bottom:0!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#176eb2 0%,#103e73 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(15,65,112,.30),inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-new .vsd-dock-icon>.dashicons,
.vsd-mobile-bottom-nav>.vsd-mobile-new .vsd-dock-icon>.dashicons{
  width:25px!important;
  height:25px!important;
  font-size:25px!important;
  line-height:25px!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-new small,
.vsd-mobile-bottom-nav>.vsd-mobile-new small{
  color:#244f72!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-new.is-active .vsd-dock-icon,
.vsd-mobile-bottom-nav>.vsd-mobile-new.is-active .vsd-dock-icon{
  background:linear-gradient(145deg,#0e5e9e,#092f5a)!important;
  box-shadow:0 13px 29px rgba(9,54,98,.34)!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-new.is-active:after,
.vsd-mobile-bottom-nav>.vsd-mobile-new.is-active:after{
  display:none!important;
}

/* Meldingsbadge netjes boven de nieuwe icoontegel. */
.vsd-mobile-bottom-nav .vsd-nav-badge{
  top:-5px!important;
  right:-6px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  border:2px solid #fff!important;
  box-shadow:0 4px 10px rgba(160,24,38,.22)!important;
}

/* Meer krijgt subtiel ander icoonaccent zodat de menuknop herkenbaar blijft. */
.vsd-mobile-bottom-nav>.vsd-dock-more .vsd-dock-icon{
  background:#e9f0f5!important;
  color:#3f607b!important;
}
.vsd-mobile-bottom-nav>.vsd-dock-more.is-active .vsd-dock-icon{
  background:linear-gradient(135deg,#dfeafb,#e6e4ff)!important;
  color:#4a54a8!important;
}

/* Tablet / iPad: echte zwevende dock, niet als platte volle strook. */
@media (min-width:601px) and (max-width:1180px){
  .vsd-mobile-bottom-nav{
    left:50%!important;
    right:auto!important;
    bottom:10px!important;
    width:min(920px,calc(100% - 30px))!important;
    max-width:calc(100% - 30px)!important;
    border:1px solid rgba(154,180,202,.34)!important;
    border-radius:24px!important;
    transform:translateX(-50%)!important;
  }
  /* De iPad-JS zet position/left/right inline. Deze regels houden de visuele kaartvorm intact. */
  .vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
    left:15px!important;
    right:15px!important;
    width:calc(100% - 30px)!important;
    max-width:none!important;
    border-radius:24px!important;
    transform:none!important;
  }
}

/* Telefoon: volle breedte voor veilige touch targets, maar wel dezelfde nieuwe stijl. */
@media(max-width:600px){
  .vsd-mobile-bottom-nav{
    gap:1px!important;
    padding:7px 3px calc(7px + env(safe-area-inset-bottom))!important;
    border-radius:20px 20px 0 0!important;
  }
  .vsd-mobile-bottom-nav>.vsd-dock-item{
    min-height:54px!important;
    padding:4px 1px!important;
  }
  .vsd-mobile-bottom-nav .vsd-dock-icon{
    width:31px!important;
    height:31px!important;
    border-radius:10px!important;
  }
  .vsd-mobile-bottom-nav .vsd-dock-icon>.dashicons{
    width:18px!important;
    height:18px!important;
    font-size:18px!important;
    line-height:18px!important;
  }
  .vsd-mobile-bottom-nav>.vsd-dock-item small{
    font-size:7.8px!important;
  }
  .vsd-mobile-bottom-nav>.vsd-dock-new,
  .vsd-mobile-bottom-nav>.vsd-mobile-new{
    margin-top:-13px!important;
    min-height:62px!important;
  }
  .vsd-mobile-bottom-nav>.vsd-dock-new .vsd-dock-icon,
  .vsd-mobile-bottom-nav>.vsd-mobile-new .vsd-dock-icon{
    width:48px!important;
    height:48px!important;
    border-radius:16px!important;
  }

  .vsd-mobile-more-sheet{
    padding:13px!important;
    border-radius:22px!important;
  }
  .vsd-mobile-more-grid{
    gap:7px!important;
  }
  .vsd-mobile-more-grid a.vsd-more-item{
    min-height:58px!important;
    padding:7px 9px!important;
    border-radius:14px!important;
  }
  .vsd-more-icon{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
  }
  .vsd-mobile-more-grid .vsd-more-icon .dashicons{
    width:18px!important;
    height:18px!important;
    font-size:18px!important;
    line-height:18px!important;
  }
  .vsd-more-label{font-size:9.5px!important}
}


/* ========================================================================
   v4.00.21 · Mijn diensten redesign + Reserve in Snelle wijziging
   ======================================================================== */

/* Snelle wijziging: de drie hoofdacties als duidelijke compacte actiebalk. */
.vsd-myday-quick-change-tools{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  padding:14px 16px!important;
  background:#f7fafc!important;
  border-bottom:1px solid #e1ebf2!important;
}
.vsd-myday-quick-change-tools>.button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:46px!important;
  border-radius:13px!important;
  font-weight:850!important;
}
.vsd-myday-reserve-add-button{
  border-color:#e4c97e!important;
  background:linear-gradient(180deg,#fffdf5,#fff8df)!important;
  color:#8b6611!important;
}
.vsd-myday-reserve-add-button .dashicons{color:#a67a15!important}

.vsd-myday-quick-section-title.reserve>span{
  background:#fff5d8!important;
  color:#9b7316!important;
}
.vsd-myday-quick-reserves{
  border-color:#ead9a6!important;
  background:linear-gradient(180deg,#fffefa,#fffaf0)!important;
}
.vsd-myday-quick-reserve-list{display:grid;gap:10px;margin-top:12px}
.vsd-myday-quick-reserve-card{
  position:relative;
  overflow:hidden;
  border:1px solid #ead9a6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 19px rgba(126,94,22,.055);
}
.vsd-myday-quick-reserve-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 14px;
  border-bottom:1px solid #f0e4c3;
  background:linear-gradient(135deg,#fffdf6,#fff8e6);
}
.vsd-myday-quick-reserve-head>.dashicons{
  display:grid;place-items:center;
  width:36px;height:36px;
  border-radius:12px;
  background:#f7e9b8;color:#947019;
  font-size:18px;
}
.vsd-myday-quick-reserve-head div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 9px;min-width:0}
.vsd-myday-quick-reserve-head small{grid-column:1/-1;color:#9c7b28;font-size:8px;font-weight:950;letter-spacing:.12em}
.vsd-myday-quick-reserve-head strong{color:#173f61;font-size:15px}
.vsd-myday-quick-reserve-head span{color:#73899a;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-myday-quick-reserve-edit{padding:13px 14px 10px}
.vsd-myday-quick-reserve-fields,
.vsd-myday-quick-reserve-modal-fields{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(120px,.75fr) minmax(120px,.75fr);
  gap:10px;
}
.vsd-myday-quick-reserve-fields label,
.vsd-myday-quick-reserve-modal-fields label{display:grid;gap:5px}
.vsd-myday-quick-reserve-fields label>span,
.vsd-myday-quick-reserve-modal-fields label>span{
  color:#648096;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase
}
.vsd-myday-quick-reserve-fields input,
.vsd-myday-quick-reserve-modal-fields input{
  min-width:0;min-height:42px;padding:8px 10px;border:1px solid #cadce8;border-radius:11px;background:#fff;color:#173f61;font-weight:750
}
.vsd-myday-quick-reserve-actions{
  display:flex;justify-content:flex-end;
  margin-top:10px;padding-top:10px;border-top:1px solid #eef1f3
}
.vsd-myday-quick-reserve-actions .button{min-height:39px;border-radius:10px}
.vsd-myday-quick-reserve-delete{
  display:flex;justify-content:flex-end;
  margin:0;padding:0 14px 13px
}
.vsd-myday-quick-reserve-delete .button{min-height:37px;border-radius:10px}
.vsd-myday-quick-reserve-footer{display:flex;justify-content:flex-start;margin-top:10px}
.vsd-myday-quick-empty.reserve{background:#fffaf0!important;color:#8d6b21!important}
.vsd-myday-quick-reserve-hint{
  display:flex;gap:8px;align-items:flex-start;
  margin-top:12px;padding:10px 11px;border-radius:11px;background:#fff9e8;color:#755f2a;font-size:10px;line-height:1.45
}
.vsd-myday-quick-reserve-modal-actions{
  display:flex;justify-content:flex-end;gap:9px;
  margin-top:16px;padding-top:14px;border-top:1px solid #e5edf2
}
.vsd-myday-quick-reserve-modal-actions .button{
  min-height:44px;border-radius:11px;font-weight:850
}

/* Mijn diensten zelf: één rustige operationele kaart in plaats van losse witte stroken. */
.vsd-myday-page{
  --myday-blue:#164f80;
  --myday-blue-soft:#edf6fc;
  --myday-line:#dce8f0;
}
.vsd-myday-as-service-view{
  overflow:hidden!important;
  border:1px solid #dce7ef!important;
  border-radius:24px!important;
  background:#f8fbfd!important;
  box-shadow:0 16px 42px rgba(17,54,82,.07)!important;
}
.vsd-myday-service-view-head{
  align-items:center!important;
  margin:0!important;
  padding:19px 20px!important;
  border-bottom:1px solid #dce8f0!important;
  background:linear-gradient(135deg,#ffffff 0%,#f3f8fc 100%)!important;
}
.vsd-myday-service-view-head h2{
  margin:0 0 4px!important;
  color:#143f66!important;
  font-size:24px!important;
  letter-spacing:-.02em!important;
}
.vsd-myday-service-view-head p{
  margin:0 0 5px!important;
  color:#6f879a!important;
  font-size:11px!important;
}
.vsd-myday-service-view-head small{
  color:#54758f!important;
  font-size:10px!important;
  font-weight:850!important;
}
.vsd-myday-head-actions{gap:7px!important}
.vsd-myday-head-actions .button{
  min-height:40px!important;
  border-radius:12px!important;
}
.vsd-myday-head-actions .vsd-badge{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  background:#e9f0f5!important;
  color:#557187!important;
}

.vsd-myday-service-flow{
  position:relative!important;
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:16px 18px!important;
  background:linear-gradient(180deg,#f8fbfd,#f4f8fb)!important;
}
.vsd-myday-service-flow:before{
  content:"";
  position:absolute;
  left:46px;
  top:28px;
  bottom:28px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,#8bc9ee,#c5dce9 48%,#e0c887);
  opacity:.65;
}
.vsd-myday-service-flow>.vsd-myday-flow-card,
.vsd-myday-service-flow>.vsd-myday-flow-break{
  position:relative!important;
  z-index:1!important;
  overflow:hidden!important;
  margin:0!important;
  border:1px solid #dbe7ef!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(17,54,82,.045)!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card.state-current,
.vsd-myday-service-flow>.vsd-myday-flow-break.state-current{
  border-color:#70bae6!important;
  box-shadow:0 0 0 3px rgba(72,163,219,.08),0 9px 24px rgba(17,54,82,.075)!important;
}
.vsd-myday-service-flow .vsd-flow-row{
  min-height:84px!important;
  padding:14px 14px!important;
  border:0!important;
  background:transparent!important;
}
.vsd-myday-service-flow .vsd-flow-time{
  border-radius:13px!important;
  background:#f1f6fa!important;
}
.vsd-myday-service-flow .type-reserve .vsd-flow-time,
.vsd-myday-service-flow .type-reserve .vsd-flow-icon{
  background:#fff6d9!important;
  color:#927019!important;
}
.vsd-myday-service-flow .type-taxi .vsd-flow-time,
.vsd-myday-service-flow .type-taxi .vsd-flow-icon{
  background:#eaf7f5!important;
  color:#1c7a70!important;
}
.vsd-myday-service-flow .type-break .vsd-flow-time,
.vsd-myday-service-flow .type-break .vsd-flow-icon{
  background:#fff3df!important;
  color:#93681f!important;
}
.vsd-myday-service-flow .vsd-flow-title h3{
  color:#143f66!important;
  font-size:15px!important;
}
.vsd-myday-service-flow .vsd-flow-sub{
  color:#7a91a2!important;
  font-size:10px!important;
}
.vsd-myday-service-flow .vsd-flow-side strong{
  color:#244d6c!important;
  font-size:14px!important;
}
.vsd-myday-service-flow .vsd-flow-side small{
  color:#8a9daa!important;
  font-size:8px!important;
}

/* Verwijderen hoort bij de kaart, niet als los zwevend rood tekstje eronder. */
.vsd-myday-service-flow .vsd-myday-danger{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:7px 11px!important;
  border-top:1px solid #edf2f5!important;
  background:#fbfdfe!important;
}
.vsd-myday-service-flow .vsd-myday-delete{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:32px!important;
  padding:5px 9px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff2f2!important;
  color:#a94a4a!important;
  font-size:9px!important;
  font-weight:850!important;
}
.vsd-myday-service-flow .vsd-myday-delete .dashicons{
  width:14px!important;height:14px!important;font-size:14px!important
}
.vsd-myday-service-flow .vsd-flow-transfer{
  position:relative!important;
  z-index:2!important;
  width:max-content!important;
  max-width:calc(100% - 90px)!important;
  margin:-2px 0 -2px 50px!important;
  padding:5px 9px!important;
  border:1px solid #dae7ef!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#638197!important;
  box-shadow:0 3px 9px rgba(17,54,82,.04)!important;
  font-size:9px!important;
}

.vsd-myday-service-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0!important;
  padding:12px 18px 16px!important;
  border-top:1px solid #dce8f0!important;
  background:#fff!important;
}
.vsd-myday-service-actions .button{
  min-height:39px!important;
  border-radius:11px!important;
  font-weight:800!important;
}
.vsd-myday-service-actions .button-primary{
  background:#164f80!important;
  border-color:#164f80!important;
}

/* De daghero bovenaan compacter en minder dashboard-achtig. */
.vsd-myday-page>.vsd-myday-hero{
  border-radius:20px!important;
  box-shadow:none!important;
}
.vsd-myday-page>.vsd-myday-hero h1{
  font-size:27px!important;
}

/* Tablet / telefoon */
@media(max-width:820px){
  .vsd-myday-quick-change-tools{grid-template-columns:1fr 1fr!important}
  .vsd-myday-quick-change-tools>a.button{grid-column:1/-1!important}
  .vsd-myday-quick-reserve-fields,
  .vsd-myday-quick-reserve-modal-fields{grid-template-columns:1fr 1fr!important}
  .vsd-myday-quick-reserve-fields .is-location,
  .vsd-myday-quick-reserve-modal-fields .is-location{grid-column:1/-1!important}

  .vsd-myday-service-view-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:16px!important;
  }
  .vsd-myday-head-actions{
    justify-content:flex-start!important;
  }
  .vsd-myday-service-flow{
    padding:12px!important;
  }
  .vsd-myday-service-flow:before{left:34px!important}
  .vsd-myday-service-flow .vsd-flow-transfer{
    margin-left:38px!important;
    max-width:calc(100% - 54px)!important;
  }
}
@media(max-width:560px){
  .vsd-myday-quick-change-tools{grid-template-columns:1fr!important;padding:10px!important}
  .vsd-myday-quick-change-tools>a.button{grid-column:auto!important}
  .vsd-myday-quick-reserve-fields,
  .vsd-myday-quick-reserve-modal-fields{grid-template-columns:1fr!important}
  .vsd-myday-quick-reserve-fields .is-location,
  .vsd-myday-quick-reserve-modal-fields .is-location{grid-column:auto!important}
  .vsd-myday-quick-reserve-modal-actions{
    position:sticky!important;
    bottom:calc(-16px - env(safe-area-inset-bottom))!important;
    z-index:4!important;
    margin-left:-14px!important;
    margin-right:-14px!important;
    margin-bottom:calc(-16px - env(safe-area-inset-bottom))!important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    box-shadow:0 -10px 25px rgba(16,50,77,.08)!important;
  }
  .vsd-myday-quick-reserve-modal-actions .button{flex:1 1 0!important}

  .vsd-myday-service-view-head h2{font-size:19px!important}
  .vsd-myday-head-actions .vsd-badge{display:none!important}
  .vsd-myday-service-flow .vsd-flow-row{min-height:74px!important}
  .vsd-myday-service-actions .button{flex:1 1 100%!important}
}


/* ========================================================================
   v4.00.22 · compact Mijn diensten + compacte Snelle wijziging + lichte Nieuw
   ======================================================================== */

/* ---------- Snelle wijziging: veel minder formulierwand ---------- */
.vsd-myday-quick-change{
  border-radius:18px!important;
}
.vsd-myday-quick-change-head{
  padding:14px 16px!important;
}
.vsd-myday-quick-change-head h3{
  margin:2px 0 3px!important;
  font-size:18px!important;
}
.vsd-myday-quick-change-head p{
  max-width:760px!important;
  margin:0!important;
  font-size:10px!important;
}
.vsd-myday-quick-change-close{
  width:34px!important;
  height:34px!important;
}
.vsd-myday-quick-change-tools{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  padding:9px 12px!important;
  background:#fbfdfe!important;
}
.vsd-myday-quick-change-tools>.button{
  flex:0 0 auto!important;
  min-height:36px!important;
  padding:7px 11px!important;
  border-radius:10px!important;
  font-size:10px!important;
}
.vsd-myday-quick-section{
  margin:9px 12px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
}
.vsd-myday-quick-section-title{
  min-height:38px!important;
  gap:8px!important;
  margin-bottom:6px!important;
}
.vsd-myday-quick-section-title>span{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  border-radius:10px!important;
  font-size:16px!important;
}
.vsd-myday-quick-section-title strong{font-size:13px!important}
.vsd-myday-quick-section-title small{font-size:8px!important}
.vsd-myday-quick-reserve-list,
.vsd-myday-quick-break-list{
  gap:6px!important;
  margin-top:6px!important;
}

/* Reserve / schaft zijn standaard één compacte regel en klappen alleen open bij bewerken. */
.vsd-myday-quick-collapsible{
  overflow:hidden!important;
  border:1px solid #dfe8ee!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vsd-myday-quick-reserve-card.vsd-myday-quick-collapsible{
  border-color:#ead9a6!important;
}
.vsd-myday-quick-collapsible>summary{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto 18px!important;
  align-items:center!important;
  gap:9px!important;
  min-height:54px!important;
  padding:8px 10px!important;
  list-style:none!important;
  cursor:pointer!important;
  background:#fff!important;
}
.vsd-myday-quick-reserve-card>summary{
  background:linear-gradient(90deg,#fffdf7,#fffaf0)!important;
}
.vsd-myday-quick-collapsible>summary::-webkit-details-marker{display:none!important}
.vsd-myday-quick-summary-icon{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  background:#edf5fa!important;
  color:#3f6c8a!important;
  font-size:16px!important;
}
.vsd-myday-quick-reserve-card .vsd-myday-quick-summary-icon{
  background:#fff0bd!important;
  color:#926c13!important;
}
.vsd-myday-quick-summary-main{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:baseline!important;
  gap:1px 8px!important;
  min-width:0!important;
}
.vsd-myday-quick-summary-main small{
  grid-column:1/-1!important;
  color:#7b91a2!important;
  font-size:7px!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
}
.vsd-myday-quick-reserve-card .vsd-myday-quick-summary-main small{color:#99731d!important}
.vsd-myday-quick-summary-main strong{
  color:#173f61!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.vsd-myday-quick-summary-main em{
  min-width:0!important;
  overflow:hidden!important;
  color:#7890a2!important;
  font-size:9px!important;
  font-style:normal!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.vsd-myday-quick-summary-edit{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  color:#416985!important;
  font-size:8px!important;
  font-weight:900!important;
}
.vsd-myday-quick-summary-edit .dashicons{
  width:13px!important;height:13px!important;font-size:13px!important
}
.vsd-myday-quick-summary-chevron{
  width:16px!important;height:16px!important;font-size:16px!important;
  color:#8297a7!important;
  transition:transform .15s ease!important;
}
.vsd-myday-quick-collapsible[open] .vsd-myday-quick-summary-chevron{
  transform:rotate(180deg)!important;
}
.vsd-myday-quick-collapsible-body{
  padding:9px 10px 10px!important;
  border-top:1px solid #e8eef2!important;
  background:#fbfdfe!important;
}
.vsd-myday-quick-reserve-edit,
.vsd-myday-quick-break-edit{
  padding:0!important;
}
.vsd-myday-quick-reserve-fields,
.vsd-myday-quick-break-fields{
  gap:7px!important;
}
.vsd-myday-quick-reserve-fields input,
.vsd-myday-quick-break-fields input,
.vsd-myday-quick-break-fields select{
  min-height:36px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  font-size:10px!important;
}
.vsd-myday-quick-reserve-fields label>span,
.vsd-myday-quick-break-fields label>span{
  font-size:7.5px!important;
}
.vsd-myday-quick-reserve-actions,
.vsd-myday-quick-break-actions{
  margin-top:7px!important;
  padding-top:7px!important;
}
.vsd-myday-quick-reserve-actions .button,
.vsd-myday-quick-break-actions .button{
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:9px!important;
}
.vsd-myday-quick-reserve-delete,
.vsd-myday-quick-break-delete{
  margin:6px 0 0!important;
  padding:0!important;
  border:0!important;
}
.vsd-myday-quick-reserve-delete .button,
.vsd-myday-break-delete-button{
  min-height:31px!important;
  padding:5px 9px!important;
  font-size:8px!important;
}
.vsd-myday-quick-break-footer{
  margin-top:6px!important;
}
.vsd-myday-quick-break-footer .button{
  min-height:32px!important;
  padding:5px 9px!important;
  font-size:8px!important;
}

/* ---------- Mijn diensten: compacte lijst i.p.v. grote kaarten ---------- */
.vsd-myday-as-service-view{
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(17,54,82,.045)!important;
}
.vsd-myday-service-view-head{
  padding:13px 15px!important;
}
.vsd-myday-service-view-head h2{
  margin-bottom:2px!important;
  font-size:20px!important;
}
.vsd-myday-service-view-head p{
  margin-bottom:3px!important;
  font-size:9px!important;
}
.vsd-myday-service-view-head small{
  margin-top:2px!important;
  font-size:9px!important;
}
.vsd-myday-head-actions .button{
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:9px!important;
  font-size:9px!important;
}
.vsd-myday-head-actions .vsd-badge{
  min-height:29px!important;
  font-size:8px!important;
}

.vsd-myday-service-flow{
  gap:6px!important;
  padding:9px 10px!important;
  background:#f7fafc!important;
}
.vsd-myday-service-flow:before{
  display:none!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card,
.vsd-myday-service-flow>.vsd-myday-flow-break{
  border-radius:13px!important;
  box-shadow:none!important;
}
.vsd-myday-service-flow .vsd-flow-row{
  min-height:64px!important;
  padding:9px 10px!important;
}
.vsd-myday-service-flow .vsd-flow-time{
  min-height:38px!important;
  border-radius:10px!important;
}
.vsd-myday-service-flow .vsd-flow-time strong{
  font-size:12px!important;
}
.vsd-myday-service-flow .vsd-flow-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:10px!important;
}
.vsd-myday-service-flow .vsd-flow-title{
  gap:5px!important;
}
.vsd-myday-service-flow .vsd-flow-title h3{
  font-size:13px!important;
}
.vsd-myday-service-flow .vsd-activity-type-chip{
  padding:3px 6px!important;
  font-size:6px!important;
}
.vsd-myday-service-flow .vsd-flow-sub{
  margin-top:2px!important;
  font-size:8px!important;
}
.vsd-myday-flow-buttons{
  gap:5px!important;
  margin-top:5px!important;
}
.vsd-myday-flow-buttons .button{
  min-height:28px!important;
  padding:4px 8px!important;
  border-radius:8px!important;
  font-size:8px!important;
}
.vsd-myday-service-flow .vsd-flow-side strong{
  font-size:12px!important;
}
.vsd-myday-service-flow .vsd-flow-side small{
  font-size:7px!important;
}

/* Reserve/taxi: verwijderknop als klein icoon in de kaart, geen tweede rij meer. */
.vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve,
.vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi{
  position:relative!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-flow-row,
.vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-flow-row{
  padding-right:48px!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-myday-danger,
.vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-myday-danger{
  position:absolute!important;
  right:9px!important;
  bottom:9px!important;
  z-index:4!important;
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-myday-delete,
.vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-myday-delete{
  display:grid!important;
  place-items:center!important;
  width:29px!important;
  min-width:29px!important;
  height:29px!important;
  min-height:29px!important;
  padding:0!important;
  border:1px solid #f0d7d7!important;
  border-radius:9px!important;
  background:#fff6f6!important;
  color:#b34f4f!important;
  font-size:0!important;
}
.vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-myday-delete .dashicons,
.vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-myday-delete .dashicons{
  width:14px!important;height:14px!important;font-size:14px!important
}

.vsd-myday-service-actions{
  gap:6px!important;
  padding:9px 12px 11px!important;
}
.vsd-myday-service-actions .button{
  min-height:34px!important;
  padding:6px 10px!important;
  border-radius:9px!important;
  font-size:9px!important;
}
.vsd-myday-page>.vsd-myday-hero{
  border-radius:16px!important;
}
.vsd-myday-page>.vsd-myday-hero h1{
  font-size:23px!important;
}

/* ---------- Onderbalk: Nieuw is géén donkerblauwe tegel meer ---------- */
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new,
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new:hover,
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new.is-active{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  min-height:58px!important;
  margin-top:0!important;
  padding:4px 2px!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  color:#315c7c!important;
  box-shadow:none!important;
}
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new .vsd-dock-icon{
  width:39px!important;
  height:39px!important;
  margin:0!important;
  border:1px solid #cde1ef!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#eef8ff,#e2f1fb)!important;
  color:#16669e!important;
  box-shadow:0 6px 15px rgba(25,103,157,.10)!important;
}
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new .vsd-dock-icon>.dashicons{
  width:21px!important;
  height:21px!important;
  font-size:21px!important;
  line-height:21px!important;
}
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new small{
  color:#52728a!important;
  font-size:9px!important;
}
.vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new.is-active .vsd-dock-icon{
  border-color:#9fcbe7!important;
  background:linear-gradient(180deg,#dff2ff,#d5ebf9)!important;
  color:#0d5a91!important;
  box-shadow:0 6px 15px rgba(25,103,157,.13)!important;
}

/* Tablet */
@media(max-width:820px){
  .vsd-myday-quick-change-tools{
    display:flex!important;
    padding:8px 10px!important;
  }
  .vsd-myday-quick-change-tools>.button{
    flex:0 1 auto!important;
  }
  .vsd-myday-quick-reserve-fields,
  .vsd-myday-quick-break-fields{
    grid-template-columns:minmax(0,1.35fr) 110px 110px!important;
  }
  .vsd-myday-quick-break-fields{
    grid-template-columns:minmax(0,1.2fr) 95px 95px minmax(105px,.7fr)!important;
  }
  .vsd-myday-service-view-head{
    gap:7px!important;
    padding:12px!important;
  }
  .vsd-myday-service-flow{
    padding:8px!important;
  }
}

/* Telefoon */
@media(max-width:560px){
  .vsd-myday-quick-change-head{
    padding:12px!important;
  }
  .vsd-myday-quick-change-tools{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:7px 9px!important;
  }
  .vsd-myday-quick-change-tools>.button{
    width:100%!important;
    min-height:34px!important;
    padding:6px 7px!important;
    font-size:8px!important;
  }
  .vsd-myday-quick-change-tools>a.button{
    grid-column:1/-1!important;
  }
  .vsd-myday-quick-section{
    margin:7px 9px!important;
    padding:7px!important;
  }
  .vsd-myday-quick-collapsible>summary{
    grid-template-columns:30px minmax(0,1fr) 15px!important;
    min-height:48px!important;
    gap:7px!important;
    padding:7px 8px!important;
  }
  .vsd-myday-quick-summary-icon{
    width:29px!important;height:29px!important
  }
  .vsd-myday-quick-summary-edit{
    display:none!important;
  }
  .vsd-myday-quick-reserve-fields,
  .vsd-myday-quick-break-fields{
    grid-template-columns:1fr 1fr!important;
  }
  .vsd-myday-quick-reserve-fields .is-location,
  .vsd-myday-quick-break-fields .is-location{
    grid-column:1/-1!important;
  }

  .vsd-myday-service-view-head{
    padding:10px 11px!important;
  }
  .vsd-myday-service-view-head h2{
    font-size:17px!important;
  }
  .vsd-myday-service-flow{
    gap:5px!important;
    padding:6px!important;
  }
  .vsd-myday-service-flow .vsd-flow-row{
    min-height:58px!important;
    padding:7px!important;
  }
  .vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-flow-row,
  .vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-flow-row{
    padding-right:39px!important;
  }
  .vsd-myday-service-flow>.vsd-myday-flow-card.type-reserve .vsd-myday-danger,
  .vsd-myday-service-flow>.vsd-myday-flow-card.type-taxi .vsd-myday-danger{
    right:6px!important;
    bottom:6px!important;
  }
  .vsd-myday-service-actions{
    padding:7px 9px 9px!important;
  }

  .vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new,
  .vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new:hover,
  .vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new.is-active{
    min-height:53px!important;
    margin-top:0!important;
  }
  .vsd-mobile-bottom-nav>a.vsd-dock-item.vsd-dock-new.vsd-mobile-new .vsd-dock-icon{
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
  }
}

/* ========================================================================
   v4.00.23 · Mijn diensten als echte dagcockpit
   Goedgekeurde richting: dienstsamenvatting + rustige tijdlijn + infokolom.
   Overzicht blijft overzicht: geen vuilnisbakken, geen snelle vertraging.
   ======================================================================== */
.vsd-myday-page{--myday-ink:#133f65;--myday-muted:#71899b;--myday-border:#dbe7ef;--myday-bg:#f4f8fb;--myday-blue:#1467a5}

/* Bovenkop met echte dienstgegevens i.p.v. generieke tellers. */
.vsd-myday-page>.vsd-myday-hero{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;
  padding:18px 20px!important;border:1px solid #dbe7ef!important;border-radius:22px!important;
  background:linear-gradient(135deg,#fff 0%,#f2f8fc 100%)!important;
  box-shadow:0 10px 26px rgba(18,56,84,.045)!important
}
.vsd-myday-hero-copy>span{display:block;color:#6c8ca3;font-size:9px!important;font-weight:950!important;letter-spacing:.16em!important}
.vsd-myday-page>.vsd-myday-hero h1{margin:4px 0 4px!important;color:#133f65!important;font-size:29px!important;letter-spacing:-.025em!important}
.vsd-myday-page>.vsd-myday-hero p{margin:0!important;color:#748b9d!important;font-size:12px!important}
.vsd-myday-hero-service-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;overflow:hidden!important;border:1px solid #dce8f0!important;border-radius:16px!important;background:#fff!important}
.vsd-myday-hero-service-meta>span{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:9px!important;align-items:center!important;min-width:0!important;padding:11px 13px!important;border-right:1px solid #e5edf3!important}
.vsd-myday-hero-service-meta>span:last-child{border-right:0!important}
.vsd-myday-hero-service-meta i{grid-row:1/3;display:grid!important;place-items:center!important;width:31px!important;height:31px!important;border-radius:10px!important;background:#eef6fb!important;color:#2475aa!important;font-size:16px!important}
.vsd-myday-hero-service-meta b{overflow:hidden!important;color:#183f61!important;font-size:12px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.vsd-myday-hero-service-meta small{color:#8a9daa!important;font-size:7px!important;font-weight:850!important}

/* Grote buitenkaart juist terughoudend. */
.vsd-myday-as-service-view{overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.vsd-myday-overview-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 10px!important;padding:13px 15px!important;border:1px solid #dbe7ef!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(17,54,82,.04)!important}
.vsd-myday-overview-head .vsd-kicker{color:#7a95a8!important;font-size:7px!important}
.vsd-myday-overview-head h2{margin:2px 0 2px!important;color:#143f66!important;font-size:18px!important;line-height:1.1!important}
.vsd-myday-overview-head p{margin:0!important;color:#6f889a!important;font-size:9px!important;font-weight:750!important}
.vsd-myday-overview-head .vsd-myday-head-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important}
.vsd-myday-overview-head .button{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:34px!important;padding:6px 9px!important;border-radius:10px!important;font-size:8px!important;font-weight:850!important}
.vsd-myday-overview-head .button-primary{background:linear-gradient(135deg,#185f98,#103f70)!important;border-color:#164f80!important;box-shadow:0 6px 14px rgba(18,78,125,.12)!important}
.vsd-myday-overview-head .button .dashicons{width:14px!important;height:14px!important;font-size:14px!important}

/* Hoofdindeling van de goedgekeurde mockup. */
.vsd-myday-overview-layout{display:grid!important;grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr)!important;gap:12px!important;align-items:start!important}
.vsd-myday-today-panel,.vsd-myday-side-card{border:1px solid #dbe7ef!important;border-radius:19px!important;background:#fff!important;box-shadow:0 10px 25px rgba(17,54,82,.045)!important}
.vsd-myday-today-panel{padding:14px 14px 16px!important}
.vsd-myday-today-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:0 2px 10px!important}
.vsd-myday-today-head span:not(.vsd-myday-overview-count){display:block;color:#507997;font-size:7px;font-weight:950;letter-spacing:.14em}
.vsd-myday-today-head h3{margin:2px 0 2px;color:#143f66;font-size:17px;line-height:1.15}
.vsd-myday-today-head p{margin:0;color:#8195a4;font-size:9px}
.vsd-myday-overview-count{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef5f9;color:#58758a;font-size:8px;font-weight:900;white-space:nowrap}

/* De tijdlijn. */
.vsd-myday-overview-timeline{position:relative;display:grid;gap:7px;padding:1px 0}
.vsd-myday-overview-timeline:before{content:"";position:absolute;left:66px;top:17px;bottom:20px;width:2px;border-radius:999px;background:linear-gradient(180deg,#b4d5e8 0%,#d3e1ea 55%,#afcadd 100%)}
.vsd-myday-overview-item{position:relative;display:grid;grid-template-columns:52px 29px minmax(0,1fr);gap:0;align-items:center;min-width:0}
.vsd-myday-overview-time{padding-right:8px;text-align:right}
.vsd-myday-overview-time strong{color:#214d6d;font-size:11px;font-weight:950}
.vsd-myday-overview-node{position:relative;display:grid;place-items:center;height:100%;z-index:2}
.vsd-myday-overview-node i{display:block;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#7da7c2;box-shadow:0 0 0 2px #9fc0d5}
.vsd-myday-overview-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-width:0;min-height:70px;padding:9px 10px;border:1px solid #dce8f0;border-radius:14px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.vsd-myday-overview-card:hover{border-color:#c5dbe9;box-shadow:0 7px 18px rgba(19,65,98,.07);transform:translateY(-1px)}
.vsd-myday-overview-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf4fb;color:#1c6fa7}
.vsd-myday-overview-icon .dashicons{width:19px;height:19px;font-size:19px}
.vsd-myday-overview-copy{min-width:0}
.vsd-myday-overview-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.vsd-myday-overview-title small{display:inline-flex;align-items:center;min-height:19px;padding:3px 6px;border-radius:999px;background:#e8f4fc;color:#1870ad;font-size:6px;font-weight:950;letter-spacing:.07em}
.vsd-myday-overview-title strong{min-width:0;overflow:hidden;color:#153f64;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.vsd-myday-overview-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:5px;color:#71899b;font-size:8px;font-weight:750}
.vsd-myday-overview-meta>span{display:inline-flex;align-items:center;gap:3px}
.vsd-myday-overview-meta i.dashicons{width:11px;height:11px;font-size:11px;color:#2e6b94}
.vsd-myday-overview-meta .is-chip{padding:3px 6px;border:1px solid #dbe7ef;border-radius:7px;background:#f7fafc;color:#466880;font-size:7px;font-weight:900}
.vsd-myday-overview-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:5px 8px;border-radius:999px;font-size:7px;font-weight:950;white-space:nowrap}
.vsd-myday-overview-status.is-ok{background:#e7f7ed;color:#207d4b}.vsd-myday-overview-status.is-delay{background:#fff0e5;color:#b0541e}.vsd-myday-overview-status.is-cancelled{background:#fde8e8;color:#ac3737}.vsd-myday-overview-status.is-partial{background:#fff4dc;color:#936312}
.vsd-myday-overview-open{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #d5e3ec;border-radius:50%;background:#f9fcfe;color:#52748c;cursor:pointer}
.vsd-myday-overview-open:hover{background:#edf6fc;color:#17699f}
.vsd-myday-overview-open .dashicons{width:16px;height:16px;font-size:16px}
.vsd-myday-overview-item.state-current .vsd-myday-overview-card{border-color:#72b8df;box-shadow:0 0 0 3px rgba(53,151,207,.08)}
.vsd-myday-overview-item.state-current .vsd-myday-overview-node i{background:#1683c4;box-shadow:0 0 0 2px #82c3e8,0 0 0 6px rgba(34,141,202,.09)}
.vsd-myday-overview-item.state-past{opacity:.78}

/* Soortspecifiek: kleur genoeg om te herkennen, niet om de pagina te laten schreeuwen. */
.vsd-myday-overview-item.type-reserve .vsd-myday-overview-card{border-color:#ecdda9;background:linear-gradient(90deg,#fffdf6,#fffaf0)}
.vsd-myday-overview-item.type-reserve .vsd-myday-overview-icon{background:#fff0bd;color:#936b0d}.vsd-myday-overview-item.type-reserve .vsd-myday-overview-title small{background:#fff0bd;color:#89620b}.vsd-myday-overview-item.type-reserve .vsd-myday-overview-node i{background:#d5a828;box-shadow:0 0 0 2px #e7c96f}
.vsd-myday-overview-item.type-break .vsd-myday-overview-card{border-color:#efd7c0;background:linear-gradient(90deg,#fffaf5,#fff5ec)}
.vsd-myday-overview-item.type-break .vsd-myday-overview-icon{background:#ffead8;color:#af571a}.vsd-myday-overview-item.type-break .vsd-myday-overview-title small{background:#ffe9d5;color:#aa4e14}.vsd-myday-overview-item.type-break .vsd-myday-overview-node i{background:#d46e2e;box-shadow:0 0 0 2px #e9ad84}
.vsd-myday-overview-item.type-taxi .vsd-myday-overview-card{border-color:#cce8e3;background:linear-gradient(90deg,#f7fffd,#f1fbf9)}.vsd-myday-overview-item.type-taxi .vsd-myday-overview-icon{background:#e1f6f2;color:#187a6e}
.vsd-myday-overview-item.type-end .vsd-myday-overview-card{min-height:56px;background:#f7fafc}.vsd-myday-overview-item.type-end .vsd-myday-overview-icon{background:#e8f0f6;color:#315e7f}.vsd-myday-overview-item.type-end .vsd-myday-overview-node i{background:#7098b3}

/* Rechterkolom. */
.vsd-myday-overview-side{display:grid;gap:10px;min-width:0}
.vsd-myday-side-card{overflow:hidden}
.vsd-myday-side-head{display:flex;align-items:center;gap:7px;min-height:42px;padding:10px 11px;border-bottom:1px solid #e7eef3;background:linear-gradient(180deg,#fff,#fbfdfe)}
.vsd-myday-side-head>span.dashicons{width:18px;height:18px;font-size:18px;color:#2376ab}
.vsd-myday-side-head strong{flex:1;color:#173f61;font-size:11px}
.vsd-myday-side-head small{color:#91a2af;font-size:7px;font-weight:850}.vsd-myday-side-head a{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#f0f6fa;color:#51728a;text-decoration:none}.vsd-myday-side-head a .dashicons{width:15px;height:15px;font-size:15px}
.vsd-myday-service-info dl{margin:0;padding:3px 11px 9px}
.vsd-myday-service-info dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;padding:8px 1px;border-bottom:1px solid #edf2f5}.vsd-myday-service-info dl>div:last-child{border-bottom:0}.vsd-myday-service-info dt{color:#8a9ba8;font-size:7px;font-weight:850}.vsd-myday-service-info dd{margin:0;text-align:right;color:#244d6c;font-size:9px;font-weight:900;overflow-wrap:anywhere}

.vsd-myday-route-schematic{position:relative;min-height:165px;padding:13px;background:linear-gradient(145deg,#eaf4fb 0%,#f5f9fc 50%,#e5f1f8 100%);overflow:hidden}
.vsd-myday-route-schematic:before,.vsd-myday-route-schematic:after{content:"";position:absolute;border:1px solid rgba(77,135,174,.12);border-radius:50%;pointer-events:none}.vsd-myday-route-schematic:before{width:190px;height:190px;right:-70px;top:-85px}.vsd-myday-route-schematic:after{width:130px;height:130px;left:-55px;bottom:-80px}
.vsd-myday-route-track{position:relative;z-index:1;display:grid;gap:7px}
.vsd-myday-route-segment{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr) auto 15px minmax(0,1fr);align-items:center;gap:5px;min-height:27px;padding:6px 7px;border-radius:10px;background:rgba(255,255,255,.76);box-shadow:0 4px 12px rgba(29,78,111,.05)}
.vsd-myday-route-segment i{width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#1a70a9;box-shadow:0 0 0 2px #9cc9e3}.vsd-myday-route-segment b{min-width:0;overflow:hidden;color:#24506e;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.vsd-myday-route-segment em{color:#718b9e;font-size:6px;font-style:normal;font-weight:800}.vsd-myday-route-segment strong{color:#3583b4;font-size:11px}.vsd-myday-route-empty-small{display:grid;place-items:center;gap:5px;min-height:120px;padding:16px;color:#8398a7;text-align:center}.vsd-myday-route-empty-small .dashicons{font-size:26px;width:26px;height:26px}.vsd-myday-route-empty-small p{margin:0;font-size:8px}
.vsd-myday-side-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vsd-myday-side-stats>span{display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;padding:9px;border:1px solid #dce8f0;border-radius:13px;background:#fff}.vsd-myday-side-stats i{grid-row:1/3;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#ecf5fb;color:#2376ab;font-size:16px}.vsd-myday-side-stats b{color:#173f61;font-size:11px}.vsd-myday-side-stats small{color:#8297a6;font-size:6.5px;font-weight:850}

/* Onderste oude actiebar is vervangen door de actieknoppen in de dienstkop. */
.vsd-myday-as-service-view>.vsd-myday-service-actions{display:none!important}

/* iPad: twee kolommen behouden, zoals de mockup. */
@media(max-width:1100px) and (min-width:721px){
  .vsd-myday-overview-layout{grid-template-columns:minmax(0,1.42fr) minmax(255px,.75fr)!important;gap:9px!important}
  .vsd-myday-overview-head{align-items:flex-start!important}.vsd-myday-overview-head .vsd-myday-head-actions{max-width:470px!important}
  .vsd-myday-hero-service-meta>span{padding:9px!important}.vsd-myday-hero-service-meta b{font-size:10px!important}
  .vsd-myday-overview-card{grid-template-columns:34px minmax(0,1fr) auto 28px!important;min-height:64px!important;padding:8px!important}.vsd-myday-overview-icon{width:34px;height:34px!important}.vsd-myday-overview-title strong{font-size:10px!important}.vsd-myday-overview-status{font-size:6.5px!important;padding:4px 6px!important}
  .vsd-myday-overview-time strong{font-size:10px!important}
}

/* Telefoon: nul horizontale scroll. Eerst dienst, dan tijdlijn, dan compact infodeel. */
@media(max-width:720px){
  .vsd-myday-page>.vsd-myday-hero{gap:10px!important;padding:13px 12px!important;border-radius:16px!important}
  .vsd-myday-page>.vsd-myday-hero h1{font-size:21px!important}.vsd-myday-page>.vsd-myday-hero p{font-size:9px!important}
  .vsd-myday-hero-service-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:13px!important}.vsd-myday-hero-service-meta>span{padding:8px!important;border-bottom:1px solid #e5edf3!important}.vsd-myday-hero-service-meta>span:nth-child(2n){border-right:0!important}.vsd-myday-hero-service-meta>span:nth-last-child(-n+2){border-bottom:0!important}.vsd-myday-hero-service-meta b{font-size:9px!important}.vsd-myday-hero-service-meta small{font-size:6px!important}
  .vsd-myday-overview-head{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:11px!important;border-radius:14px!important}.vsd-myday-overview-head h2{font-size:16px!important}.vsd-myday-overview-head .vsd-myday-head-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none!important}.vsd-myday-overview-head .button{width:100%!important;min-width:0!important;justify-content:center!important;min-height:33px!important;font-size:7.5px!important;padding:5px!important}
  .vsd-myday-overview-layout{grid-template-columns:1fr!important;gap:8px!important}
  .vsd-myday-today-panel{padding:10px 8px 11px!important;border-radius:15px!important}.vsd-myday-today-head{padding:0 2px 8px!important}.vsd-myday-today-head h3{font-size:14px!important}.vsd-myday-today-head p{font-size:7.5px!important}.vsd-myday-overview-count{min-height:24px!important;font-size:6.5px!important}
  .vsd-myday-overview-timeline:before{left:49px!important}.vsd-myday-overview-item{grid-template-columns:37px 22px minmax(0,1fr)!important}.vsd-myday-overview-time{padding-right:5px!important}.vsd-myday-overview-time strong{font-size:8.5px!important}.vsd-myday-overview-node i{width:9px!important;height:9px!important;border-width:2px!important}
  .vsd-myday-overview-card{grid-template-columns:31px minmax(0,1fr) auto!important;gap:7px!important;min-height:57px!important;padding:7px!important;border-radius:11px!important}.vsd-myday-overview-icon{width:31px!important;height:31px!important;border-radius:9px!important}.vsd-myday-overview-icon .dashicons{width:16px!important;height:16px!important;font-size:16px!important}.vsd-myday-overview-title{gap:4px!important}.vsd-myday-overview-title small{min-height:16px!important;padding:2px 4px!important;font-size:5px!important}.vsd-myday-overview-title strong{flex:1 1 100%!important;font-size:9px!important;white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}.vsd-myday-overview-meta{gap:3px 5px!important;margin-top:3px!important;font-size:6.5px!important}.vsd-myday-overview-meta .is-chip{font-size:5.5px!important;padding:2px 4px!important}.vsd-myday-overview-status{grid-column:3!important;grid-row:1!important;align-self:start!important;min-height:20px!important;padding:3px 5px!important;font-size:5.5px!important}.vsd-myday-overview-open{grid-column:3!important;grid-row:1!important;align-self:end!important;width:24px!important;height:24px!important}.vsd-myday-overview-open .dashicons{width:13px!important;height:13px!important;font-size:13px!important}
  .vsd-myday-overview-item.type-train .vsd-myday-overview-card{grid-template-columns:31px minmax(0,1fr) 50px!important}.vsd-myday-overview-item.type-train .vsd-myday-overview-open{margin-top:23px!important}
  .vsd-myday-overview-side{gap:7px!important}.vsd-myday-side-card{border-radius:14px!important}.vsd-myday-service-info dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 8px!important;padding:3px 9px 8px!important}.vsd-myday-service-info dl>div{grid-template-columns:1fr!important;gap:2px!important;padding:6px 1px!important}.vsd-myday-service-info dd{text-align:left!important;font-size:8px!important}.vsd-myday-route-schematic{min-height:120px!important;padding:9px!important}.vsd-myday-route-segment{grid-template-columns:7px minmax(0,1fr) 13px minmax(0,1fr)!important;gap:4px!important;padding:5px!important}.vsd-myday-route-segment em{display:none!important}.vsd-myday-route-segment b{font-size:6.5px!important}.vsd-myday-side-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.vsd-myday-side-stats>span{padding:7px!important}.vsd-myday-side-stats i{width:27px!important;height:27px!important}.vsd-myday-side-stats b{font-size:9px!important}.vsd-myday-side-stats small{font-size:5.5px!important}
}

@media(max-width:390px){
  .vsd-myday-overview-head .vsd-myday-head-actions{grid-template-columns:1fr!important}
  .vsd-myday-overview-title strong{font-size:8.5px!important}.vsd-myday-overview-meta>span:nth-child(n+3){display:none!important}
  .vsd-myday-side-stats{grid-template-columns:1fr 1fr!important}
}


/* ========================================================================
   v4.00.24 · Uitval in dagcockpit + echte routekaart + voortijd/natijd
   ======================================================================== */
.vsd-myday-overview-train-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.vsd-myday-overview-cancel{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid #efd0d0;border-radius:10px;background:#fff7f7;color:#a94848;font-size:8px;font-weight:900;cursor:pointer}.vsd-myday-overview-cancel .dashicons{width:14px;height:14px;font-size:14px}.vsd-myday-overview-item.type-duty-buffer .vsd-myday-overview-card{background:linear-gradient(135deg,#f5f9fc,#eef5fa);border-color:#d8e6ef}.vsd-myday-overview-item.type-duty-buffer .vsd-myday-overview-icon{background:#e2eef6;color:#406b88}.vsd-myday-overview-item.type-duty-buffer .vsd-myday-overview-node i{background:#6f9ab6}.vsd-myday-overview-item.type-duty-buffer .vsd-myday-overview-title small{color:#6c8799}.vsd-myday-overview-item.type-duty-buffer .vsd-myday-overview-title strong{color:#244b67}.vsd-myday-route-today{overflow:hidden}.vsd-myday-route-map{height:245px!important;min-height:245px!important;padding:0!important;border-radius:0 0 18px 18px!important;background:#e8f1f6!important;overflow:hidden!important}.vsd-myday-route-map.leaflet-container,.vsd-myday-route-map .leaflet-container{height:100%;width:100%}.vsd-myday-route-map .leaflet-control-attribution{font-size:6px!important}.vsd-myday-route-map .leaflet-tile-pane{filter:saturate(.72) brightness(1.03)}
.vsd-myday-cancel-modal{z-index:1000000!important}.vsd-myday-cancel-dialog{position:relative;z-index:2;width:min(700px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 34px));overflow:auto;border:1px solid #dce7ef;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(7,32,56,.28)}.vsd-myday-cancel-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e4edf3;background:linear-gradient(135deg,#fff,#f7fbfd)}.vsd-myday-cancel-dialog>header h2{margin:3px 0 4px;color:#173f61;font-size:20px}.vsd-myday-cancel-dialog>header p{margin:0;color:#6f8798;font-size:10px;line-height:1.5}.vsd-myday-cancel-dialog form{padding:16px 20px 20px}.vsd-myday-cancel-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.vsd-myday-cancel-fields label{display:grid;gap:5px}.vsd-myday-cancel-fields label>span{color:#5d778b;font-size:9px;font-weight:900;letter-spacing:.05em}.vsd-myday-cancel-fields select,.vsd-myday-cancel-fields textarea{width:100%;min-height:42px;border:1px solid #cadce8;border-radius:11px;background:#fff;color:#183f60}.vsd-myday-cancel-fields .is-wide{grid-column:1/-1}.vsd-myday-cancel-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid #e6edf2}.vsd-myday-cancel-dialog footer .button{min-height:40px;border-radius:10px}.vsd-setting-minutes{display:flex;align-items:center;gap:8px}.vsd-setting-minutes input{min-width:0}.vsd-setting-minutes b{color:#6a7f90;font-size:11px}.vsd-duty-buffer-settings .vsd-alert{margin-top:12px}.vsd-myday-plan-list article.type-duty-buffer{background:#f3f8fb;border-color:#dce8ef}.vsd-myday-plan-list article.type-duty-buffer>.dashicons{color:#507b97}
@media(max-width:720px){.vsd-myday-overview-train-actions{gap:4px}.vsd-myday-overview-cancel{width:32px;min-width:32px;height:32px;padding:0;justify-content:center}.vsd-myday-overview-cancel>span:last-child{display:none}.vsd-myday-route-map{height:205px!important;min-height:205px!important}.vsd-myday-cancel-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 24px);border-radius:18px}.vsd-myday-cancel-dialog>header{padding:14px}.vsd-myday-cancel-dialog>header h2{font-size:17px}.vsd-myday-cancel-dialog form{padding:12px 14px 16px}.vsd-myday-cancel-fields{grid-template-columns:1fr}.vsd-myday-cancel-fields .is-wide{grid-column:auto}.vsd-myday-cancel-dialog footer{position:sticky;bottom:-16px;margin-left:-14px;margin-right:-14px;margin-bottom:-16px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 22px rgba(11,45,71,.08)}.vsd-myday-cancel-dialog footer .button{flex:1 1 0}}


/* v4.00.25 · voortijd/natijd overal vaste onderdelen + profielroute over echte spoorgeometrie */
.vsd-friend-history-row.type-pre,.vsd-friend-history-row.type-post,.vsd-friend-timeline-row.type-pre,.vsd-friend-timeline-row.type-post{background:linear-gradient(135deg,#f6fafc,#eef5f9)}
.vsd-friend-history-row>.dashicons-clock,.vsd-friend-history-row>.dashicons-update,.vsd-friend-timeline-row>.dashicons-clock,.vsd-friend-timeline-row>.dashicons-update{color:#4f7892}
.vsd-profile-year-map .leaflet-overlay-pane svg,.vsd-friend-day-route-map .leaflet-overlay-pane svg{filter:drop-shadow(0 1px 2px rgba(10,66,105,.16))}

/* v4.00.26 · voortijd en natijd elk een eigen visuele rol */
.vsd-myday-plan-list article.type-duty-buffer.type-pre{background:#f1faf8;border-color:#c9e7e2}.vsd-myday-plan-list article.type-duty-buffer.type-pre>.dashicons{color:#27786f}
.vsd-myday-plan-list article.type-duty-buffer.type-post{background:#faf6fd;border-color:#dfd2ed}.vsd-myday-plan-list article.type-duty-buffer.type-post>.dashicons{color:#7655a2}
.vsd-myday-overview-item.type-duty-buffer.type-pre .vsd-myday-overview-card{background:linear-gradient(135deg,#f4fbfa,#e9f7f5);border-color:#c8e5e1}.vsd-myday-overview-item.type-duty-buffer.type-pre .vsd-myday-overview-icon{background:#dff2ef;color:#27786f}.vsd-myday-overview-item.type-duty-buffer.type-pre .vsd-myday-overview-node i{background:#2f8f84}.vsd-myday-overview-item.type-duty-buffer.type-pre .vsd-myday-overview-title small,.vsd-myday-overview-item.type-duty-buffer.type-pre .vsd-myday-overview-title strong{color:#276c65}
.vsd-myday-overview-item.type-duty-buffer.type-post .vsd-myday-overview-card{background:linear-gradient(135deg,#fbf8fd,#f2ecf9);border-color:#dfd2ed}.vsd-myday-overview-item.type-duty-buffer.type-post .vsd-myday-overview-icon{background:#eee5f7;color:#7655a2}.vsd-myday-overview-item.type-duty-buffer.type-post .vsd-myday-overview-node i{background:#8a69b5}.vsd-myday-overview-item.type-duty-buffer.type-post .vsd-myday-overview-title small,.vsd-myday-overview-item.type-duty-buffer.type-post .vsd-myday-overview-title strong{color:#65478e}

/* v4.00.34 · HC trajecten & stations */
.vsd-hc-coverage-page{display:grid;gap:14px}.vsd-hc-coverage-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid #d6e4ef;border-radius:22px;background:linear-gradient(135deg,#f7fbff,#eef6fb);box-shadow:0 10px 28px rgba(24,70,106,.06)}.vsd-hc-coverage-hero h1{margin:4px 0 7px;color:#153f65;font-size:31px;line-height:1.05}.vsd-hc-coverage-hero p{max-width:820px;margin:0;color:#6b8195;line-height:1.55}.vsd-hc-coverage-hero-icon{display:grid!important;place-items:center;flex:0 0 72px;width:72px;height:72px;border-radius:20px;background:#e2f1fa;color:#17679b;font-size:34px!important}.vsd-hc-coverage-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vsd-hc-coverage-summary article{padding:18px 20px;border:1px solid #dce7ef;border-radius:18px;background:#fff}.vsd-hc-coverage-summary small{display:block;color:#6e879c;font-size:10px;font-weight:850;letter-spacing:.14em}.vsd-hc-coverage-summary strong{display:inline-block;margin-top:4px;color:#164c78;font-size:33px;line-height:1}.vsd-hc-coverage-summary span{margin-left:7px;color:#708397;font-size:13px;font-weight:700}.vsd-hc-coverage-summary em{display:block;margin-top:7px;color:#72879a;font-size:11px;font-style:normal;font-weight:700}.vsd-hc-progress{height:8px;margin-top:13px;overflow:hidden;border-radius:999px;background:#edf2f6}.vsd-hc-progress i{display:block;height:100%;border-radius:inherit;background:#2980b9}.vsd-hc-coverage-panel{padding:20px!important}.vsd-hc-coverage-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.vsd-hc-coverage-head h2{margin:2px 0 4px;color:#173f63}.vsd-hc-coverage-head p{max-width:780px;margin:0;color:#72869a;font-size:12px;line-height:1.5}.vsd-hc-coverage-search{display:flex;align-items:center;gap:7px;min-width:240px;padding:8px 11px;border:1px solid #d4e0e9;border-radius:12px;background:#fff}.vsd-hc-coverage-search .dashicons{color:#718ba0}.vsd-hc-coverage-search input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#173f63;font-size:12px}.vsd-hc-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vsd-hc-route-card{padding:14px 15px;border:1px solid #dce7ef;border-radius:15px;background:#fbfdff}.vsd-hc-route-card header{display:flex;align-items:center;gap:7px;margin-bottom:8px}.vsd-hc-route-card header>span:last-child{margin-left:auto;color:#a36c12;font-size:9px;font-weight:850;text-transform:uppercase}.vsd-hc-route-code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#e8f2f9;color:#185c8a;font-size:10px;font-weight:900;letter-spacing:.05em}.vsd-hc-route-card strong{display:block;color:#173e61;font-size:14px}.vsd-hc-route-card>small{display:block;margin-top:5px;color:#7c8fa1;font-size:10px;line-height:1.4}.vsd-hc-station-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vsd-hc-station-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dde7ee;border-radius:14px;background:#fff}.vsd-hc-station-card>.dashicons{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#eef6fb;color:#2675a6}.vsd-hc-station-card strong{display:block;color:#193f60;font-size:12px}.vsd-hc-station-card small{display:block;margin-top:2px;color:#8192a1;font-size:9px}.vsd-hc-all-done{display:flex;align-items:center;gap:11px;padding:16px;border:1px solid #cfe7d9;border-radius:15px;background:#f2fbf6;color:#207348}.vsd-hc-all-done>.dashicons{font-size:26px;width:26px;height:26px}.vsd-hc-all-done strong,.vsd-hc-all-done small{display:block}.vsd-hc-all-done small{margin-top:2px;color:#6c8b78}.vsd-hc-coverage-locked{padding:28px;text-align:center}.vsd-hc-coverage-locked>.dashicons{font-size:36px;width:36px;height:36px;color:#8094a5}
@media(max-width:820px){.vsd-hc-route-grid{grid-template-columns:1fr}.vsd-hc-station-grid{grid-template-columns:1fr 1fr}.vsd-hc-coverage-head{align-items:stretch;flex-direction:column}.vsd-hc-coverage-search{min-width:0;width:100%}}
@media(max-width:560px){.vsd-hc-coverage-page{gap:10px}.vsd-hc-coverage-hero{align-items:flex-start;padding:18px;border-radius:17px}.vsd-hc-coverage-hero h1{font-size:25px}.vsd-hc-coverage-hero p{font-size:11px}.vsd-hc-coverage-hero-icon{flex-basis:50px;width:50px;height:50px;border-radius:14px;font-size:25px!important}.vsd-hc-coverage-summary{gap:7px}.vsd-hc-coverage-summary article{padding:13px}.vsd-hc-coverage-summary strong{font-size:27px}.vsd-hc-coverage-summary span{display:block;margin:3px 0 0}.vsd-hc-coverage-panel{padding:14px!important}.vsd-hc-station-grid{grid-template-columns:1fr}.vsd-hc-route-card{padding:12px}}

/* v4.00.35 · compacte HC-dekking: gehad/nog niet + alleen NS-stations */
.vsd-hc-status-tabs{display:flex;gap:7px;margin:0 0 12px;padding:4px;border:1px solid #dbe6ee;border-radius:13px;background:#f4f8fb;width:max-content;max-width:100%}
.vsd-hc-status-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border:0;border-radius:9px;background:transparent;color:#688095;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.vsd-hc-status-tabs button .dashicons{width:15px;height:15px;font-size:15px}.vsd-hc-status-tabs button b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#e5edf3;color:#5b7488;font-size:9px}
.vsd-hc-status-tabs button.is-active{background:#fff;color:#174f7a;box-shadow:0 3px 10px rgba(25,72,106,.09)}.vsd-hc-status-tabs button.is-active b{background:#dff0fa;color:#17638f}
.vsd-hc-route-card{display:flex;align-items:center;gap:10px;min-height:68px;padding:11px 12px!important}.vsd-hc-route-card.is-done{border-color:#d2e9dc;background:#f6fcf8}.vsd-hc-route-card.is-missing{border-color:#eadfca;background:#fffcf6}
.vsd-hc-route-symbol{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#eef6fb;color:#2675a6}.vsd-hc-route-card.is-done .vsd-hc-route-symbol{background:#e4f5eb;color:#2d8752}.vsd-hc-route-card.is-missing .vsd-hc-route-symbol{background:#fbf0dc;color:#a8751c}.vsd-hc-route-symbol .dashicons{width:17px;height:17px;font-size:17px}
.vsd-hc-route-copy{min-width:0;flex:1}.vsd-hc-route-copy strong{display:block;overflow:hidden;color:#173e61;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.vsd-hc-route-copy small{display:block;margin-top:3px;color:#7b8fa1;font-size:9px;line-height:1.35}.vsd-hc-route-copy small b{color:#3b7658}
.vsd-hc-route-card>.vsd-mcn-hsl-badge{flex:0 0 auto}
.vsd-hc-station-card{min-height:60px;padding:10px 11px}.vsd-hc-station-card.is-done{border-color:#d2e9dc;background:#f7fcf9}.vsd-hc-station-card.is-done>.dashicons{background:#e4f5eb;color:#2d8752}.vsd-hc-station-card.is-missing{background:#fffdf9}.vsd-hc-station-title{display:flex;align-items:center;gap:6px;min-width:0}.vsd-hc-station-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsd-hc-ns-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:17px;padding:0 5px;border-radius:5px;background:#f7c500;color:#153f65;font-size:7px;font-weight:950;letter-spacing:.05em}.vsd-hc-station-card small b{color:#3b7658}
.vsd-hc-more{display:block;width:100%;margin-top:11px;min-height:38px;border:1px solid #cedde8;border-radius:11px;background:#f7fafc;color:#285d83;font-size:10px;font-weight:900;cursor:pointer}.vsd-hc-more:hover{background:#eef6fb}
.vsd-hc-source-note{display:flex;align-items:flex-start;gap:8px;margin:-2px 0 11px;padding:9px 10px;border:1px solid #eadcbf;border-radius:11px;background:#fffaf0;color:#80643a;font-size:9px;line-height:1.45}.vsd-hc-source-note.is-ok{border-color:#d5e8dd;background:#f4fbf7;color:#4f7760}.vsd-hc-source-note .dashicons{flex:0 0 16px;width:16px;height:16px;font-size:16px}
.vsd-hc-coverage-panel>.vsd-empty{margin-top:10px}.vsd-hc-coverage-head{margin-bottom:11px}
@media(max-width:560px){.vsd-hc-status-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.vsd-hc-status-tabs button{justify-content:center;min-width:0;padding:7px 6px}.vsd-hc-route-grid,.vsd-hc-station-grid{gap:7px}.vsd-hc-route-card{min-height:61px;padding:9px 10px!important}.vsd-hc-route-symbol{flex-basis:30px;width:30px;height:30px}.vsd-hc-route-copy strong{font-size:10px}.vsd-hc-route-copy small{font-size:8px}.vsd-hc-station-card{min-height:55px;padding:9px}.vsd-hc-station-card strong{font-size:10px}.vsd-hc-station-card small{font-size:8px}.vsd-hc-coverage-search{padding:7px 9px}.vsd-hc-more{min-height:36px}}

/* v4.00.36 · HC overzicht eerst, volledige lijsten pas op verzoek */
.vsd-hc-overview-panel{padding:18px!important}.vsd-hc-overview-head{margin-bottom:12px}.vsd-hc-overview-head h2{margin:2px 0 4px;color:#173f63}.vsd-hc-overview-head p{margin:0;color:#72869a;font-size:11px;line-height:1.45}
.vsd-hc-overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:11px}.vsd-hc-overview-block{overflow:hidden;border:1px solid #dbe6ee;border-radius:15px;background:#fff}.vsd-hc-overview-block>header{display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid #e8eff4;background:#f8fbfd}.vsd-hc-overview-block>header>.dashicons{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e8f3fa;color:#24709f;font-size:16px}.vsd-hc-overview-block>header strong,.vsd-hc-overview-block>header small{display:block}.vsd-hc-overview-block>header strong{color:#183f60;font-size:11px}.vsd-hc-overview-block>header small{margin-top:1px;color:#8293a2;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.vsd-hc-overview-rank{display:grid}.vsd-hc-overview-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:43px;padding:7px 10px;border-bottom:1px solid #edf2f5}.vsd-hc-overview-row:last-child{border-bottom:0}.vsd-hc-overview-pos{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef5f9;color:#55768d;font-size:8px;font-weight:900}.vsd-hc-overview-name{min-width:0}.vsd-hc-overview-name strong{display:block;overflow:hidden;color:#1c4260;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.vsd-hc-overview-name small{display:block;margin-top:2px;color:#8494a1;font-size:8px}.vsd-hc-overview-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:25px;padding:0 7px;border-radius:999px;background:#e6f5ec;color:#2e7950;font-size:9px;font-weight:900}.vsd-hc-overview-empty{padding:16px;color:#8192a0;font-size:9px;text-align:center}.vsd-hc-overview-jump{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;border-top:1px solid #e8eff4;background:#fbfdfe;color:#2b668f;font-size:9px;font-weight:850;text-decoration:none}.vsd-hc-overview-jump .dashicons{width:13px;height:13px;font-size:13px}
.vsd-hc-details{padding:0!important;overflow:hidden}.vsd-hc-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:13px 16px;cursor:pointer;list-style:none;background:#fff}.vsd-hc-details>summary::-webkit-details-marker{display:none}.vsd-hc-details>summary>div{min-width:0}.vsd-hc-details>summary .vsd-kicker{display:block;margin-bottom:2px}.vsd-hc-details>summary strong{display:block;color:#173f63;font-size:13px}.vsd-hc-details>summary small{display:block;margin-top:2px;color:#8192a0;font-size:9px}.vsd-hc-details>summary>.dashicons{flex:0 0 18px;width:18px;height:18px;color:#5e7b90;font-size:18px;transition:transform .18s ease}.vsd-hc-details[open]>summary{border-bottom:1px solid #e5edf3;background:#f9fbfd}.vsd-hc-details[open]>summary>.dashicons{transform:rotate(180deg)}.vsd-hc-details-body{padding:14px 16px 16px}
.vsd-hc-details .vsd-hc-route-grid,.vsd-hc-details .vsd-hc-station-grid{display:grid;grid-template-columns:1fr;gap:0;border:1px solid #e0e9ef;border-radius:12px;overflow:hidden;background:#fff}.vsd-hc-details .vsd-hc-route-card,.vsd-hc-details .vsd-hc-station-card{min-height:48px!important;margin:0;padding:7px 9px!important;border:0!important;border-bottom:1px solid #edf2f5!important;border-radius:0!important;background:#fff!important}.vsd-hc-details [data-vsd-hc-item]:last-child{border-bottom:0!important}.vsd-hc-details .vsd-hc-route-symbol,.vsd-hc-details .vsd-hc-station-card>.dashicons{flex-basis:27px;width:27px;height:27px;border-radius:8px;font-size:14px!important}.vsd-hc-details .vsd-hc-route-symbol .dashicons{width:14px;height:14px;font-size:14px}.vsd-hc-details .vsd-hc-route-copy strong,.vsd-hc-details .vsd-hc-station-card strong{font-size:10px}.vsd-hc-details .vsd-hc-route-copy small,.vsd-hc-details .vsd-hc-station-card small{font-size:8px}.vsd-hc-details .vsd-hc-more{margin-top:8px;min-height:34px}.vsd-hc-details .vsd-hc-coverage-head{margin-bottom:9px}.vsd-hc-details .vsd-hc-coverage-head h2{font-size:16px}.vsd-hc-details .vsd-hc-coverage-head p{font-size:9px}.vsd-hc-details .vsd-hc-status-tabs{margin-bottom:9px}
@media(max-width:760px){.vsd-hc-overview-columns{grid-template-columns:1fr}.vsd-hc-overview-panel{padding:13px!important}.vsd-hc-overview-block>header{padding:9px 10px}.vsd-hc-overview-row{min-height:39px;padding:6px 8px}.vsd-hc-overview-name strong{font-size:9px}.vsd-hc-overview-name small{font-size:7px}.vsd-hc-overview-count{min-width:33px;height:23px;font-size:8px}.vsd-hc-details>summary{min-height:60px;padding:11px 13px}.vsd-hc-details-body{padding:11px 12px 13px}}
@media(max-width:430px){.vsd-hc-coverage-hero p{max-width:250px}.vsd-hc-coverage-summary article{padding:11px}.vsd-hc-coverage-summary strong{font-size:24px}.vsd-hc-coverage-summary em{font-size:8px}.vsd-hc-overview-head p{font-size:9px}.vsd-hc-overview-row{grid-template-columns:20px minmax(0,1fr) auto;gap:6px}.vsd-hc-overview-pos{width:20px;height:20px;font-size:7px}.vsd-hc-overview-jump{min-height:33px}.vsd-hc-details .vsd-hc-coverage-head{gap:8px}.vsd-hc-details .vsd-hc-status-tabs button{min-height:32px;font-size:9px}}

/* v4.00.38 · HC kaartkleuren: groen = gehad, rood = nog niet */
.vsd-hc-details [data-vsd-hc-item][hidden]{display:none!important}
.vsd-hc-map-panel{padding:16px!important;overflow:hidden}
.vsd-hc-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px}
.vsd-hc-map-head h2{margin:2px 0 4px;color:#173f63;font-size:18px;line-height:1.2}.vsd-hc-map-head p{margin:0;max-width:620px;color:#72869a;font-size:10px;line-height:1.45}
.vsd-hc-map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.vsd-hc-map-legend span{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid #dce6ed;border-radius:999px;background:#fff;color:#5f7486;font-size:8px;font-weight:850;white-space:nowrap}.vsd-hc-map-legend span i{display:block;width:8px;height:8px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(38,66,87,.12)}.vsd-hc-map-legend .is-done i{background:#2f9d67}.vsd-hc-map-legend .is-missing i{background:#d94848}.vsd-hc-map-legend b{color:#284f6d;font-size:8px}
.vsd-hc-map-wrap{overflow:hidden;border:1px solid #dce7ee;border-radius:15px;background:#eef3f6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.vsd-hc-station-map{position:relative;width:100%;height:300px;min-height:240px;background:linear-gradient(145deg,#eef4f7,#e4edf2)}.vsd-hc-station-map.leaflet-container{font-family:inherit}
.vsd-hc-map-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;align-content:center;gap:7px;color:#648096;font-size:10px;text-align:center}.vsd-hc-map-loading .dashicons{width:23px;height:23px;font-size:23px;color:#2c77a5}.vsd-hc-map-loading.is-error{color:#9a5c5c}.vsd-hc-map-loading.is-error .dashicons{color:#b94c4c}
.vsd-hc-map-note{display:flex;align-items:center;gap:6px;margin-top:8px;color:#788c9d;font-size:8px;line-height:1.4}.vsd-hc-map-note .dashicons{flex:0 0 14px;width:14px;height:14px;font-size:14px;color:#4a7797}
.vsd-hc-station-map .leaflet-control-zoom{overflow:hidden;margin-top:9px;margin-right:9px;border:0!important;border-radius:9px!important;box-shadow:0 3px 12px rgba(24,59,82,.16)!important}.vsd-hc-station-map .leaflet-control-zoom a{width:27px;height:27px;line-height:27px;border:0!important;color:#2e5876;font-size:15px}.vsd-hc-station-map .leaflet-control-attribution{padding:2px 5px!important;background:rgba(255,255,255,.78)!important;color:#738695!important;font-size:6px!important}.vsd-hc-station-map .leaflet-control-attribution a{color:#55778f!important}
.vsd-hc-station-map .leaflet-tooltip{padding:4px 6px;border:0;border-radius:7px;background:#173f63;color:#fff;font-family:inherit;font-size:8px;font-weight:800;box-shadow:0 3px 10px rgba(15,45,67,.18)}.vsd-hc-station-map .leaflet-tooltip:before{border-top-color:#173f63}
.vsd-hc-map-popup{display:grid;gap:3px;min-width:120px;font-family:inherit}.vsd-hc-map-popup strong{color:#183f60;font-size:11px}.vsd-hc-map-popup span{font-size:8px;font-weight:800}.vsd-hc-map-popup span.is-done{color:#2b875a}.vsd-hc-map-popup span.is-missing{color:#bd3d3d}.vsd-hc-station-map .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 6px 18px rgba(24,59,82,.18)}.vsd-hc-station-map .leaflet-popup-content{margin:9px 11px}
@media(max-width:560px){.vsd-hc-map-panel{padding:12px!important}.vsd-hc-map-head{align-items:flex-start;flex-direction:column;gap:8px}.vsd-hc-map-head h2{font-size:15px}.vsd-hc-map-head p{font-size:9px}.vsd-hc-map-legend{justify-content:flex-start;width:100%}.vsd-hc-map-legend span{min-height:25px;padding:3px 7px;font-size:7px}.vsd-hc-station-map{height:255px;min-height:255px}.vsd-hc-map-note{font-size:7px}}

/* ========================================================================
   v4.00.42 · Mijn diensten mobiel: compacte kopmaakmelding + duidelijke acties
   ======================================================================== */
.vsd-myday-overview-open-label{display:none}
.vsd-myday-overview-item.type-train .vsd-myday-overview-route-button{transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.vsd-myday-overview-item.type-train .vsd-myday-overview-route-button:hover,
.vsd-myday-overview-item.type-train .vsd-myday-overview-route-button:focus{border-color:#9fc9e2;background:#edf7fd;color:#145f90;box-shadow:0 4px 12px rgba(20,95,144,.10)}

@media(max-width:720px){
  /* De waarschuwing blijft zichtbaar, maar is niet langer een halve kaart op zichzelf. */
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    align-items:center!important;
    gap:5px!important;
    margin-top:5px!important;
    padding:4px 7px!important;
    border-radius:8px!important;
    border-color:#ead28d!important;
    background:#fff9e8!important;
    box-shadow:none!important;
    line-height:1.1!important;
  }
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact>.vsd-kopmaak-inline-icon{
    width:17px!important;
    height:17px!important;
    flex:0 0 17px!important;
    border-radius:6px!important;
    font-size:10px!important;
  }
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact>div,
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact>div>span{display:block!important;min-width:0!important}
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact strong{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:7px!important;
    line-height:1.2!important;
  }
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact small{display:none!important}

  /* De treinrit krijgt één rustige actiebalk in plaats van twee zwevende pictogrammen. */
  .vsd-myday-overview-item.type-train .vsd-myday-overview-card{
    grid-template-columns:31px minmax(0,1fr) auto!important;
    align-items:start!important;
    row-gap:7px!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-copy{align-self:start!important}
  .vsd-myday-overview-item.type-train .vsd-myday-overview-status{
    grid-column:3!important;
    grid-row:1!important;
    align-self:start!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-train-actions{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px!important;
    width:100%!important;
    margin-top:1px!important;
    padding-top:7px!important;
    border-top:1px solid #e6eef3!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel,
  .vsd-myday-overview-item.type-train .vsd-myday-overview-route-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:9px!important;
    font-size:7.5px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel{
    border-color:#e7baba!important;
    background:#fff4f4!important;
    color:#a83e3e!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel:hover,
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel:focus{
    border-color:#d99494!important;
    background:#feeaea!important;
    color:#913030!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel>span:last-child{display:inline!important}
  .vsd-myday-overview-item.type-train .vsd-myday-overview-route-button{
    border:1px solid #b9d8e9!important;
    background:#f2f9fd!important;
    color:#236c97!important;
  }
  .vsd-myday-overview-item.type-train .vsd-myday-overview-open-label{display:inline!important}
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel .dashicons,
  .vsd-myday-overview-item.type-train .vsd-myday-overview-route-button .dashicons{
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
    line-height:13px!important;
  }
}

@media(max-width:390px){
  .vsd-myday-overview-item.type-train .vsd-myday-overview-cancel,
  .vsd-myday-overview-item.type-train .vsd-myday-overview-route-button{font-size:7px!important;padding:0 5px!important}
  .vsd-myday-overview-copy>.vsd-kopmaak-inline.is-compact strong{font-size:6.5px!important}
}

/* v4.00.45 · treinvertrek/aankomst met HH:MM:SS zonder mobiele tijdlijn te pletten. */
.vsd-myday-overview-time strong,
.vsd-myday-overview-meta,
.vsd-myday-time,
.vsd-flow-time,
.vsd-ride-compact-time{font-variant-numeric:tabular-nums}
.vsd-myday-overview-item{grid-template-columns:68px 29px minmax(0,1fr)}
.vsd-myday-overview-timeline:before{left:82px}
@media(max-width:720px){
  .vsd-myday-overview-timeline:before{left:62px!important}
  .vsd-myday-overview-item{grid-template-columns:50px 22px minmax(0,1fr)!important}
  .vsd-myday-overview-time{padding-right:5px!important}
  .vsd-myday-overview-time strong{font-size:7.7px!important;letter-spacing:-.02em!important;white-space:nowrap!important}
}

/* v4.00.50 · portal fallback voor stopvertraging-badge en live-deelkaart. */
.vsd-stop-delay-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;padding:2px 6px;border:1px solid #f0c779;border-radius:999px;background:#fff4dc;color:#a75f00;font-size:8px!important;line-height:1.15;font-weight:900!important;white-space:nowrap;vertical-align:middle}
.vsd-public-share-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;margin:12px 0 0;padding:14px 15px;border:1px solid #d9e6ee;border-radius:17px;background:linear-gradient(135deg,#fff,#f5faff);box-shadow:0 8px 24px rgba(21,73,108,.06)}
.vsd-public-share-card.is-active{border-color:#b9dccd;background:linear-gradient(135deg,#fff,#f4fbf8)}
.vsd-public-share-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e8f4fc;color:#176fa9}.vsd-public-share-card.is-active .vsd-public-share-icon{background:#e3f7ed;color:#238357}.vsd-public-share-icon .dashicons{width:auto;height:auto;font-size:23px}.vsd-public-share-copy{min-width:0}.vsd-public-share-copy h3{margin:1px 0 3px;color:#194362;font-size:14px}.vsd-public-share-copy p{margin:0;color:#718697;font-size:9px;line-height:1.45}.vsd-public-share-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:9px}.vsd-public-share-link input{min-width:0;height:36px;padding:6px 9px;border:1px solid #cddce6;border-radius:9px;background:#fff;color:#516b7d;font-size:9px}.vsd-public-share-copy-state{display:block;margin-top:5px;color:#758b9a;font-size:8px}.vsd-public-share-copy-state.is-done{color:#248057;font-weight:800}.vsd-public-share-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.vsd-public-share-actions form{margin:0}.vsd-public-share-revoke{border-color:#ecc8c8!important;color:#a63f3f!important;background:#fff8f8!important}@media(max-width:760px){.vsd-public-share-card{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:11px;border-radius:13px}.vsd-public-share-icon{width:40px;height:40px;border-radius:11px}.vsd-public-share-actions{grid-column:1/-1;justify-content:stretch}.vsd-public-share-actions form{flex:1}.vsd-public-share-actions .button{width:100%}.vsd-public-share-link{grid-template-columns:1fr}.vsd-public-share-link .button{width:100%}}


/* v4.00.60 · Snelle wijziging: automatisch opslaan */
.vsd-myday-autosave-state{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:39px;padding:7px 11px;border-radius:10px;
  font-size:10px;font-weight:850;line-height:1.2;
  background:#eef7f2;color:#236b49;border:1px solid #d3e9dd;
}
.vsd-myday-autosave-state.is-saving{background:#eef6fb;color:#326c8f;border-color:#d7e7f1}
.vsd-myday-autosave-state.is-error{background:#fff2f2;color:#a23d3d;border-color:#efcaca}
.vsd-myday-autosave-state .dashicons{width:16px;height:16px;font-size:16px}
.vsd-myday-quick-reserve-actions,.vsd-myday-quick-break-actions{justify-content:flex-start!important}
.vsd-myday-quick-edit-actions .vsd-myday-autosave-state{margin-right:auto}
@media(max-width:680px){
  .vsd-myday-autosave-state{width:100%;min-height:38px;font-size:9px}
  .vsd-myday-quick-edit-actions{flex-wrap:wrap!important}
  .vsd-myday-quick-edit-actions .vsd-myday-autosave-state{flex:1 1 100%}
}


/* ========================================================================
   v4.00.64 · /mijn-diensten login/registratie op telefoon weer echt responsive
   ======================================================================== */
@media(max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .vsd-login-shell-v328{width:100%!important;max-width:100%!important;min-width:0!important;padding:10px!important;overflow-x:hidden!important}
  .vsd-login-shell-v328 .vsd-login-landing,
  .vsd-login-shell-v328 .vsd-login-showcase,
  .vsd-login-shell-v328 .vsd-login-showcase-copy,
  .vsd-login-shell-v328 .vsd-login-card{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important
  }
  .vsd-login-shell-v328 .vsd-login-landing{display:block!important}
  .vsd-login-shell-v328 .vsd-login-showcase{display:block!important;padding:6px 2px 0!important;margin:0 0 12px!important}
  .vsd-login-shell-v328 .vsd-login-showcase:before{left:-70px!important;top:-15px!important;width:220px!important;height:220px!important}
  .vsd-login-shell-v328 .vsd-login-showcase-copy{padding:8px 4px 6px!important;overflow:visible!important}
  .vsd-login-shell-v328 .vsd-login-eyebrow{margin-bottom:8px!important;font-size:9px!important;letter-spacing:.15em!important}
  .vsd-login-shell-v328 .vsd-login-showcase-copy h2{
    width:100%!important;max-width:100%!important;margin:0!important;font-size:30px!important;line-height:1.03!important;letter-spacing:-.025em!important;
    white-space:normal!important;overflow:visible!important;overflow-wrap:break-word!important;word-break:normal!important;text-wrap:pretty!important
  }
  .vsd-login-shell-v328 .vsd-login-showcase-copy p{
    width:100%!important;max-width:100%!important;margin:11px 0 0!important;font-size:12px!important;line-height:1.48!important;
    white-space:normal!important;overflow:visible!important;overflow-wrap:break-word!important;word-break:normal!important
  }
  .vsd-login-shell-v328 .vsd-login-showcase-points{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;width:100%!important;max-width:100%!important;margin-top:12px!important
  }
  .vsd-login-shell-v328 .vsd-login-showcase-points span{
    display:flex!important;justify-content:center!important;min-width:0!important;max-width:100%!important;padding:8px 7px!important;font-size:8.5px!important;line-height:1.2!important;
    white-space:normal!important;text-align:center!important;overflow-wrap:break-word!important
  }
  .vsd-login-shell-v328 .vsd-login-showcase-points span:nth-child(3){grid-column:1/-1}
  .vsd-login-shell-v328 .vsd-login-phone-stage{display:none!important}
  .vsd-login-shell-v328 .vsd-login-landing.is-register-view .vsd-login-packages-mini{display:none!important}
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-packages-mini{width:100%!important;max-width:100%!important;margin:10px 0 0!important;padding:12px!important;overflow:hidden!important}
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-packages-mini-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important}
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-package-mini{min-width:0!important;flex:auto!important}
  .vsd-login-shell-v328 .vsd-login-card{padding:16px 14px!important;border-radius:19px!important;overflow:hidden!important;box-shadow:0 18px 48px rgba(2,16,31,.25)!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register{padding:16px 14px!important}
  .vsd-login-shell-v328 .vsd-login-brand{min-width:0!important;gap:10px!important}
  .vsd-login-shell-v328 .vsd-login-logo-image{width:48px!important;height:48px!important;flex:0 0 48px!important}
  .vsd-login-shell-v328 .vsd-login-brand>div{min-width:0!important}
  .vsd-login-shell-v328 .vsd-login-brand h1{font-size:22px!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:break-word!important}
  .vsd-login-shell-v328 .vsd-auth-tabs{width:100%!important;max-width:100%!important;margin:13px 0 12px!important}
  .vsd-login-shell-v328 .vsd-register-intro{margin-bottom:11px!important}
  .vsd-login-shell-v328 .vsd-register-intro h2{font-size:20px!important;line-height:1.15!important}
  .vsd-login-shell-v328 .vsd-register-intro p{font-size:10.5px!important;line-height:1.45!important}
  .vsd-login-shell-v328 .vsd-own-register-form,
  .vsd-login-shell-v328 .vsd-register-grid,
  .vsd-login-shell-v328 .vsd-register-packages{width:100%!important;max-width:100%!important;min-width:0!important}
  .vsd-login-shell-v328 .vsd-register-grid{grid-template-columns:1fr!important;gap:9px!important}
  .vsd-login-shell-v328 .vsd-own-register-form label{min-width:0!important}
  .vsd-login-shell-v328 .vsd-own-register-form input,
  .vsd-login-shell-v328 .vsd-own-register-form select{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-packages{padding:11px!important;border-radius:15px!important;overflow:hidden!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head{display:block!important;margin-bottom:8px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-head p{max-width:none!important;margin-top:4px!important;text-align:left!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-grid-compact{grid-template-columns:1fr!important;gap:7px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-card-inner{min-height:0!important;padding:10px 11px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-title{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-title b{text-align:right!important}
  .vsd-login-shell-v328 .vsd-login-card.is-register .vsd-register-package-card-compact .vsd-register-package-select{align-self:flex-start!important;margin-top:7px!important}
  .vsd-login-shell-v328 .vsd-register-compare-open{max-width:100%!important;min-width:0!important}
}
@media(max-width:380px){
  .vsd-login-shell-v328{padding:8px!important}
  .vsd-login-shell-v328 .vsd-login-showcase-copy h2{font-size:27px!important}
  .vsd-login-shell-v328 .vsd-login-showcase-points{grid-template-columns:1fr!important}
  .vsd-login-shell-v328 .vsd-login-showcase-points span:nth-child(3){grid-column:auto}
  .vsd-login-shell-v328 .vsd-login-landing.is-login-view .vsd-login-packages-mini-grid{grid-template-columns:1fr!important}
  .vsd-login-shell-v328 .vsd-login-card{padding:14px 12px!important}
}

/* v4.00.73 · Vrienden > historische ontmoetingen */
.vsd-friends-history{display:grid;gap:12px}
.vsd-friends-history .vsd-friends-panel-head{margin-bottom:0}
.vsd-friends-history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vsd-friends-history-stats>span{padding:10px 12px;border:1px solid #dce7ed;border-radius:11px;background:#f7fbfd;text-align:center}
.vsd-friends-history-stats strong,.vsd-friends-history-stats small{display:block}
.vsd-friends-history-stats strong{color:#245878;font-size:18px}
.vsd-friends-history-stats small{margin-top:1px;color:#8195a3;font-size:10px}
.vsd-friends-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vsd-friends-history-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #dce7ed;border-radius:12px;background:#fbfdfe;color:inherit;text-decoration:none;min-width:0}
.vsd-friends-history-item.type-train{background:#f0f9f4;border-color:#d5eadf}
.vsd-friends-history-item:hover{border-color:#9fc9df;box-shadow:0 4px 14px rgba(31,85,119,.07)}
.vsd-friends-history-item>.vsd-own-profile-photo{width:42px;height:42px}
.vsd-friends-history-copy{min-width:0}
.vsd-friends-history-copy strong,.vsd-friends-history-copy span,.vsd-friends-history-copy small{display:block}
.vsd-friends-history-copy strong{color:#2c5570;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-friends-history-copy span{display:flex;align-items:center;gap:4px;margin-top:2px;color:#426f88;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsd-friends-history-copy span .dashicons{flex:0 0 auto;width:14px;height:14px;font-size:14px;color:#2d7ca9}
.vsd-friends-history-item.type-train .vsd-friends-history-copy span .dashicons{color:#2f9162}
.vsd-friends-history-copy small{margin-top:2px;color:#879aa7;font-size:9px}
.vsd-friends-history-item>i{color:#91a6b3}
@media(max-width:700px){
  .vsd-friends-history-list{grid-template-columns:1fr}
  .vsd-friends-history-stats{grid-template-columns:repeat(3,1fr)}
  .vsd-friends-history-stats>span{padding:8px 5px}
  .vsd-friends-history-stats strong{font-size:16px}
  .vsd-friends-history-stats small{font-size:9px}
}

/* v4.00.74 · ontmoetingsvenster: tijdvak en duur duidelijker leesbaar */
.vsd-friends-history-copy small b{color:#315d77;font-weight:800}
.vsd-friends-history-item.type-train .vsd-friends-history-copy small b{color:#287653}

/* v4.00.76 · ontmoetingen per dag: Vandaag, Gisteren en Eerder */
.vsd-friends-history-groups{display:grid;gap:12px}
.vsd-friends-history-day{display:grid;gap:7px}
.vsd-friends-history-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}
.vsd-friends-history-day-head strong{color:#285976;font-size:12px;font-weight:900}
.vsd-friends-history-day-head span{color:#8a9daa;font-size:9px;font-weight:800}
.vsd-friends-history-day.is-today .vsd-friends-history-day-head strong{color:#1f7a55}
.vsd-friends-history-day.is-yesterday .vsd-friends-history-day-head strong{color:#3a6f8f}
/* v4.00.78 · vindbare bulkactie voor oude planning op Mijn diensten. */
.vsd-myday-plan-backlog{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #cfe1ec;border-radius:18px;background:linear-gradient(135deg,#fafdff,#edf6fb);box-shadow:0 7px 20px rgba(31,74,105,.05)}
.vsd-myday-plan-backlog-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dceef8;color:#176c9f;font-size:21px;line-height:42px}
.vsd-myday-plan-backlog-copy{display:flex;min-width:0;flex-direction:column}.vsd-myday-plan-backlog-copy strong{margin-top:2px;color:#17496d;font-size:14px}.vsd-myday-plan-backlog-copy small{margin-top:3px;color:#71899a;font-size:10px;line-height:1.45}
.vsd-myday-plan-backlog-actions{display:flex;align-items:center;gap:7px}.vsd-myday-plan-backlog-actions form{margin:0}.vsd-myday-plan-backlog-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border-radius:11px}.vsd-myday-plan-backlog-actions .dashicons{width:16px;height:16px;font-size:16px}
@media(max-width:782px){.vsd-myday-plan-backlog{grid-template-columns:auto minmax(0,1fr);padding:12px}.vsd-myday-plan-backlog-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto}.vsd-myday-plan-backlog-actions form,.vsd-myday-plan-backlog-actions .button{width:100%}.vsd-myday-plan-backlog-copy strong{font-size:13px}.vsd-myday-plan-backlog-copy small{font-size:9px}}

/* v4.00.84 · Overstaptijden terug in het compacte dienstoverzicht. */
.vsd-myday-overview-transfer{
  position:relative;display:grid;grid-template-columns:68px 29px minmax(0,1fr);gap:0;align-items:center;min-width:0;margin:-1px 0;
}
.vsd-myday-overview-transfer-time{padding-right:8px;text-align:right}
.vsd-myday-overview-transfer-time strong{color:#6b8799;font-size:8px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.vsd-myday-overview-transfer-node{position:relative;z-index:2;display:grid;place-items:center;height:100%}
.vsd-myday-overview-transfer-node i{display:block;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#4c92bc;box-shadow:0 0 0 2px #b9d6e6}
.vsd-myday-overview-transfer-card{display:flex;align-items:center;gap:8px;min-width:0;min-height:42px;padding:6px 10px;border:1px dashed #cddde7;border-radius:12px;background:#f7fbfd;color:#446b84}
.vsd-myday-overview-transfer-card>.dashicons{flex:0 0 auto;width:17px;height:17px;font-size:17px;color:#2c7cad}
.vsd-myday-overview-transfer-card>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px;min-width:0}
.vsd-myday-overview-transfer-card strong{color:#245b7c;font-size:9px;font-weight:950;white-space:nowrap}
.vsd-myday-overview-transfer-card strong del{color:#91a4b1;font-weight:750;text-decoration-thickness:1px}
.vsd-myday-overview-transfer-card span{min-width:0;color:#7e93a2;font-size:7px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){
  .vsd-myday-overview-transfer{grid-template-columns:50px 22px minmax(0,1fr)!important}
  .vsd-myday-overview-transfer-time{padding-right:5px!important}
  .vsd-myday-overview-transfer-time strong{font-size:6.8px!important}
  .vsd-myday-overview-transfer-card{min-height:36px!important;padding:5px 7px!important;border-radius:10px!important;gap:6px!important}
  .vsd-myday-overview-transfer-card>.dashicons{width:14px!important;height:14px!important;font-size:14px!important}
  .vsd-myday-overview-transfer-card strong{font-size:7.4px!important}
  .vsd-myday-overview-transfer-card span{font-size:6px!important}
}

/* v4.00.89 · Leeg materieel als zelfstandig dienstonderdeel. */
.vsd-activity-type-chip.empty-stock{background:#fff0bd!important;color:#835900!important;border-color:#e8c467!important}
.vsd-myday-flow-card.is-empty-stock-ride{border-color:#e6c46d!important;background:linear-gradient(135deg,#fffdf8,#fffaf1)!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-icon{background:#fff0bd!important;color:#8c6000!important;border-color:#ead079!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-title h3{color:#6f4c05!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-sub{color:#967438!important}
.vsd-empty-stock-notice.is-standalone{border-color:#e7c266!important;background:linear-gradient(135deg,#fffaf0,#fff3ce)!important}
.vsd-empty-stock-notice.is-standalone>.dashicons{color:#996500!important;border-color:#ebcf86!important}
@media(max-width:720px){
  .vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-icon{box-shadow:none!important}
}


/* v4.00.90 · Mijn diensten: leeg-materieelrit direct herkenbaar, zonder route-modus in de kaarttekst. */
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-card{border-color:#e5c36f!important;background:linear-gradient(90deg,#fffdf8,#fffaf1)!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-icon{position:relative;background:#fff0bd!important;color:#8a5d00!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-title small{background:#fff0bd!important;color:#835900!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-node i{background:#d0a126!important;box-shadow:0 0 0 2px #e9cd79!important}
.vsd-myday-overview-lm-mark{position:absolute!important;right:-5px!important;bottom:-5px!important;display:grid!important;place-items:center!important;width:16px!important;height:16px!important;border:2px solid #fff!important;border-radius:50%!important;background:#c58b12!important;color:#fff!important;font-size:10px!important;line-height:12px!important;box-shadow:0 2px 6px rgba(113,76,3,.18)!important}
@media(max-width:720px){.vsd-myday-overview-lm-mark{right:-4px!important;bottom:-4px!important;width:14px!important;height:14px!important;font-size:8px!important;border-width:1.5px!important}}


/* v4.00.91 · Leeg materieel oogt als een normale treinrit; alleen pictogram + label onderscheiden de rit. */
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-card{border-color:#dce8f0!important;background:#fff!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-icon{position:relative;background:#eaf4fb!important;color:#1c6fa7!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-title small{background:#e8f4fc!important;color:#1870ad!important}
.vsd-myday-overview-item.is-empty-stock-ride .vsd-myday-overview-node i{background:#7da7c2!important;box-shadow:0 0 0 2px #9fc0d5!important}
.vsd-myday-overview-item.is-empty-stock-ride.state-current .vsd-myday-overview-node i{background:#1683c4!important;box-shadow:0 0 0 2px #82c3e8,0 0 0 6px rgba(34,141,202,.09)!important}
.vsd-empty-stock-pictogram{display:block;width:22px;height:22px;object-fit:contain;mix-blend-mode:multiply}
.vsd-myday-overview-icon .vsd-empty-stock-pictogram{width:22px;height:22px}
.vsd-myday-overview-lm-mark{display:none!important}
@media(max-width:720px){.vsd-myday-overview-icon .vsd-empty-stock-pictogram{width:18px;height:18px}}


.vsd-myday-flow-card.is-empty-stock-ride{border-color:#dbe7ef!important;background:#fff!important;box-shadow:0 6px 18px rgba(17,54,82,.045)!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-icon{background:#eaf2fb!important;color:#245f9d!important;border-color:transparent!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-title h3{color:#143f66!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-sub{color:#7a91a2!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-activity-type-chip.empty-stock{background:#e9f2fc!important;color:#225f9d!important;border-color:#cfe0ef!important}
.vsd-myday-flow-card.is-empty-stock-ride .vsd-flow-icon .vsd-empty-stock-pictogram{width:20px;height:20px}
.vsd-empty-stock-notice.is-standalone{border-color:#cfe2ef!important;background:#f4f9fc!important;color:#315e7b!important}
.vsd-empty-stock-notice.is-standalone>.dashicons{color:#286b96!important;border-color:#d4e5ef!important}
.vsd-empty-stock-notice.is-standalone .vsd-empty-stock-copy>small,.vsd-empty-stock-notice.is-standalone .vsd-empty-stock-copy>strong,.vsd-empty-stock-notice.is-standalone .vsd-empty-stock-copy>span{color:#315e7b!important}


/* v4.00.96 · ritverloop van volledig uitgevallen ritten */
.vsd-myday-route-cancelled-banner{
  display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:10px 16px;border-bottom:1px solid #f0c8c8;background:#fff4f4;color:#a83b3b
}
.vsd-myday-route-cancelled-banner>.dashicons{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:999px;background:#fde1e1;color:#b63d3d;font-size:17px;line-height:28px}
.vsd-myday-route-cancelled-banner strong{display:block;font-size:11px;line-height:1.2}.vsd-myday-route-cancelled-banner small{display:block;margin-top:2px;color:#a86b6b;font-size:8px;line-height:1.35}
.vsd-myday-route-stop.is-cancelled-route{opacity:.72!important;background:#fff6f6!important;border:1px dashed #efcaca!important}
.vsd-myday-route-stop.is-cancelled-route:before,.vsd-myday-route-stop.is-cancelled-route:after{background:#d9a4a4!important}
.vsd-myday-route-stop.is-cancelled-route .vsd-myday-route-dot{background:#fff!important;border-color:#c95757!important;box-shadow:0 0 0 2px #efc1c1!important}
.vsd-myday-route-stop.is-cancelled-route .vsd-myday-route-stop-main strong,
.vsd-myday-route-stop.is-cancelled-route .vsd-myday-route-stop-time strong{color:#a55b5b!important;text-decoration:line-through;text-decoration-color:#c23e3e;text-decoration-thickness:1.5px}
.vsd-myday-route-stop.is-cancelled-route .vsd-myday-route-stop-main small{color:#b63f3f!important;font-weight:900!important;letter-spacing:.07em}
.vsd-myday-route-help.is-cancelled{border-top:1px solid #f0d2d2;background:#fffafa;color:#9b6262}
@media(max-width:600px){.vsd-myday-route-cancelled-banner{padding:8px 10px;gap:7px}.vsd-myday-route-cancelled-banner>.dashicons{width:24px;height:24px;flex-basis:24px;font-size:14px;line-height:24px}.vsd-myday-route-cancelled-banner strong{font-size:9px}.vsd-myday-route-cancelled-banner small{font-size:7px}}

/* ========================================================================
   v4.00.98 · portal: echte vaste onderdock + compacte nieuwe-dienst invoer
   ======================================================================== */
body.vsd-frontend-body>.vsd-mobile-bottom-nav{
  position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;margin:0!important;transform:none!important;
  z-index:2147483000!important
}
body.vsd-frontend-body>.vsd-mobile-more-sheet{position:fixed!important}
.vsd-training-quick-fields[hidden],.vsd-training-create-fields[hidden]{display:none!important}

@media(min-width:601px) and (max-width:1180px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav{
    left:12px!important;right:12px!important;bottom:10px!important;width:auto!important;max-width:none!important;
    border-radius:22px!important;transform:none!important
  }
  body.vsd-frontend-body .vsd-frontend-main{padding-bottom:96px!important}
}
@media(max-width:600px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav{left:0!important;right:0!important;bottom:0!important;width:100%!important;border-radius:20px 20px 0 0!important}
}

/* v4.00.99 · modals staan op telefoon altijd boven de vaste onderdock. */
html.vsd-modal-open body.vsd-frontend-body>.vsd-mobile-bottom-nav,
html.vsd-modal-open body.vsd-frontend-body>.vsd-mobile-more-sheet{
  visibility:hidden!important;pointer-events:none!important
}
html.vsd-modal-open body.vsd-frontend-body{overflow:hidden!important;overscroll-behavior:none!important}


/* v4.01.15 · opleiding als volwaardig dienstonderdeel */
.vsd-training-activity{border:1px solid #bfe3cf!important;background:linear-gradient(145deg,#f8fffb,#eefaf3)!important}
.vsd-training-activity .dashicons{color:#178157}
.vsd-training-service-trip.is-local,
.vsd-training-journey-local{border-color:#bfe3cf!important;background:linear-gradient(145deg,#f8fffb,#eefaf3)!important}
.vsd-training-journey-local strong{color:#176f4d}

/* ========================================================================
   v4.01.21 · iPad/tablet: onderdock blijft onderaan de zichtbare viewport
   ======================================================================== */
/* Op iPadOS wordt de dock door JS als document-anker bijgehouden. Deze regel
   staat bewust ná de oude fixed-regels, zodat Safari hem niet alsnog naar de
   layout-viewport bovenin trekt. */
body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
  position:absolute!important;
  bottom:auto!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  z-index:2147483000!important;
}
@media(min-width:601px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
    width:auto!important;
    border-radius:22px!important;
  }
}



/* ========================================================================
   v4.01.24 · onderdock echt vast op telefoon, iPad/tablet én computer
   ======================================================================== */
/* Eén eindregelset na alle historische dock-varianten. Geen absolute iPad-
   positionering meer als standaard: de dock hoort bij de viewport, niet bij
   een plek in het document. Alleen de JS-noodfallback gebruikt absolute. */
body.vsd-frontend-body>.vsd-mobile-bottom-nav{
  position:fixed!important;
  top:auto!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  z-index:2147483000!important;
  visibility:visible!important;
}
body.vsd-frontend-body .vsd-frontend-main{
  padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
}
@media(min-width:601px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav{
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    border:1px solid rgba(154,180,202,.34)!important;
    border-radius:22px!important;
    transform:none!important;
  }
  body.vsd-frontend-body .vsd-frontend-main{
    padding-bottom:106px!important;
  }
}
@media(max-width:600px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    border-radius:20px 20px 0 0!important;
  }
}
/* Alleen actief wanneer de runtime vaststelt dat een browser position:fixed
   aantoonbaar verkeerd rendert. De topwaarde wordt dan door JS bijgehouden. */
body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-dock-mode="absolute"]{
  position:absolute!important;
  bottom:auto!important;
  transform:none!important;
}

/* ========================================================================
   v4.01.26 · onderdock: geen document-fallback meer op iPad/computer
   ======================================================================== */
/* Historische runtime-attributen mogen de dock nooit meer absoluut in het
   document parkeren. Ook wanneer zo'n attribuut uit een oude cache blijft
   hangen, wint deze laatste regelset en blijft de navigatie aan de viewport. */
body.vsd-frontend-body>.vsd-mobile-bottom-nav,
body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-dock-mode="absolute"],
body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
  position:fixed!important;
  top:auto!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  z-index:2147483000!important;
}
@media(min-width:601px){
  body.vsd-frontend-body>.vsd-mobile-bottom-nav,
  body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-dock-mode="absolute"],
  body.vsd-frontend-body>.vsd-mobile-bottom-nav[data-vsd-ipad-dock-anchor="1"]{
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    border-radius:22px!important;
  }
}
/* De onderdock blijft ook bij portaalmodals zichtbaar; modals houden zelf
   voldoende bodemruimte. Dit herstelt de eerdere afspraak dat navigatie niet
   verdwijnt zodra een detailkaart of ritvenster opent. */
html.vsd-modal-open body.vsd-frontend-body>.vsd-mobile-bottom-nav{
  visibility:visible!important;
  pointer-events:auto!important;
}


/* ========================================================================
   v4.01.27 · tablet/iPad/computer: onderdock in eigen vaste viewport-laag
   ======================================================================== */
@media(min-width:601px){
  body.vsd-frontend-body>.vsd-dock-viewport-anchor{
    position:fixed!important;
    top:auto!important;
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    width:auto!important;
    margin:0!important;
    z-index:2147483000!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
    transform:translate3d(0,0,0)!important;
    -webkit-transform:translate3d(0,0,0)!important;
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important;
    will-change:transform!important;
    isolation:isolate!important;
    overflow:visible!important;
  }
  body.vsd-frontend-body>.vsd-dock-viewport-anchor>.vsd-mobile-bottom-nav{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
    -webkit-transform:none!important;
    z-index:1!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    border-radius:24px!important;
    /* Backdrop blur is the iPad/WebKit repaint-trigger. De bijna-dekkende
       achtergrond houdt dezelfde glas-look zonder dat de fixed laag verdwijnt. */
    background:rgba(249,252,255,.985)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.vsd-frontend-body .vsd-frontend-main{
    padding-bottom:106px!important;
  }
}
@media(max-width:600px){
  body.vsd-frontend-body>.vsd-dock-viewport-anchor{display:contents!important}
}


/* v4.01.28 · NS-lijnnummer staat aanvullend naast het bestaande treinnummer. */
.vsd-line-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle;flex:0 0 auto;box-sizing:border-box;min-width:34px;height:30px;padding:2px 5px;border-radius:6px;background:#FFC917;color:#003082!important;border:1px solid rgba(0,48,130,.20);font-size:11px!important;font-weight:900!important;letter-spacing:0!important;line-height:1!important;white-space:nowrap}
.vsd-line-badge.is-s{background:#003082;color:#fff!important;border-color:rgba(255,255,255,.30)}
.vsd-line-badge.is-ic{background:#FFC917;color:#003082!important;border-color:rgba(0,48,130,.20)}
.vsd-cta-board.is-train .vsd-cta-category{display:flex!important;align-items:center!important;flex-wrap:wrap;gap:7px!important}
.vsd-cta-board .vsd-line-badge.is-cta{min-width:45px;height:39px;border:2px solid rgba(255,255,255,.7);border-radius:6px;font-size:14px!important;box-shadow:0 3px 9px rgba(0,0,0,.1)}
.vsd-flow-title .vsd-line-badge,.vsd-today-titleline .vsd-line-badge,.vsd-today-dayflow-title .vsd-line-badge{min-width:31px;height:27px;font-size:10px!important}
.vsd-live-activity .vsd-line-badge.is-mini,.vsd-myday-time~div .vsd-line-badge.is-mini{min-width:29px;height:23px;font-size:9px!important;margin-top:3px}
@media(max-width:600px){.vsd-cta-board .vsd-line-badge.is-cta{min-width:36px;height:33px;font-size:11px!important}.vsd-flow-title .vsd-line-badge,.vsd-today-titleline .vsd-line-badge,.vsd-today-dayflow-title .vsd-line-badge{min-width:28px;height:24px;font-size:9px!important}}


/* v4.01.30: lijnnummeroverzicht in statistieken, behoud bestaande kaartlayout. */
.vsd-line-stats-panel .vsd-line-stats-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 18px}
.vsd-line-stats-panel .vsd-line-stats-overview>div{display:flex;flex-direction:column;gap:2px;border-radius:10px;background:#f0f7fc;padding:11px 12px;min-width:0}
.vsd-line-stats-panel .vsd-line-stats-overview strong{font-size:23px;line-height:1.15;color:#003082;font-weight:850}
.vsd-line-stats-panel .vsd-line-stats-overview small{font-size:10px;color:#55758e;font-weight:700}
.vsd-line-stats-panel .vsd-line-stats-ranking{margin-top:8px!important}
.vsd-line-stats-panel .vsd-line-stats-ranking li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.vsd-line-stats-panel .vsd-line-stats-name{display:inline-flex;gap:10px;align-items:center;min-width:0}
.vsd-line-stats-panel .vsd-line-stats-name>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.vsd-line-stats-panel .vsd-line-stats-name strong{font-size:12px;line-height:1.25;color:#173b60}
.vsd-line-stats-panel .vsd-line-stats-name small{font-size:10px;line-height:1.2;color:#738ba0}
.vsd-line-stats-panel .vsd-line-badge.is-stats{min-width:43px;height:35px;font-size:12px!important;border-radius:7px;flex-shrink:0}
.vsd-line-stats-panel .vsd-line-stats-ranking li>b{flex-shrink:0;font-size:13px!important;color:#003082}
@media(max-width:600px){.vsd-line-stats-panel .vsd-line-stats-overview{margin:10px 14px}.vsd-line-stats-panel .vsd-line-badge.is-stats{height:31px;min-width:40px;font-size:11px!important}}

@media(max-width:782px){
  .vsd-flow-row.type-train .vsd-flow-title{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:7px;row-gap:5px}
  .vsd-flow-row.type-train .vsd-flow-title>h3{order:10;flex:0 0 100%;width:100%;max-width:100%}
  .vsd-flow-row.type-train .vsd-flow-title>.vsd-line-badge{order:1;margin:0}
  .vsd-flow-row.type-train .vsd-flow-title>.vsd-workform-label{order:2}
}


/* v4.01.33: klein omlijnd lijnnummer onder de status in het rechter CTA-bord. */
.vsd-cta-board .vsd-cta-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:4px;justify-self:end}
.vsd-cta-board .vsd-cta-line-slot{display:flex;justify-content:flex-end;line-height:1}
.vsd-cta-board .vsd-line-badge.is-cta,
.vsd-cta-board .vsd-line-badge.is-cta.is-s,
.vsd-cta-board .vsd-line-badge.is-cta.is-ic{display:inline-flex!important;vertical-align:middle!important;background:transparent!important;background-image:none!important;color:inherit!important;border:1.5px solid currentColor!important;border-radius:5px!important;box-shadow:none!important;font-weight:900!important;min-width:31px!important;height:24px!important;min-height:0!important;padding:2px 5px!important;margin-left:0!important;font-size:10px!important}
.vsd-cta-board .vsd-cta-display-top .vsd-cta-category{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}
@media(max-width:600px){
  .vsd-cta-board .vsd-cta-status-stack{gap:3px}
  .vsd-cta-board .vsd-line-badge.is-cta,
  .vsd-cta-board .vsd-line-badge.is-cta.is-s,
  .vsd-cta-board .vsd-line-badge.is-cta.is-ic{min-width:28px!important;height:22px!important;padding:2px 4px!important;font-size:9px!important}
}


/* v4.01.34: rechter CTA-bord met subtiele lijnweergave onder de status. */
.vsd-cta-board .vsd-cta-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:5px;justify-self:end}
.vsd-cta-board .vsd-cta-line-slot{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;line-height:1;background:#f4f8fc;border:1px solid #d9e5ee;border-radius:999px;padding:3px 7px;color:#6f8395}
.vsd-cta-board .vsd-cta-line-slot small{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#778da0}
.vsd-cta-board .vsd-line-badge.is-cta,
.vsd-cta-board .vsd-line-badge.is-cta.is-s,
.vsd-cta-board .vsd-line-badge.is-cta.is-ic{display:inline-flex!important;vertical-align:middle!important;background:#fff!important;background-image:none!important;color:#234f79!important;border:1.5px solid currentColor!important;border-radius:6px!important;box-shadow:none!important;font-weight:900!important;min-width:31px!important;height:24px!important;min-height:0!important;padding:2px 6px!important;margin-left:0!important;font-size:10px!important}
@media(max-width:600px){
  .vsd-cta-board .vsd-cta-status-stack{gap:4px}
  .vsd-cta-board .vsd-cta-line-slot{padding:2px 6px;gap:5px}
  .vsd-cta-board .vsd-cta-line-slot small{font-size:7px}
  .vsd-cta-board .vsd-line-badge.is-cta,
  .vsd-cta-board .vsd-line-badge.is-cta.is-s,
  .vsd-cta-board .vsd-line-badge.is-cta.is-ic{min-width:28px!important;height:22px!important;padding:2px 5px!important;font-size:9px!important}
}


/* v4.01.34: roostereditor mobiele polish + beheerinstellingen. */
.vsd-roster-admin-settings{padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#fff,#f6f9fd);border-color:#d8e4ee}
.vsd-roster-settings-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.vsd-roster-settings-form{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:12px}
.vsd-roster-setting-toggle{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:260px}
.vsd-roster-setting-toggle input{margin-top:3px}
.vsd-roster-setting-toggle strong{display:block;font-size:14px;color:#173e64}
.vsd-roster-setting-toggle small{display:block;margin-top:3px;font-size:11px;color:#6a8197;line-height:1.45}
.vsd-roster-setting-note{margin:0 0 14px;padding:12px 14px;border:1px solid #d6e3ed;border-radius:12px;background:#f6fafc;color:#426582;font-size:12px;line-height:1.5}
.vsd-roster-setting-note strong{color:#173d63}
.vsd-roster-v2 .vsd-roster-config{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px}
.vsd-roster-v2 .vsd-roster-config>div,
.vsd-roster-v2 .vsd-roster-config>label{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #dde7ef;box-shadow:0 2px 10px rgba(26,61,100,.03)}
.vsd-roster-v2 .vsd-roster-config label input{margin-top:2px;width:100%;max-width:none;min-height:46px;border:1px solid #ccdae6;border-radius:10px;background:#fff}
.vsd-roster-v2 .vsd-roster-config strong{font-size:18px;line-height:1.3;color:#173e64;overflow-wrap:anywhere}
.vsd-roster-v2 .vsd-roster-edit-day-head{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);align-items:center;gap:10px}
.vsd-roster-v2 .vsd-roster-edit-day-head strong{font-size:14px;white-space:nowrap;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.vsd-roster-v2 .vsd-roster-edit-day-head select{max-width:none;width:100%}
@media(max-width:700px){
 .vsd-roster-settings-form{align-items:stretch}
 .vsd-roster-settings-form .button{width:100%}
 .vsd-roster-v2 .vsd-roster-set-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vsd-roster-v2 .vsd-roster-config{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
 .vsd-roster-v2 .vsd-roster-config>div,
 .vsd-roster-v2 .vsd-roster-config>label{padding:11px 12px;border-radius:12px;min-height:86px}
 .vsd-roster-v2 .vsd-roster-config label{grid-column:1/-1}
 .vsd-roster-v2 .vsd-roster-config strong{font-size:16px}
 .vsd-roster-v2 .vsd-roster-edit-day-head{grid-template-columns:1fr;align-items:stretch}
 .vsd-roster-v2 .vsd-roster-edit-day-head strong{white-space:normal;font-size:15px}
 .vsd-roster-v2 .vsd-roster-edit-day-head select{width:100%}
}


/* v4.01.43: lijnnummer als compacte NS-badge bij de treinrit in Mijn diensten.
   Alleen de rit-titelregel, overige badges/layouts blijven ongewijzigd. */
.vsd-myday-overview-item.type-train:not(.is-empty-stock-ride) .vsd-myday-overview-title > .vsd-line-badge.is-myday-overview {
  display:inline-flex!important;
  vertical-align:middle;
  flex:0 0 auto!important;
  min-width:32px!important;
  height:25px!important;
  min-height:0!important;
  padding:3px 6px!important;
  margin:0!important;
  border-radius:6px!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
}
@media (max-width:782px) {
  .vsd-myday-overview-item.type-train:not(.is-empty-stock-ride) .vsd-myday-overview-title > .vsd-line-badge.is-myday-overview {
    min-width:29px!important;
    height:23px!important;
    padding:2px 5px!important;
    font-size:9px!important;
  }
}
