
:root{--navy:#38567e;--orange:#ed6e23;--bg:#f3f5fa;--surface:#fff;--text:#22334d;--muted:#667892;--border:#d8dee8;--shadow:0 8px 24px rgba(25,45,74,.08);--font:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
@font-face{font-family:OpenDyslexic;src:url(/wp-content/plugins/vgm-kompas/assets/fonts/opendyslexic/OpenDyslexic-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:OpenDyslexic;src:url(/wp-content/plugins/vgm-kompas/assets/fonts/opendyslexic/OpenDyslexic-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
html,body,.vgmkz-body,.vgmkz-page,.vgmkz-app{background:var(--bg)!important;color:var(--text)!important;font-family:var(--font);min-height:100vh}.vgmkz-page{padding:12px 16px 40px}.vgmkc-shell{max-width:1460px;margin:0 auto}.vgmkc-topbar{max-width:1460px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 22px;box-shadow:var(--shadow)}.vgmkc-brand{display:flex;align-items:center;gap:14px}.vgmkc-brand-logo{height:64px;width:auto;display:block}.vgmkz-brand-logo-fallback{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:var(--navy);background:rgba(56,86,126,.08)}.vgmkz-brand-zorg{font-size:32px;font-weight:900;color:var(--navy)}.vgmkz-userbox{text-align:right}.vgmkz-userbox__email{font-weight:800;color:var(--navy)}.vgmkz-userbox__role{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:rgba(56,86,126,.08);border:1px solid rgba(56,86,126,.14);font-size:12px;font-weight:900;color:var(--navy)}.vgmkz-split{display:flex;gap:20px;align-items:flex-start}.vgmkz-filtercol{flex:0 0 320px}.vgmkz-maincard{flex:1 1 auto;min-width:0}.vgmkz-card,.vgmkz-report-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:20px}.vgmkz-groupdash{margin-bottom:16px}.vgmkz-childlist{display:grid;gap:8px;margin-top:12px}.vgmkz-childpill{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--border);text-decoration:none;color:var(--text);background:#fff}.vgmkz-childpill.is-active{border-color:var(--navy);box-shadow:0 0 0 3px rgba(56,86,126,.08)}.vgmkz-filtercard-inner{padding:22px}.vgmkz-maincontent{margin-top:16px;border-top:1px solid var(--border);padding-top:18px}.vgmkz-section-title{font-size:18px;line-height:1.2;font-weight:900;color:var(--text)}.vgmkz-subtitle{font-size:15px;font-weight:800;color:var(--text);margin-bottom:10px}.vgmkz-filter-block+.vgmkz-filter-block{margin-top:18px}.vgmkz-label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--text)}.vgmkz-input,.vgmkz-textarea,select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:#111827;font:inherit}.vgmkz-textarea{resize:vertical;min-height:116px}.vgmkz-btn,.vgmkz-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:none;border-radius:14px;background:var(--orange);color:#fff;text-decoration:none;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(237,110,35,.18)}.vgmkz-btn--secondary{background:var(--navy);box-shadow:0 10px 24px rgba(56,86,126,.15)}.vgmkz-chip{min-height:38px;padding:0 12px;border:1px solid var(--border);background:#fff;color:var(--navy);box-shadow:none}.vgmkz-chip--pdf{background:var(--navy);color:#fff}.vgmkz-full{width:100%}.vgmkz-mini-summary{display:grid;gap:10px}.vgmkz-mini-summary__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}.vgmkz-mini-summary__item span{color:var(--muted);font-weight:700}.vgmkz-mini-summary__item strong{color:var(--text);font-weight:900}.vgmkz-childhead{display:flex;align-items:center;gap:14px}.vgmkz-childhead__avatar{flex:0 0 64px}.vgmkz-childhead__avatarimg,.vgmkz-childhead__avatarfallback{width:64px;height:64px;border-radius:50%;display:block}.vgmkz-childhead__avatarimg{object-fit:cover;border:1px solid var(--border)}.vgmkz-childhead__avatarfallback{display:grid;place-items:center;background:linear-gradient(135deg,#ff6b6b,#f9c74f);color:#fff;font-weight:900;font-size:24px}.vgmkz-childhead__name{font-size:30px;line-height:1.1;font-weight:900;color:var(--text)}.vgmkz-childhead__sub{margin-top:6px;font-size:14px;color:var(--muted);font-weight:700}.vgmkz-form{display:grid;gap:16px}.vgmkz-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vgmkz-measure-list{display:grid;gap:8px;margin-top:12px}.vgmkz-measure-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:center;padding:10px 0;border-top:1px solid #edf1f6}.vgmkz-measure-row:first-child{border-top:0}.vgmkz-measure-label{font-weight:800;color:var(--navy)}.vgmkz-moods{display:flex;gap:8px;flex-wrap:nowrap}.vgmkz-moodchip{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 8px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}.vgmkz-moodchip input{position:absolute;opacity:0;pointer-events:none}.vgmkz-moodchip__emoji{font-size:16px}.vgmkz-moodchip__text{font-size:12px;font-weight:900;white-space:nowrap}.vgmkz-moodchip.mood-good:has(input:checked){background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.38);box-shadow:0 0 0 3px rgba(34,197,94,.10)}.vgmkz-moodchip.mood-average:has(input:checked){background:rgba(245,158,11,.09);border-color:rgba(245,158,11,.38);box-shadow:0 0 0 3px rgba(245,158,11,.10)}.vgmkz-moodchip.mood-bad:has(input:checked){background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.34);box-shadow:0 0 0 3px rgba(239,68,68,.08)}.vgmkz-media-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:10px}.vgmkz-media-thumb{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:#f6f8fb}.vgmkz-media-thumb img,.vgmkz-media-thumb video{width:100%;height:100%;object-fit:cover;display:block}.vgmkz-actions{display:flex;justify-content:flex-end;gap:10px}.vgmkz-flash{max-width:560px;margin:14px auto 0;padding:14px 16px;border-radius:16px;font-weight:700}.vgmkz-flash.success{background:#eafaf0;color:#126a37;border:1px solid #bae6c7}.vgmkz-flash.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.vgmkc-tooldock{position:fixed;right:18px;top:8px;display:flex;align-items:center;gap:10px;z-index:9998}.vgmkc-toolbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid rgba(56,86,126,.16);background:rgba(255,255,255,.95);box-shadow:0 10px 24px rgba(15,35,55,.10);cursor:pointer}.vgmkc-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,35,55,.44);z-index:9999}.vgmkc-modal.is-open{display:flex}.vgmkc-modal__inner{width:100%;max-width:760px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 22px 60px rgba(15,35,55,.22)}.vgmkz-report-modal{max-width:1040px}.vgmkz-filter-modal,.vgmkz-reset-modal{max-width:420px}.vgmkc-modal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.vgmkc-modal__title{font-weight:900;color:var(--navy)}.vgmkc-modal__close{border:none;background:transparent;font-size:24px;cursor:pointer;color:var(--navy)}.vgmkc-modal__body{padding:16px;max-height:75vh;overflow:auto}.vgmkz-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #edf1f6}.vgmkz-setting-row:first-child{border-top:0}.vgmkz-toggle{display:inline-flex;align-items:center}.vgmkz-toggle input{position:absolute;opacity:0}.vgmkz-toggle span{display:block;width:46px;height:26px;background:#e5e7eb;border:1px solid rgba(0,0,0,.12);border-radius:999px;position:relative;cursor:pointer}.vgmkz-toggle span:after{content:'';width:20px;height:20px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:50%;position:absolute;left:2px;top:2px;transition:all .16s ease}.vgmkz-toggle input:checked+span{background:#16a34a;border-color:rgba(22,163,74,.6)}.vgmkz-toggle input:checked+span:after{left:22px}.vgmkz-report-filters,.vgmkz-report-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 0}.vgmkz-report-tab{min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy);font-weight:900;cursor:pointer}.vgmkz-report-tab.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}.vgmkz-report-panel{display:none}.vgmkz-report-panel.is-active{display:block}.vgmkz-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vgmkz-signals{display:grid;gap:10px}.vgmkz-signal{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fafbfd}.vgmkz-bar-row{display:grid;grid-template-columns:110px 1fr 42px;gap:10px;align-items:center;padding:8px 0}.vgmkz-bar-track{height:12px;border-radius:999px;background:#edf2f7;overflow:hidden}.vgmkz-bar-fill{height:100%;border-radius:inherit;background:var(--navy)}.vgmkz-bar-row.is-good .vgmkz-bar-fill{background:#16a34a}.vgmkz-bar-row.is-average .vgmkz-bar-fill{background:#f59e0b}.vgmkz-bar-row.is-bad .vgmkz-bar-fill{background:#ef4444}.vgmkz-table-wrap{overflow:auto}.vgmkz-table{width:100%;border-collapse:collapse;min-width:680px}.vgmkz-table th,.vgmkz-table td{padding:12px 10px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}.vgmkz-table th{color:var(--navy);font-weight:900;background:#fafbfd;cursor:pointer}.vgmkz-heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}.vgmkz-heatcell{height:22px;border-radius:6px;background:#eef2f7}.vgmkz-heatcell.good{background:#22c55e}.vgmkz-heatcell.average{background:#f59e0b}.vgmkz-heatcell.bad{background:#ef4444}.vgmkz-heatcell.empty{background:#eef2f7}.vgmkz-messages{display:grid;gap:10px;margin-bottom:14px}.vgmkz-msg{padding:10px 12px;border-radius:14px;max-width:80%}.vgmkz-msg.home{background:#edf5ff;margin-right:auto}.vgmkz-msg.school,.vgmkz-msg.group_leader{background:#fff7ed;margin-left:auto}.vgmkz-msg__meta{font-size:11px;color:var(--muted);margin-bottom:4px}.vgmkz-messagecomposer{display:grid;gap:10px}.vgmkz-search-results{margin-top:12px;display:grid;gap:8px}.vgmkz-search-hit{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fafbfd;font-weight:700}.vgmkz-checkconfirm{display:flex;align-items:center;gap:8px;margin:12px 0 16px}.vgmkz-bottom-filter-btn{display:none}.vgmkz-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.vgmkz-login-card{width:min(900px,100%);display:grid;gap:18px}.vgmkz-login-brand{display:flex;align-items:center;gap:12px;justify-content:center}.vgmkz-login-brand__logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(56,86,126,.08);color:var(--navy);font-weight:900}.vgmkz-login-brand__text{font-size:30px;font-weight:900;color:var(--navy)}.vgmkz-login-brand__text span{color:var(--orange)}.vgmkz-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vgmkz-login-form{display:grid;gap:12px;margin-top:12px}.vgmkz-app.vgmkz-dyslexic .vgmkz-maincard,.vgmkz-app.vgmkz-dyslexic .vgmkz-maincard *,.vgmkz-app.vgmkz-dyslexic .vgmkz-filtercol,.vgmkz-app.vgmkz-dyslexic .vgmkz-filtercol *{font-family:OpenDyslexic,var(--font)}.vgmkz-app.vgmkz-compact .vgmkz-card,.vgmkz-app.vgmkz-compact .vgmkz-report-card{padding:16px}.vgmkz-app.vgmkz-compact .vgmkz-measure-row{grid-template-columns:150px minmax(0,1fr);gap:10px}.vgmkz-app.vgmkz-compact .vgmkz-moodchip{min-height:36px}@media (max-width:1100px){.vgmkz-grid-2,.vgmkz-report-grid,.vgmkz-login-grid{grid-template-columns:1fr}}@media (max-width:980px){.vgmkz-split{display:block}.vgmkz-filtercol{display:none}.vgmkz-bottom-filter-btn{display:inline-flex;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9997;min-height:46px;padding:0 18px;border:none;border-radius:999px;background:var(--orange);color:#fff;font-weight:900;box-shadow:0 12px 28px rgba(237,110,35,.28);cursor:pointer}}@media (max-width:820px){.vgmkc-topbar{padding:10px 16px}.vgmkz-brand-zorg{font-size:26px}.vgmkz-childhead__name{font-size:24px}.vgmkz-measure-row{grid-template-columns:1fr;gap:10px}.vgmkz-toggle--dock{display:none}}@media (max-width:560px){.vgmkz-page{padding:10px 12px 34px}.vgmkz-userbox__email{font-size:12px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vgmkz-moodchip{flex:0 0 42px;width:42px;padding:0}.vgmkz-moodchip__text{display:none}.vgmkc-tooldock{right:12px;top:2px;gap:8px}}


.vgmkz-login-brand__img{height:56px;width:auto;display:block}
.vgmkz-login-single{max-width:560px;margin:0 auto}
.vgmkz-login-reveal{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.vgmkc-topbar{padding:10px 22px}
.vgmkc-toolicon{width:16px;height:16px;display:block}
.vgmkc-tooldock{top:-10px}
.vgmkz-dysdock{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);padding:4px 10px;border-radius:999px;border:1px solid rgba(56,86,126,.16);box-shadow:0 10px 24px rgba(15,35,55,.10)}
.vgmkz-dysdock span{font-size:13px;font-weight:700;color:var(--navy)}
@media (max-width:820px){.vgmkc-tooldock{top:-12px}.vgmkz-dysdock span{display:inline-block}}


.vgmkz-brand-zorg{font-size:30px;font-weight:900;color:var(--navy)}
.vgmkz-brand-zorg span,.vgmkz-login-brand__text span{color:var(--orange)}
.vgmkz-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.vgmkz-login-card{width:min(560px,100%);display:grid;gap:18px}
.vgmkz-login-grid{display:grid;grid-template-columns:1fr}
.vgmkz-login-single{max-width:560px;margin:0 auto}
.vgmkz-login-reveal{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.vgmkz-flash{max-width:560px;margin:14px auto 0}
.vgmkc-topbar{padding:10px 22px}
.vgmkc-tooldock{top:-58px;right:18px;display:flex;align-items:center;gap:12px}
.vgmkc-toolbtn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;border:2px solid #d6dbe6;background:#fff;box-shadow:0 8px 22px rgba(15,35,55,.08)}
.vgmkc-toolicon{width:24px;height:24px;display:block}
.vgmkz-dysdock{display:flex;align-items:center;gap:14px}
.vgmkz-dysdock span{font-size:18px;font-weight:700;color:#444}
.vgmkz-toggle--dock span{width:74px;height:40px}
.vgmkz-toggle--dock span:after{width:32px;height:32px;left:3px;top:3px}
.vgmkz-toggle--dock input:checked+span:after{left:37px}
.vgmkz-btn--save{background:var(--navy);box-shadow:0 10px 24px rgba(56,86,126,.16)}
.vgmkz-btn--reset{background:var(--orange);box-shadow:0 10px 24px rgba(237,110,35,.18)}
.vgmkz-card-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.vgmkz-moods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.vgmkz-moodchip{width:100%;min-width:0}
.vgmkz-moodchip.mood-sad:has(input:checked){background:rgba(249,115,22,.09);border-color:rgba(249,115,22,.38);box-shadow:0 0 0 3px rgba(249,115,22,.10)}
.vgmkz-moodchip.mood-angry:has(input:checked){background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.34);box-shadow:0 0 0 3px rgba(239,68,68,.08)}
@media (max-width:980px){.vgmkc-tooldock{top:-50px}.vgmkz-bottom-filter-btn{display:inline-flex}}
@media (max-width:820px){.vgmkc-toolbtn{width:52px;height:52px}.vgmkc-toolicon{width:22px;height:22px}.vgmkz-dysdock span{font-size:16px}.vgmkz-moods{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.vgmkz-page{padding:10px 12px 34px}.vgmkc-tooldock{position:fixed;top:-42px;right:10px;gap:8px}.vgmkc-toolbtn{width:46px;height:46px}.vgmkc-toolicon{width:20px;height:20px}.vgmkz-dysdock span{display:inline-block;font-size:14px}.vgmkz-moodchip{flex:none;width:100%}.vgmkz-moodchip__text{display:block;font-size:11px}}


.vgmkz-login-wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px}
.vgmkz-login-card{width:min(560px,100%);display:grid;gap:18px}
.vgmkz-login-flash{width:min(560px,100%);margin-top:14px}
.vgmkz-flash{margin:0 auto}
.vgmkz-childhead{display:flex;align-items:center;justify-content:space-between;gap:16px}
.vgmkz-childhead__left{display:flex;align-items:center;gap:14px;min-width:0}
.vgmkz-datebar{display:flex;align-items:center;gap:8px;flex-shrink:0}
.vgmkz-datebar__input{width:180px;min-width:180px}
.vgmkz-datebar__arrow{width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
.vgmkz-filtercard-inner .vgmkz-section-title{margin-bottom:4px}
@media (max-width:820px){
  .vgmkz-childhead{flex-direction:column;align-items:stretch}
  .vgmkz-datebar{justify-content:flex-start}
  .vgmkz-datebar__input{flex:1 1 auto;width:auto;min-width:0}
}

.vgmkc-tooldock,.vgmkc-toolbtn,.vgmkz-dysdock{display:flex !important;visibility:visible !important;opacity:1 !important}.vgmkz-toggle--dock{display:inline-flex !important}.vgmkz-langswitch{height:36px;border:1px solid var(--border);border-radius:10px;padding:0 8px;background:#fff}.vgmkz-moodchip.mood-sad:has(input:checked){background:rgba(249,115,22,.09);border-color:rgba(249,115,22,.38);box-shadow:0 0 0 3px rgba(249,115,22,.10)}.vgmkz-moodchip.mood-angry:has(input:checked){background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.34);box-shadow:0 0 0 3px rgba(239,68,68,.08)}@media (max-width:820px){.vgmkz-dysdock span{display:inline-block !important}}

.vgmkc-tooldock{position:fixed !important;top:18px !important;right:18px !important;display:flex !important;align-items:center !important;gap:12px !important;z-index:10020 !important;visibility:visible !important;opacity:1 !important}
.vgmkc-toolbtn{width:52px !important;height:52px !important;border-radius:999px !important;border:2px solid #d6dbe6 !important;background:#fff !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 8px 22px rgba(15,35,55,.10) !important}
.vgmkc-toolicon{width:22px !important;height:22px !important;display:block !important}
.vgmkz-dysdock{display:flex !important;align-items:center !important;gap:10px !important;background:rgba(255,255,255,.98) !important;padding:6px 10px !important;border-radius:999px !important;border:1px solid rgba(56,86,126,.16) !important;box-shadow:0 8px 22px rgba(15,35,55,.10) !important;visibility:visible !important}
.vgmkz-toggle--dock{display:inline-flex !important}
.vgmkz-toggle--dock span{width:64px !important;height:36px !important}
.vgmkz-toggle--dock span:after{width:28px !important;height:28px !important;top:3px !important;left:3px !important}
.vgmkz-toggle--dock input:checked+span:after{left:31px !important}
.vgmkz-flagbar{display:flex;align-items:center;gap:8px}
.vgmkz-flag{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:#fff;text-decoration:none;font-size:18px;box-shadow:0 4px 12px rgba(15,35,55,.08)}
.vgmkz-flag.is-active{outline:3px solid rgba(56,86,126,.14);border-color:var(--navy)}
.vgmkz-login-brand{position:relative;flex-wrap:wrap}
.vgmkz-login-brand .vgmkz-flagbar{width:100%;justify-content:center;margin-top:6px}
.vgmkz-daypart-admin{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e5eaf2}
[dir='rtl'] .vgmkz-app,[dir='rtl'] .vgmkz-login-wrap{text-align:right}
@media (max-width:820px){.vgmkc-tooldock{top:10px !important;right:10px !important;gap:8px !important}.vgmkz-dysdock span{display:inline-block !important;font-size:14px !important}.vgmkc-toolbtn{width:46px !important;height:46px !important}.vgmkc-toolicon{width:20px !important;height:20px !important}}


/* v0.7.3 dock/flags placement fix */
.vgmkc-topbar,
.vgmkc-shell,
.vgmkz-app,
.vgmkz-page{
  overflow: visible !important;
}
.vgmkc-topbar{
  position: relative;
  margin-top: 34px !important;
}
.vgmkc-tooldock{
  position: absolute !important;
  top: -42px !important;
  right: 10px !important;
  z-index: 10020 !important;
  display:flex !important;
  align-items:center;
  gap:8px;
}
.vgmkz-langdock{
  position: absolute !important;
  top: -42px !important;
  right: 210px !important;
  z-index: 10020 !important;
  display:flex !important;
  align-items:center;
  gap:8px;
}
.vgmkc-toolbtn{
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border-radius: 999px !important;
}
.vgmkc-toolicon{
  width: 18px !important;
  height: 18px !important;
}
.vgmkz-dysdock{
  display:flex !important;
  align-items:center;
  padding: 3px 8px !important;
  gap: 8px !important;
}
.vgmkz-dysdock span{
  font-size: 13px !important;
  line-height: 1 !important;
  display:inline-block !important;
}
.vgmkz-toggle--dock span{
  width: 54px !important;
  height: 30px !important;
}
.vgmkz-toggle--dock span:after{
  width: 22px !important;
  height: 22px !important;
  left: 3px !important;
  top: 3px !important;
}
.vgmkz-toggle--dock input:checked + span:after{
  left: 27px !important;
}
.vgmkz-langdock a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background:#fff;
  border:1px solid rgba(56,86,126,.16);
  box-shadow:0 8px 22px rgba(15,35,55,.08);
  text-decoration:none;
  font-size:18px;
}
.vgmkz-langdock a.is-active{
  box-shadow:0 0 0 3px rgba(56,86,126,.10);
  border-color: rgba(56,86,126,.35);
}
@media (max-width: 980px){
  .vgmkc-topbar{
    margin-top: 78px !important;
  }
  .vgmkc-tooldock{
    right: 10px !important;
    top: -46px !important;
  }
  .vgmkz-langdock{
    right: auto !important;
    left: 10px !important;
    top: -46px !important;
  }
}

/* v0.7.4 core-aligned top tools */
.vgmkz-app,.vgmkz-page,.vgmkc-shell,.vgmkc-topbar{ overflow: visible !important; }
.vgmkc-topbar{ position: relative; margin-top: 54px !important; }
.vgmkz-toptools{ position:absolute; top:-46px; right:0; left:0; display:flex; align-items:center; justify-content:space-between; pointer-events:none; z-index:10020; }
.vgmkz-toptools > *{ pointer-events:auto; }
.vgmkz-top-langbar{ display:flex !important; gap:8px; margin:0 !important; }
.vgmkc-langpill{ position: relative; isolation:isolate; border:1px solid rgba(47,78,116,0.18); background:rgba(255,255,255,0.92); color:var(--navy); border-radius:999px; padding:8px 10px; font-weight:900; font-size:12px; text-decoration:none; cursor:pointer; overflow:hidden; box-shadow:0 6px 16px rgba(11,27,51,0.05); }
.vgmkc-langpill::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.20; background-repeat:no-repeat; background-size:cover; background-position:center; border-radius:999px; }
.vgmkc-langpill:hover::before{ opacity:1; }
.vgmkc-langpill.is-active{ background:rgba(255,255,255,0.92); border-color:rgba(47,78,116,0.26); color:var(--navy); }
.vgmkc-langpill[data-lang="nl"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'%3E%3Crect width='3' height='2' fill='%2321468B'/%3E%3Crect width='3' height='1.333' y='0.667' fill='%23ffffff'/%3E%3Crect width='3' height='0.667' y='1.333' fill='%23AE1C28'/%3E%3C/svg%3E"); }
.vgmkc-langpill[data-lang="en"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23C8102E' stroke-width='3'/%3E%3Cpath d='M30 0 v30 M0 15 h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0 v30 M0 15 h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E"); }
.vgmkc-langpill[data-lang="ar"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Crect width='12' height='8' fill='%23006c35'/%3E%3Cpath d='M3 4h4' stroke='%23fff' stroke-width='0.6'/%3E%3Ccircle cx='8.8' cy='4' r='0.5' fill='%23fff'/%3E%3C/svg%3E"); }
.vgmkc-tooldock{ position:static !important; display:flex !important; align-items:center; gap:10px; z-index:auto !important; }
.vgmkc-toolbtn{ width:44px !important; height:44px !important; border-radius:999px !important; border:1px solid rgba(56,86,126,.16) !important; background:rgba(255,255,255,.95) !important; box-shadow:0 10px 24px rgba(15,35,55,.10) !important; }
.vgmkc-toolicon{ width:18px !important; height:18px !important; display:block !important; }
.vgmkc-dys-toggle{ display:flex !important; align-items:center; gap:8px; user-select:none; }
.vgmkc-dys-toggle input{ width:44px; height:24px; appearance:none; -webkit-appearance:none; background:#e5e7eb; border:1px solid rgba(0,0,0,0.12); border-radius:999px; position:relative; outline:none; cursor:pointer; }
.vgmkc-dys-toggle input::after{ content:''; width:18px; height:18px; background:#fff; border:1px solid rgba(0,0,0,0.10); border-radius:999px; position:absolute; top:50%; left:3px; transform:translateY(-50%); transition:all 160ms ease; }
.vgmkc-dys-toggle input:checked{ background:#16a34a; border-color:rgba(22,163,74,0.65); }
.vgmkc-dys-toggle input:checked::after{ left:22px; }
.vgmkc-dys-toggle span{ font-size:12px; color:rgba(0,0,0,0.70); white-space:nowrap; }
@media (max-width:980px){ .vgmkc-topbar{ margin-top:92px !important; } .vgmkz-toptools{ top:-78px; flex-direction:column; align-items:stretch; gap:8px; } .vgmkz-top-langbar{ justify-content:flex-start; } .vgmkc-tooldock{ justify-content:flex-start; flex-wrap:wrap; } }

/* v0.7.5 mobile top tools and admin action buttons */
.vgmk-zorg-admin-wrap .widefat td .button{ margin-right:6px; margin-bottom:4px; }
@media (max-width: 980px){
  .vgmkc-topbar{ margin-top:72px !important; }
  .vgmkz-toptools{ top:-52px !important; left:0 !important; right:0 !important; flex-direction:row !important; justify-content:space-between !important; align-items:center !important; }
  .vgmkz-top-langbar{ justify-content:flex-start !important; gap:6px !important; }
  .vgmkc-tooldock{ justify-content:flex-end !important; flex-wrap:nowrap !important; gap:8px !important; }
}
@media (max-width: 640px){
  .vgmkc-topbar{ margin-top:66px !important; }
  .vgmkz-toptools{ top:-48px !important; }
  .vgmkc-toolbtn{ width:40px !important; height:40px !important; }
  .vgmkc-langpill{ padding:7px 9px !important; font-size:11px !important; }
  .vgmkc-dys-toggle span{ font-size:11px !important; }
}


/* v0.7.6 left menu tools */
.vgmkz-toptools{display:none !important;}
.vgmkz-menuhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.vgmkz-menuhead .vgmkz-section-title{
  margin:0;
}
.vgmkc-dys-toggle--menu{
  display:flex !important;
  align-items:center;
  gap:8px;
}
.vgmkc-dys-toggle--menu input{
  width:44px;
  height:24px;
  appearance:none;
  -webkit-appearance:none;
  background:#e5e7eb;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:999px;
  position:relative;
  outline:none;
  cursor:pointer;
}
.vgmkc-dys-toggle--menu input::after{
  content:'';
  width:18px;
  height:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:999px;
  position:absolute;
  top:50%;
  left:3px;
  transform:translateY(-50%);
  transition:all 160ms ease;
}
.vgmkc-dys-toggle--menu input:checked{
  background:#16a34a;
  border-color:rgba(22,163,74,0.65);
}
.vgmkc-dys-toggle--menu input:checked::after{
  left:22px;
}
.vgmkc-dys-toggle--menu span{
  font-size:12px;
  color:rgba(0,0,0,0.70);
  white-space:nowrap;
}
.vgmkz-menu-logout{margin:0;}
.vgmkz-filter-seal,
.vgmkz-login-seal{
  margin-top:16px;
  display:flex;
  justify-content:center;
}
.vgmkz-sitelock img{
  max-width:140px;
  width:100%;
  height:auto;
  display:block;
}
@media (max-width:980px){
  .vgmkz-menuhead{
    align-items:flex-start;
  }
}


/* v0.7.7 menu/login polish */
.vgmkz-filtercard-inner .vgmkz-btn,
.vgmkz-filtercard-inner .vgmkz-btn--secondary,
.vgmkz-filtercard-inner .vgmkz-btn--reset,
.vgmkz-filtercard-inner .vgmkz-btn--save{
  background: var(--navy) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(56,86,126,.16) !important;
  border: none !important;
}
.vgmkz-login-seal{
  margin-top: 14px;
  display:flex;
  justify-content:center;
}
.vgmkz-login-seal .vgmkz-sitelock img{
  max-width: 150px;
}
.vgmkz-login-wrap .vgmkz-toptools,
.vgmkz-login-wrap .vgmkc-langbar,
.vgmkz-login-wrap .vgmkz-top-langbar,
.vgmkz-login-wrap .vgmkc-langpill{
  display:none !important;
}
.vgmkc-dys-toggle--menu{
  display:flex !important;
  align-items:center;
  gap:8px;
}
.vgmkc-dys-toggle--menu input{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:44px !important;
  height:24px !important;
  background:#e5e7eb !important;
  border:1px solid rgba(0,0,0,0.12) !important;
  border-radius:999px !important;
  position:relative !important;
  outline:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.vgmkc-dys-toggle--menu input::before,
.vgmkc-dys-toggle--menu input::after{
  content:'' !important;
}
.vgmkc-dys-toggle--menu input::after{
  width:18px !important;
  height:18px !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,0.10) !important;
  border-radius:999px !important;
  position:absolute !important;
  top:50% !important;
  left:3px !important;
  transform:translateY(-50%) !important;
  transition:all 160ms ease !important;
}
.vgmkc-dys-toggle--menu input:checked{
  background:#16a34a !important;
  border-color:rgba(22,163,74,0.65) !important;
}
.vgmkc-dys-toggle--menu input:checked::after{
  left:22px !important;
}
.vgmkc-dys-toggle--menu span{
  font-size:12px !important;
  color:rgba(0,0,0,0.70) !important;
  white-space:nowrap !important;
}


/* v0.7.8 seal/mobile/emoji */
.vgmkz-login-seal,
.vgmkz-filter-seal{
  margin-top:16px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.vgmkz-sitelock{
  display:inline-flex !important;
  justify-content:center;
  align-items:center;
  min-height: 32px;
}
.vgmkz-sitelock img{
  display:block !important;
  width: auto !important;
  max-width: 160px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.vgmkz-moodchip__img{
  width: 24px;
  height: 24px;
  object-fit: contain;
  display:block;
}
@media (max-width: 820px){
  .vgmkz-userbox,
  .vgmkz-userbox__email,
  .vgmkz-userbox__role{
    display:none !important;
  }
}
@media (max-width: 560px){
  .vgmkz-moodchip{
    width:100% !important;
    min-width:0 !important;
  }
  .vgmkz-moodchip__text{
    display:none !important;
  }
  .vgmkz-moods{
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
}

/* v0.8.1 dynamic dayparts */
.vgmkz-readonly-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:#fafbfd;font-weight:800;color:var(--navy)}
.vgmkz-moodchip__img{object-fit:contain;display:block}
.vgmkz-daypart-admin{margin:18px 0;padding:18px;border:1px solid #d8dee8;border-radius:16px;background:#fff}
.vgmkz-daypart-admin h2,.vgmkz-daypart-admin h3{margin:0 0 12px}


/* v0.8.6 backend widths */
.vgmk-zorg-admin-wrap{overflow-x:auto;padding-bottom:24px}
.vgmk-zorg-admin-wrap .vgmk-admin-grid{min-width:980px;max-width:1180px;margin:0 auto}
.vgmk-zorg-admin-wrap h1,
.vgmk-zorg-admin-wrap > .notice,
.vgmk-zorg-admin-wrap > .updated,
.vgmk-zorg-admin-wrap > .error{min-width:980px;max-width:1180px;margin-left:auto;margin-right:auto}
.vgmk-zorg-admin-wrap .vgmk-admin-card[style*="grid-column:1/-1"],
.vgmk-zorg-admin-wrap .vgmk-admin-card[style*="grid-column:1 / -1"]{width:100%;max-width:none}
.vgmk-zorg-admin-wrap.vgmkz-admin-wide .vgmk-admin-grid{min-width:1100px;max-width:1400px}
.vgmk-zorg-admin-wrap.vgmkz-admin-wide h1,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .notice,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .updated,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .error{min-width:1100px;max-width:1400px}


/* v0.8.7 backend widths + student status */
.vgmk-zorg-admin-wrap .vgmk-admin-grid{min-width:980px;max-width:1180px;margin:0 auto}
.vgmk-zorg-admin-wrap h1,
.vgmk-zorg-admin-wrap > .notice,
.vgmk-zorg-admin-wrap > .updated,
.vgmk-zorg-admin-wrap > .error{min-width:980px;max-width:1180px;margin-left:auto;margin-right:auto}
.vgmk-zorg-admin-wrap .vgmk-admin-card{box-sizing:border-box}
.vgmk-zorg-admin-wrap .vgmk-admin-card[style*="grid-column:1/-1"],
.vgmk-zorg-admin-wrap .vgmk-admin-card[style*="grid-column:1 / -1"]{width:100%;max-width:none}
.vgmk-zorg-admin-wrap.vgmkz-admin-wide .vgmk-admin-grid{min-width:1100px;max-width:1400px}
.vgmk-zorg-admin-wrap.vgmkz-admin-wide h1,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .notice,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .updated,
.vgmk-zorg-admin-wrap.vgmkz-admin-wide > .error{min-width:1100px;max-width:1400px}
.vgmkz-statusbox{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #d8dee8;border-radius:12px;background:#fafbfd;font-weight:800;color:var(--navy)}
.vgmkz-blocklabel{display:block;margin-bottom:6px}


/* v0.8.8 popup admin */
.vgmk-admin-toolbar{min-width:980px;max-width:1180px;margin:0 auto 16px}
.vgmk-zorg-admin-wrap.vgmkz-admin-wide .vgmk-admin-toolbar{min-width:1100px;max-width:1400px}
.vgmkz-card-overview{width:100%}
.vgmkz-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100000;padding:24px;overflow:auto}
.vgmkz-modal.is-open{display:block}
.vgmkz-modal__dialog{background:#fff;border-radius:18px;max-width:980px;margin:24px auto;padding:0;box-shadow:0 24px 60px rgba(15,23,42,.18)}
.vgmkz-admin-modal{max-width:980px}
.vgmkz-admin-modal--wide{max-width:1280px}
.vgmkz-modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e5e7eb}
.vgmkz-modal__body{padding:22px}
.vgmkz-modal__close{border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.vgmkz-viewpicker label{display:block;margin:8px 0}
.vgmkz-viewpicker input{margin-right:8px}
details.vgmkz-daypart-admin summary{cursor:pointer;margin-bottom:12px}

.vgmkz-school-logo-top{height:34px;width:auto;display:block;margin-right:12px;border-radius:8px;background:#fff;padding:3px;border:1px solid rgba(56,86,126,.12)}

.vgmkz-menu-subtitle{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px}
.vgmkz-childlist--menu{display:grid;gap:8px}
.vgmkz-childlist--menu .vgmkz-childpill{justify-content:flex-start}

.vgmkz-bar-row.is-sad .vgmkz-bar-fill{background:#ef4444}
.vgmkz-bar-row.is-angry .vgmkz-bar-fill{background:#b91c1c}

.vgmkz-grid-1{display:grid;grid-template-columns:1fr;gap:16px}
.vgmkz-readonly-chip{gap:8px}
.vgmkz-readonly-chip__img{display:block;object-fit:contain}
.vgmkz-readonly-chip__emoji{line-height:1}
.vgmkz-readonly-chip__text{font-weight:800}
.vgmkz-reminder-form{display:grid;gap:16px;margin-top:8px}
.vgmkz-setting-group{display:grid;gap:12px;padding-top:8px}
.vgmkz-setting-group__title{font-weight:900;color:var(--navy)}
.vgmkz-setting-help{font-size:13px;color:var(--muted)}
.vgmkz-reminder-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vgmkz-reminder-parent{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fafbfd}
.vgmkz-reminder-parent__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vgmkz-reminder-parent__name{font-weight:900;color:var(--navy)}
.vgmkz-reminder-parent__email{font-size:13px;color:var(--muted);margin-top:4px}
.vgmkz-reminder-parent__slots{display:grid;gap:8px;margin-top:10px}
@media (max-width:700px){.vgmkz-reminder-times{grid-template-columns:1fr}}

/* Parent-kind additions: autosave and medicine registration */
.vgmkz-form.is-saving::after{content:'Opslaan...';position:fixed;right:18px;bottom:18px;z-index:9999;background:#38567e;color:#fff;border-radius:999px;padding:8px 13px;font-weight:900;box-shadow:0 10px 26px rgba(15,35,55,.18)}
.vgmkz-form.is-saved::after{content:'Opgeslagen';position:fixed;right:18px;bottom:18px;z-index:9999;background:#16a34a;color:#fff;border-radius:999px;padding:8px 13px;font-weight:900;box-shadow:0 10px 26px rgba(15,35,55,.18)}
.vgmkz-form.is-error::after{content:'Niet opgeslagen';position:fixed;right:18px;bottom:18px;z-index:9999;background:#ef4444;color:#fff;border-radius:999px;padding:8px 13px;font-weight:900;box-shadow:0 10px 26px rgba(15,35,55,.18)}
.vgmkz-medicine-sub{display:block;margin-top:3px;font-size:12px;line-height:1.25;color:var(--muted);font-weight:700}.vgmkz-medslots{grid-template-columns:repeat(4,minmax(0,1fr))}.vgmkz-medchip{gap:8px}.vgmkz-medchip input{position:absolute;opacity:0;pointer-events:none}.vgmkz-medbox{width:20px;height:20px;border-radius:6px;border:2px solid rgba(56,86,126,.32);background:#fff;display:inline-block;position:relative;flex:0 0 auto}.vgmkz-medchip:has(input:checked),.vgmkz-medchip.is-checked{background:rgba(56,86,126,.08);border-color:rgba(56,86,126,.42);box-shadow:0 0 0 3px rgba(56,86,126,.08)}.vgmkz-medchip:has(input:checked) .vgmkz-medbox,.vgmkz-medchip.is-checked .vgmkz-medbox{background:var(--navy);border-color:var(--navy)}.vgmkz-medchip:has(input:checked) .vgmkz-medbox:after,.vgmkz-medchip.is-checked .vgmkz-medbox:after{content:'';position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}@media (max-width:560px){.vgmkz-medslots{grid-template-columns:repeat(2,minmax(0,1fr))}.vgmkz-medchip{width:100%;flex:none}.vgmkz-medchip .vgmkz-moodchip__text{display:block}}

/* v0.9.7 medication scheduling/status */
.vgmkz-medicine-titleline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vgmkz-medicine-leaflet{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(56,86,126,.24);border-radius:999px;padding:3px 9px;font-size:11px;line-height:1.2;font-weight:900;text-decoration:none;color:var(--navy);background:#fff}
.vgmkz-medicine-leaflet:hover{text-decoration:none;border-color:rgba(56,86,126,.42)}
.vgmkz-medchip--scheduled{border-width:2px}
.vgmkz-medchip.is-given,.vgmkz-medchip.is-checked.is-given{background:#dcfce7;border-color:#86efac;box-shadow:0 0 0 3px rgba(134,239,172,.22)}
.vgmkz-medchip.is-given .vgmkz-medbox,.vgmkz-medchip.is-checked.is-given .vgmkz-medbox{background:#22c55e;border-color:#22c55e}
.vgmkz-medchip.is-missed{background:#fee2e2;border-color:#fca5a5;box-shadow:0 0 0 3px rgba(252,165,165,.18)}
.vgmkz-medchip.is-missed .vgmkz-medbox{border-color:#fca5a5;background:#fff7f7}

/* v0.9.8 medication refinements */
.vgmkz-medicine-leaflet{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;box-shadow:0 3px 10px rgba(22,163,74,.18)}
.vgmkz-medicine-leaflet:hover{background:#15803d!important;border-color:#15803d!important;color:#fff!important}
.vgmkz-medchip--scheduled:not(.is-given):not(.is-missed){border-color:#fca5a5;box-shadow:0 0 0 2px rgba(252,165,165,.16);background:#fff1f2}
.vgmkz-medchip--scheduled:not(.is-given):not(.is-missed) .vgmkz-medbox{border-color:#fca5a5;background:#fff}
.vgmkz-medchip--optional:not(.is-given):not(.is-missed){opacity:.82;border-style:dashed}
.vgmkz-generic-med-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.vgmkz-generic-med-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--navy)}
.vgmkz-small-action{border:1px solid rgba(56,86,126,.18);background:#fff;border-radius:999px;padding:7px 11px;font-weight:900;color:var(--navy);cursor:pointer}
.vgmkz-small-action:hover{border-color:rgba(56,86,126,.36);background:#f8fafc}
.vgmkz-generic-med-rows{display:grid;gap:8px;margin-top:8px}
.vgmkz-generic-med-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;border:1px solid var(--border);border-radius:14px;background:#fff;padding:10px 42px 10px 12px}
.vgmkz-generic-med-row__main{font-weight:900;color:var(--navy)}
.vgmkz-generic-med-row__sub{font-size:12px;font-weight:800;color:var(--muted);grid-column:1/-1}
.vgmkz-row-delete{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid rgba(239,68,68,.24);border-radius:999px;background:#fff;color:#ef4444;font-size:18px;line-height:1;cursor:pointer}
.vgmkz-generic-med-popup{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px}
.vgmkz-generic-med-popup[hidden]{display:none!important}
.vgmkz-generic-med-popup__box{width:min(440px,100%);background:#fff;border-radius:18px;padding:16px;box-shadow:0 20px 70px rgba(15,23,42,.22);display:grid;gap:10px}
.vgmkz-generic-med-popup__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--navy)}
.vgmkz-generic-med-popup__head button{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--navy)}
.vgmkz-generic-med-popup label{display:grid;gap:5px;font-size:12px;font-weight:900;color:var(--muted)}
.vgmkz-generic-med-popup select,.vgmkz-generic-med-popup input{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px 10px;font-size:14px;background:#fff;color:var(--text)}
.vgmkz-generic-med-popup__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
@media (max-width:560px){.vgmkz-generic-med-head{align-items:flex-start;flex-direction:column}.vgmkz-small-action{width:100%}.vgmkz-generic-med-popup{align-items:flex-end}.vgmkz-generic-med-popup__box{border-radius:18px 18px 0 0}}

/* v0.9.9 medication compact layout and dose-overrun state */
.vgmkz-medicine-row{grid-template-columns:minmax(180px,270px) minmax(0,1fr);gap:10px;padding:6px 0}
.vgmkz-medicine-titleline{line-height:1.15;gap:6px;flex-wrap:nowrap}
.vgmkz-medicine-name{font-size:13px;font-weight:900;white-space:normal}
.vgmkz-medicine-sub{font-size:11px;line-height:1.15;margin-top:2px;font-weight:800}
.vgmkz-medicine-leaflet{font-size:10px!important;padding:2px 7px!important;min-height:20px;flex:0 0 auto}
.vgmkz-medicine-row .vgmkz-medchip{min-height:32px;padding:0 6px;gap:5px;border-radius:10px}
.vgmkz-medicine-row .vgmkz-medbox{width:16px;height:16px;border-radius:5px}
.vgmkz-medicine-row .vgmkz-medchip .vgmkz-moodchip__text{font-size:11px}
.vgmkz-medicine-row .vgmkz-medchip.is-overdose,.vgmkz-medicine-row.is-overdose .vgmkz-medchip.is-overdose{background:#fecaca!important;border-color:#f87171!important;box-shadow:0 0 0 3px rgba(248,113,113,.18)!important}
.vgmkz-medicine-row .vgmkz-medchip.is-overdose .vgmkz-medbox{background:#ef4444!important;border-color:#ef4444!important}
.vgmkz-medicine-row.is-overdose .vgmkz-measure-label{color:#991b1b}
.vgmkz-other-med-action{margin:8px 0 0}.vgmkz-other-med-action .vgmkz-small-action{width:auto}
.vgmkz-generic-med-section{margin-top:8px;padding-top:10px}.vgmkz-generic-med-head{margin-bottom:6px}.vgmkz-generic-med-row{padding-top:8px;padding-bottom:8px}.vgmkz-generic-med-row__main{font-size:13px}.vgmkz-generic-med-row__sub{font-size:11px}
@media (max-width:820px){.vgmkz-medicine-row{grid-template-columns:1fr;gap:6px}.vgmkz-medicine-titleline{flex-wrap:wrap}.vgmkz-medicine-row .vgmkz-medchip{min-height:34px}}
@media (max-width:560px){.vgmkz-medicine-row .vgmkz-medslots{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.vgmkz-medicine-row .vgmkz-medchip{padding:0 3px;gap:3px}.vgmkz-medicine-row .vgmkz-medbox{width:14px;height:14px}.vgmkz-medicine-row .vgmkz-medchip .vgmkz-moodchip__text{font-size:10px}}


.vgmkz-picto-trigger{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-align:left;
}
.vgmkz-picto-trigger:hover{ text-decoration:underline; }
.vgmkz-picto-modal__inner{ max-width:560px; }
.vgmkz-picto-modal__body{ padding:20px; text-align:center; }
.vgmkz-picto-modal__body img{ max-width:100%; max-height:70vh; width:auto; height:auto; border-radius:14px; }

/* 0.9.13: weekdag- en medicatiepicto's bovenin + meerdere pictogrammen per onderdeel */
.vgmkz-childhead__center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:80px}
.vgmkz-childhead__right{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}
.vgmkz-daypicto,.vgmkz-medicinepicto{appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.vgmkz-daypicto{flex-direction:column;gap:3px;min-width:66px;color:var(--navy);font-weight:900;font-size:11px;line-height:1.1}
.vgmkz-daypicto img{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid rgba(56,86,126,.16);box-shadow:0 6px 16px rgba(15,35,55,.08);padding:4px}
.vgmkz-medicinepicto img{width:34px;height:34px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid rgba(56,86,126,.16);box-shadow:0 5px 14px rgba(15,35,55,.08);padding:3px}
.vgmkz-picto-modal__body{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.vgmkz-picto-modal__body img{max-width:min(100%,220px);max-height:70vh;width:auto;height:auto;border-radius:14px;background:#fff;border:1px solid rgba(56,86,126,.12);padding:6px;box-shadow:0 8px 24px rgba(15,35,55,.10)}
@media (max-width:820px){.vgmkz-childhead{gap:12px}.vgmkz-childhead__center{order:2;justify-content:center}.vgmkz-childhead__right{order:3;justify-content:space-between;width:100%}.vgmkz-daypicto img{width:54px;height:54px}.vgmkz-medicinepicto img{width:32px;height:32px}}
@media (max-width:560px){.vgmkz-childhead__right{gap:6px}.vgmkz-daypicto img{width:48px;height:48px}.vgmkz-daypicto span{font-size:10px}.vgmkz-medicinepicto img{width:30px;height:30px}.vgmkz-picto-modal__body img{max-width:44%;}}

/* 0.9.15: dagpicto groter, geen dagtekst, medicatiepicto in kop en tijdelijke flashmelding */
.vgmkz-childhead__center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:88px}
.vgmkz-daypicto{min-width:84px}
.vgmkz-daypicto span{display:none!important}
.vgmkz-daypicto img{width:74px!important;height:74px!important;padding:5px!important;border-radius:16px!important}
.vgmkz-childhead__right{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.vgmkz-section-title--with-picto{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.vgmkz-section-title--with-picto .vgmkz-medicinepicto{margin-left:auto}
.vgmkz-section-title--with-picto .vgmkz-medicinepicto img{width:52px!important;height:52px!important;padding:5px!important;border-radius:14px!important}
.vgmkz-app > .vgmkz-flash.success{transition:opacity .45s ease,max-height .45s ease,margin .45s ease,padding .45s ease;max-height:90px;overflow:hidden}
.vgmkz-app > .vgmkz-flash.success.is-hiding{opacity:0;max-height:0;margin:0 auto;padding-top:0;padding-bottom:0;border-width:0;pointer-events:none}
@media (max-width:820px){.vgmkz-daypicto img{width:66px!important;height:66px!important}.vgmkz-section-title--with-picto .vgmkz-medicinepicto img{width:48px!important;height:48px!important}}
@media (max-width:560px){.vgmkz-childhead__center{min-width:70px}.vgmkz-daypicto{min-width:70px}.vgmkz-daypicto img{width:60px!important;height:60px!important}.vgmkz-section-title--with-picto .vgmkz-medicinepicto img{width:44px!important;height:44px!important}}

/* 0.9.16: kind-picto en optionele roepnaam */
.vgmkz-childhead__avatarimg--picto{
  border-radius:16px!important;
  object-fit:contain!important;
  background:#fff!important;
  padding:5px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(56,86,126,.16)!important;
  box-shadow:0 6px 16px rgba(15,35,55,.08)!important;
}


/* 0.9.22: frontend UI instellingen, dagdeel-picto's, medicatiekleur gelijk aan emoties, compacte vinkjes en inklapbare activiteiten */
.vgmkz-app .vgmkz-section-title{
  font-size:var(--vgmkz-section-title-size,18px)!important;
}
.vgmkz-app .vgmkz-daypicto img{
  width:var(--vgmkz-top-day-picto-size,74px)!important;
  height:var(--vgmkz-top-day-picto-size,74px)!important;
}
.vgmkz-section-title__actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}
.vgmkz-sectionpicto,
.vgmkz-medicinepicto{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.vgmkz-sectionpicto img,
.vgmkz-section-title--with-picto .vgmkz-medicinepicto img{
  width:var(--vgmkz-section-picto-size,52px)!important;
  height:var(--vgmkz-section-picto-size,52px)!important;
  object-fit:contain;
  border-radius:14px!important;
  background:#fff;
  border:1px solid rgba(56,86,126,.16);
  box-shadow:0 5px 14px rgba(15,35,55,.08);
  padding:5px!important;
}
.vgmkz-medbox{
  width:18px!important;
  height:18px!important;
  border-radius:5px!important;
  box-sizing:border-box!important;
}
.vgmkz-medchip:has(input:checked) .vgmkz-medbox:after,
.vgmkz-medchip.is-checked .vgmkz-medbox:after{
  left:4px!important;
  top:1px!important;
  width:5px!important;
  height:9px!important;
  border-width:0 2px 2px 0!important;
}
.vgmkz-medchip.is-given,
.vgmkz-medchip.is-checked.is-given{
  background:rgba(34,197,94,.08)!important;
  border-color:rgba(34,197,94,.38)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.10)!important;
}
.vgmkz-medchip.is-given .vgmkz-medbox,
.vgmkz-medchip.is-checked.is-given .vgmkz-medbox{
  background:#22c55e!important;
  border-color:#22c55e!important;
}
.vgmkz-medchip.is-missed,
.vgmkz-medchip--scheduled:not(.is-given):not(.is-missed){
  background:rgba(239,68,68,.08)!important;
  border-color:rgba(239,68,68,.34)!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.08)!important;
}
.vgmkz-medchip.is-missed .vgmkz-medbox,
.vgmkz-medchip--scheduled:not(.is-given):not(.is-missed) .vgmkz-medbox{
  border-color:rgba(239,68,68,.34)!important;
  background:#fff!important;
}
.vgmkz-activity-toggle{
  border:1px solid rgba(56,86,126,.18);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.vgmkz-activity-toggle:hover{
  border-color:rgba(56,86,126,.36);
  background:#f8fafc;
}
.vgmkz-activities-card.is-collapsed .vgmkz-measure-row:not(.is-selected){
  display:none;
}
.vgmkz-activities-card.is-collapsed .vgmkz-measure-list{
  margin-top:8px;
}
@media (max-width:560px){
  .vgmkz-section-title__actions{gap:6px}
  .vgmkz-activity-toggle{font-size:11px;padding:6px 8px}
}

/* 0.9.23: activiteitenkop met picto naast titel, uitklapknop eronder, Farmacotherapeutisch Kompas-link */
.vgmkz-section-title--activities{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
.vgmkz-activity-title-main{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.vgmkz-activity-title-picto img{
  width:var(--vgmkz-section-picto-size,52px)!important;
  height:var(--vgmkz-section-picto-size,52px)!important;
}
.vgmkz-section-title--activities .vgmkz-activity-toggle{
  margin-top:2px;
}
.vgmkz-medicine-name--link{
  color:var(--navy)!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.vgmkz-medicine-name--link:hover{
  color:var(--orange)!important;
}


/* 0.9.24: activiteitenpicto rechts uitlijnen en uitklapknop onder de picto */
.vgmkz-section-title--activities{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.vgmkz-section-title__actions--activities{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:6px!important;
  margin-left:auto!important;
}
.vgmkz-section-title__actions--activities .vgmkz-activity-title-picto{
  margin-left:0!important;
}
.vgmkz-section-title__actions--activities .vgmkz-activity-toggle{
  margin-top:0!important;
  align-self:flex-end!important;
}
.vgmkz-section-title__actions--activities .vgmkz-activity-title-picto img{
  width:var(--vgmkz-section-picto-size,52px)!important;
  height:var(--vgmkz-section-picto-size,52px)!important;
}
@media (max-width:560px){
  .vgmkz-section-title__actions--activities{gap:5px!important;}
}

/* 0.9.25: in-/uitklappen voor ochtend, middag, activiteiten, avond en nacht */
.vgmkz-collapsible-card.is-collapsed .vgmkz-measure-row:not(.is-selected){
  display:none;
}
.vgmkz-collapsible-card.is-collapsed .vgmkz-measure-list{
  margin-top:8px;
}
.vgmkz-section-title--collapsible{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.vgmkz-section-title__actions--collapsible{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:6px!important;
  margin-left:auto!important;
}
.vgmkz-section-title__actions--collapsible .vgmkz-activity-toggle{
  margin-top:0!important;
  align-self:flex-end!important;
}
.vgmkz-section-title__actions--collapsible .vgmkz-collapsible-title-picto img{
  width:var(--vgmkz-section-picto-size,52px)!important;
  height:var(--vgmkz-section-picto-size,52px)!important;
}
@media (max-width:560px){
  .vgmkz-section-title__actions--collapsible{gap:5px!important;}
}


/* 0.9.26: compacte plus/min-knop voor inklappen en uitklappen */
.vgmkz-activity-toggle{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:900!important;
}
@media (max-width:560px){
  .vgmkz-activity-toggle{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    font-size:21px!important;
    padding:0!important;
  }
}


/* 0.9.27: compactere ingeklapte dagdeelkop - picto links, titel rechtsboven, plus/min rechtsonder */
.vgmkz-collapsible-card.is-collapsed{
  padding:12px 14px!important;
}
.vgmkz-collapsible-card .vgmkz-section-title--collapsible{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  grid-template-areas:"picto title" "picto toggle"!important;
  align-items:stretch!important;
  column-gap:12px!important;
  row-gap:4px!important;
  min-height:var(--vgmkz-section-picto-size,52px)!important;
  width:100%!important;
}
.vgmkz-collapsible-card .vgmkz-section-title--collapsible > .vgmkz-section-title__text{
  grid-area:title!important;
  justify-self:end!important;
  align-self:start!important;
  text-align:right!important;
  line-height:1.05!important;
  min-width:0!important;
  max-width:100%!important;
}
.vgmkz-collapsible-card .vgmkz-section-title--collapsible > .vgmkz-section-title__actions--collapsible{
  display:contents!important;
}
.vgmkz-collapsible-card .vgmkz-section-title__actions--collapsible .vgmkz-collapsible-title-picto,
.vgmkz-collapsible-card .vgmkz-section-title__actions--collapsible .vgmkz-sectionpicto{
  grid-area:picto!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}
.vgmkz-collapsible-card .vgmkz-section-title__actions--collapsible .vgmkz-activity-toggle{
  grid-area:toggle!important;
  justify-self:end!important;
  align-self:end!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:20px!important;
  margin:0!important;
}
.vgmkz-collapsible-card.is-collapsed .vgmkz-measure-list{
  margin-top:0!important;
}
.vgmkz-collapsible-card.is-collapsed:has(.vgmkz-measure-row.is-selected) .vgmkz-measure-list{
  margin-top:8px!important;
}
@media (max-width:560px){
  .vgmkz-collapsible-card.is-collapsed{padding:10px 12px!important;}
  .vgmkz-collapsible-card .vgmkz-section-title--collapsible{column-gap:10px!important;}
  .vgmkz-collapsible-card .vgmkz-section-title__actions--collapsible .vgmkz-activity-toggle{width:26px!important;height:26px!important;min-width:26px!important;font-size:18px!important;}
}


/* 0.9.28: medicijnenkop dezelfde opbouw als compacte dagdeelkop - picto links, tekst rechtsboven */
.vgmkz-medicine-card .vgmkz-section-title--medicine{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  grid-template-areas:"picto title" "picto spacer"!important;
  align-items:stretch!important;
  column-gap:12px!important;
  row-gap:4px!important;
  min-height:var(--vgmkz-section-picto-size,52px)!important;
  width:100%!important;
}
.vgmkz-medicine-card .vgmkz-section-title--medicine > .vgmkz-section-title__text{
  grid-area:title!important;
  justify-self:end!important;
  align-self:start!important;
  text-align:right!important;
  line-height:1.05!important;
  min-width:0!important;
  max-width:100%!important;
}
.vgmkz-medicine-card .vgmkz-section-title--medicine > .vgmkz-section-title__actions--medicine{
  display:contents!important;
}
.vgmkz-medicine-card .vgmkz-section-title__actions--medicine .vgmkz-medicinepicto,
.vgmkz-medicine-card .vgmkz-section-title__actions--medicine .vgmkz-medicine-title-picto{
  grid-area:picto!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}
.vgmkz-medicine-card .vgmkz-section-title__actions--medicine .vgmkz-medicinepicto img,
.vgmkz-medicine-card .vgmkz-section-title__actions--medicine .vgmkz-medicine-title-picto img{
  width:var(--vgmkz-section-picto-size,52px)!important;
  height:var(--vgmkz-section-picto-size,52px)!important;
}
.vgmkz-medicine-card .vgmkz-section-title--medicine:not(:has(.vgmkz-medicinepicto)){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
@media (max-width:560px){
  .vgmkz-medicine-card .vgmkz-section-title--medicine{column-gap:10px!important;}
}

/* Weekplanning */
.vgmkz-planning-modal{width:min(1280px,96vw);max-width:96vw;height:min(92vh,980px);display:flex;flex-direction:column;}
.vgmkz-planning-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #e5e7eb;}
.vgmkz-planning-title{font-weight:700;margin-left:auto;}
.vgmkz-planning-badge{font-size:12px;background:#f3f4f6;border-radius:999px;padding:5px 10px;color:#374151;}
.vgmkz-planning-scroll{padding:12px 16px;overflow:auto;flex:1;background:#f9fafb;scroll-behavior:auto;}
.vgmkz-weekplan-loading{padding:24px;text-align:center;color:#6b7280;}
.vgmkz-weekplan-table{display:grid;grid-template-columns:70px repeat(7,minmax(145px,1fr));grid-template-rows:100px 1440px;min-width:1120px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:visible;}
.vgmkz-weekplan-corner{grid-column:1;grid-row:1;background:#f8fafc;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;position:sticky;top:0;left:0;z-index:8;}
.vgmkz-weekplan-dayhead{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#f8fafc;text-align:center;position:sticky;top:0;z-index:7;}
.vgmkz-weekplan-dayhead img{width:54px;height:54px;object-fit:contain;}
.vgmkz-weekplan-dayhead strong{font-size:15px;line-height:1.1;}
.vgmkz-weekplan-dayhead span{font-size:12px;color:#64748b;}
.vgmkz-weekplan-dayhead.is-today{background:#fff7ed;box-shadow:inset 0 -3px 0 #fb923c;}
.vgmkz-weekplan-hours{grid-column:1;grid-row:2;background:#f8fafc;border-right:1px solid #e5e7eb;position:sticky;left:0;z-index:6;}
.vgmkz-weekplan-hours>div{height:60px;font-size:12px;color:#64748b;text-align:center;border-bottom:1px solid #eef2f7;padding-top:4px;box-sizing:border-box;}
.vgmkz-weekplan-daycol{grid-row:2;position:relative;border-right:1px solid #e5e7eb;background:#fff;}
.vgmkz-weekplan-daycol.is-today{background:#fffbeb;}
.vgmkz-weekplan-hourline{height:60px;border-bottom:1px solid #eef2f7;box-sizing:border-box;}
.vgmkz-weekplan-block{position:absolute;left:7px;right:7px;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:6px 7px;text-align:left;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.08);cursor:pointer;color:#111827;font-size:12px;line-height:1.12;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;}
.vgmkz-weekplan-block.is-now{outline:3px solid rgba(37,99,235,.35);z-index:3;}
.vgmkz-weekplan-time{display:block;font-weight:700;font-size:12px;margin:0;}
.vgmkz-weekplan-rel{display:block;font-size:11px;color:#475569;margin:0;}
.vgmkz-weekplan-titletext{display:block;font-size:12px;margin:0;}
.vgmkz-weekplan-tag{display:block;font-size:22px;line-height:1.02;font-weight:900;text-transform:uppercase;letter-spacing:.02em;margin:1px 0 0;color:#111827;}
.vgmkz-weekplan-pictos{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:flex-start;justify-content:flex-start;width:100%;}
.vgmkz-weekplan-pictos img{width:min(80%,112px);height:auto;max-height:112px;object-fit:contain;background:#fff;border-radius:10px;padding:3px;box-shadow:0 1px 3px rgba(15,23,42,.10);align-self:flex-start;}
.vgmkz-weekplan-now{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:2;}
.vgmkz-planning-edit{position:absolute;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:20;padding:18px;}
.vgmkz-planning-edit[hidden]{display:none!important;}
.vgmkz-planning-edit__box{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28);padding:18px;width:min(520px,92vw);display:grid;gap:10px;}
.vgmkz-planning-edit__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.vgmkz-planning-edit__head button{border:0;background:#f3f4f6;border-radius:999px;width:32px;height:32px;font-size:20px;cursor:pointer;}
.vgmkz-planning-edit label{display:grid;gap:5px;font-weight:700;font-size:13px;}
.vgmkz-planning-edit input,.vgmkz-planning-edit select,.vgmkz-planning-edit textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:8px;font:inherit;}
.vgmkz-planning-edit__times{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.vgmkz-planning-edit__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;}
.vgmkz-chip--danger{background:#fee2e2!important;color:#991b1b!important;}
@media(max-width:800px){.vgmkz-planning-modal{width:98vw;height:94vh}.vgmkz-weekplan-table{min-width:980px;grid-template-columns:62px repeat(7,130px)}.vgmkz-planning-title{margin-left:0;width:100%;}.vgmkz-planning-toolbar{align-items:flex-start}.vgmkz-weekplan-dayhead img{width:46px;height:46px}.vgmkz-weekplan-pictos img{width:min(80%,96px);height:auto;max-height:96px}.vgmkz-weekplan-tag{font-size:19px}}

/* 0.9.31: grotere planningpictogrammen en top-uitlijning binnen tijdsblokken */

/* 0.9.32: medicatievoorraad en handmatige activiteiten */
.vgmkz-stock-alert{margin:12px auto 0;max-width:1180px;border-radius:16px;padding:12px 16px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:14px;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.vgmkz-stock-alert.is-low{background:#ffedd5;border:1px solid #fdba74;color:#9a3412}
.vgmkz-stock-alert.is-critical{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}
.vgmkz-stock-modal{width:min(860px,94vw);max-height:90vh;}
.vgmkz-stock-list{display:grid;gap:10px}
.vgmkz-stock-row{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff;display:grid;gap:4px}
.vgmkz-stock-row>div:first-child{display:grid;gap:2px}
.vgmkz-stock-row>div:first-child span{font-size:12px;color:#64748b}
.vgmkz-stock-row__qty{font-size:16px;color:#111827}
.vgmkz-stock-row__meta{font-size:12px;color:#64748b}
.vgmkz-stock-row.is-low{background:#fff7ed;border-color:#fdba74}
.vgmkz-stock-row.is-critical{background:#fef2f2;border-color:#fca5a5}
.vgmkz-manual-activity-btn{margin:8px 0 0 0;align-self:flex-start}
.vgmkz-measure-row.is-manual-activity .vgmkz-measure-label:after{content:'handmatig';display:inline-block;margin-left:8px;font-size:10px;border-radius:999px;background:#f3f4f6;color:#64748b;padding:2px 7px;vertical-align:middle}
@media(max-width:760px){.vgmkz-stock-alert{margin:8px 8px 0;align-items:flex-start;justify-content:flex-start}.vgmkz-stock-row__qty{font-size:15px}}


/* 0.9.33: medicatievoorraad leveringen en voorraadmeter */
.vgmkz-stock-row__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}
.vgmkz-stock-row__info{display:grid;gap:2px;min-width:0}
.vgmkz-stock-gauge{--vgmkz-stock-pct:0%;width:74px;height:74px;border-radius:50%;flex:0 0 74px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:conic-gradient(#86efac var(--vgmkz-stock-pct),#e5e7eb 0);position:relative;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.vgmkz-stock-gauge:before{content:'';position:absolute;inset:8px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(15,23,42,.10)}
.vgmkz-stock-gauge strong,.vgmkz-stock-gauge span{position:relative;z-index:1;line-height:1}
.vgmkz-stock-gauge strong{font-size:18px;font-weight:900;color:#111827}
.vgmkz-stock-gauge span{font-size:10px;color:#64748b;margin-top:3px;text-transform:uppercase;letter-spacing:.04em}
.vgmkz-stock-gauge.is-low{background:conic-gradient(#fdba74 var(--vgmkz-stock-pct),#e5e7eb 0)}
.vgmkz-stock-gauge.is-critical{background:conic-gradient(#fca5a5 var(--vgmkz-stock-pct),#e5e7eb 0)}
.vgmkz-stock-delivery-form{margin-top:10px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;background:rgba(255,255,255,.7);border:1px solid #e5e7eb;border-radius:12px;padding:10px}
.vgmkz-stock-delivery-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#475569}
.vgmkz-stock-delivery-form input{border:1px solid #d1d5db;border-radius:10px;padding:8px;font:inherit;background:#fff;min-width:0}
.vgmkz-stock-history{margin-top:10px;border-top:1px solid #e5e7eb;padding-top:8px;display:grid;gap:5px;font-size:12px;color:#475569}
.vgmkz-stock-history>strong{font-size:12px;color:#111827}
.vgmkz-stock-history__row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #eef2f7;border-radius:10px;padding:6px 8px}
.vgmkz-stock-history__row em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 6px}
.vgmkz-stock-history__empty{color:#94a3b8}
@media(max-width:760px){.vgmkz-stock-row__top{align-items:flex-start}.vgmkz-stock-gauge{width:64px;height:64px;flex-basis:64px}.vgmkz-stock-delivery-form{grid-template-columns:1fr}.vgmkz-stock-delivery-form .vgmkz-btn{width:100%}}


/* 0.9.34: compacte medicatievoorraad - levering via popup en alleen actieve leveringen tonen */
.vgmkz-stock-actions{display:flex;justify-content:flex-end;margin-top:8px}
.vgmkz-stock-actions .vgmkz-btn{font-size:12px;padding:7px 12px;border-radius:999px}
.vgmkz-stock-delivery-popup[hidden]{display:none!important}
.vgmkz-stock-delivery-popup{position:fixed;inset:0;z-index:120;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:18px}
.vgmkz-stock-delivery-popup__box{width:min(420px,92vw);background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(15,23,42,.30);padding:16px;display:grid;gap:12px}
.vgmkz-stock-delivery-popup__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vgmkz-stock-delivery-popup__head button{border:0;background:#f1f5f9;border-radius:999px;width:32px;height:32px;cursor:pointer;font-size:20px;line-height:1;color:#334155}
.vgmkz-stock-delivery-popup__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.vgmkz-stock-delivery-form{margin-top:0;display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;background:#fff;border:0;border-radius:0;padding:0}
.vgmkz-stock-delivery-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#475569}
.vgmkz-stock-delivery-form input{border:1px solid #d1d5db;border-radius:10px;padding:8px;font:inherit;background:#fff;min-width:0}
.vgmkz-stock-history{margin-top:8px;border-top:1px solid #e5e7eb;padding-top:8px;display:grid;gap:5px;font-size:12px;color:#475569}
.vgmkz-stock-history__row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #eef2f7;border-radius:10px;padding:6px 8px}
@media(max-width:760px){.vgmkz-stock-actions{justify-content:stretch}.vgmkz-stock-actions .vgmkz-btn{width:100%}.vgmkz-stock-delivery-popup__actions{display:grid;grid-template-columns:1fr}.vgmkz-stock-history__row{grid-template-columns:1fr;gap:2px}}

/* 0.9.36: veilige voorraadcompactie + definitieve frontend-activiteiten */
.vgmkz-stock-row__top{align-items:flex-start}
.vgmkz-stock-row__right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px;flex:0 0 auto}
.vgmkz-stock-actions{margin-top:0}
.vgmkz-stock-actions .vgmkz-btn{white-space:nowrap}
.vgmkz-stock-row__qty{margin-top:-2px;font-size:13px;color:#64748b}
.vgmkz-measure-row.is-manual-activity .vgmkz-measure-label:after{content:none!important;display:none!important}
.vgmkz-activity-add-popup[hidden]{display:none!important}
.vgmkz-activity-add-popup{position:fixed;inset:0;z-index:125;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:18px}
.vgmkz-activity-add-popup__box{width:min(460px,92vw);background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(15,23,42,.30);padding:16px;display:grid;gap:12px}
.vgmkz-activity-add-popup__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vgmkz-activity-add-popup__head button{border:0;background:#f1f5f9;border-radius:999px;width:32px;height:32px;cursor:pointer;font-size:20px;line-height:1;color:#334155}
.vgmkz-activity-add-popup label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#475569}
.vgmkz-activity-add-popup input,.vgmkz-activity-add-popup select{border:1px solid #d1d5db;border-radius:10px;padding:8px;font:inherit;background:#fff;min-width:0;width:100%;box-sizing:border-box}
.vgmkz-activity-add-popup__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
@media(max-width:760px){.vgmkz-stock-row__top{display:grid;grid-template-columns:1fr auto;align-items:start}.vgmkz-stock-row__right{align-items:flex-end}.vgmkz-stock-actions{justify-content:flex-end}.vgmkz-stock-actions .vgmkz-btn{width:auto}.vgmkz-activity-add-popup__actions{display:grid;grid-template-columns:1fr}}


/* 0.9.37: voorraadkaart één regel + andere medicijnen met vaste momentvinkjes */
.vgmkz-stock-row__top{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) auto auto;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:4px;
}
.vgmkz-stock-row__meter{display:flex;align-items:center;justify-content:center;}
.vgmkz-stock-row__right{display:contents!important;}
.vgmkz-stock-actions{margin-top:0!important;display:flex;align-items:center;justify-content:flex-end;}
.vgmkz-stock-actions .vgmkz-btn{white-space:nowrap;}
.vgmkz-stock-row__info strong{font-size:15px;line-height:1.15;}
.vgmkz-stock-row__info span{font-size:12px;line-height:1.2;}
.vgmkz-generic-med-row--moments{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:10px 42px 10px 12px;
}
.vgmkz-generic-med-row__info{display:grid;gap:1px;min-width:0;}
.vgmkz-generic-medslots{margin-top:0;}
.vgmkz-generic-medslots .vgmkz-medchip{min-height:42px;}
@media(max-width:760px){
  .vgmkz-stock-row__top{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"info meter" "actions actions";
    align-items:center!important;
  }
  .vgmkz-stock-row__info{grid-area:info;}
  .vgmkz-stock-row__meter{grid-area:meter;}
  .vgmkz-stock-actions{grid-area:actions;justify-content:stretch;}
  .vgmkz-stock-actions .vgmkz-btn{width:100%;}
}

/* 0.9.38: actieve leveringen klikbaar bewerken/verwijderen + unieke voorraadkoppeling */
.vgmkz-stock-history__row{
  width:100%;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
.vgmkz-stock-history__row:hover{
  border-color:#cbd5e1;
  background:#f8fafc;
}
.vgmkz-btn--danger{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
}
.vgmkz-stock-delivery-popup__actions{
  align-items:center;
}
.vgmkz-stock-delivery-popup__actions .vgmkz-btn--danger{
  margin-right:auto;
}

/* 0.9.40 Metingen */
.vgmkz-measurements-block{margin-top:14px;border-top:1px solid rgba(148,163,184,.26);padding-top:12px;}
.vgmkz-section-title--measurements{margin-bottom:10px;}
.vgmkz-measurements-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;}
.vgmkz-measurement-field{display:grid;gap:5px;font-size:12px;font-weight:700;color:#334155;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:9px;}
.vgmkz-measurement-field input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff;font:inherit;font-weight:600;}
.vgmkz-bp-inputs,.vgmkz-measurement-inputline{display:flex;align-items:center;gap:6px;}
.vgmkz-bp-inputs input{min-width:0;}
.vgmkz-bp-inputs span{font-size:18px;font-weight:900;color:#64748b;}
.vgmkz-bp-inputs small,.vgmkz-measurement-inputline small{color:#64748b;font-weight:700;white-space:nowrap;}
.vgmkz-measurements-modal{width:min(1040px,96vw);max-width:96vw;}
.vgmkz-measurements-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.vgmkz-measurements-toolbar input,.vgmkz-measurements-toolbar select{border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;font:inherit;}
.vgmkz-measurements-chart{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin-bottom:14px;}
.vgmkz-measurements-chart-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;color:#334155;}
.vgmkz-measurements-chart-title span{font-size:12px;color:#64748b;}
.vgmkz-measurements-svg{width:100%;height:auto;display:block;}
.vgmkz-measure-grid line{stroke:#e5e7eb;stroke-width:1;}
.vgmkz-measure-grid text,.vgmkz-measure-xlabels text{font-size:12px;fill:#64748b;}
.vgmkz-measure-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.vgmkz-measure-line--a{stroke:#2563eb;}
.vgmkz-measure-line--b{stroke:#db2777;}
.vgmkz-measure-legend{display:flex;gap:16px;margin-top:8px;font-size:12px;font-weight:700;color:#475569;}
.vgmkz-measure-legend span:first-child:before{content:'';display:inline-block;width:12px;height:12px;border-radius:999px;background:#2563eb;margin-right:6px;vertical-align:-1px;}
.vgmkz-measure-legend span:last-child:before{content:'';display:inline-block;width:12px;height:12px;border-radius:999px;background:#db2777;margin-right:6px;vertical-align:-1px;}
@media(max-width:760px){.vgmkz-measurements-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.vgmkz-measurements-toolbar{display:grid;grid-template-columns:1fr 1fr;}.vgmkz-measurements-toolbar select,.vgmkz-measurements-toolbar button{grid-column:1/-1;}}

/* 0.9.44 Metingen: contextcontainer */
.vgmkz-measurement-field select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px;background:#fff;font:inherit;font-weight:600;}
.vgmkz-measurement-context-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
@media(max-width:640px){.vgmkz-measurement-context-row{grid-template-columns:1fr;}}


/* 0.9.46 Metingen: indicatieve kleurmarkering */
.vgmkz-measurement-field input.vgmkz-measurement-value--green,
.vgmkz-measurement-badge--green{
  background:#dcfce7!important;
  border-color:#86efac!important;
  color:#166534!important;
}
.vgmkz-measurement-field input.vgmkz-measurement-value--orange,
.vgmkz-measurement-badge--orange{
  background:#ffedd5!important;
  border-color:#fdba74!important;
  color:#9a3412!important;
}
.vgmkz-measurement-field input.vgmkz-measurement-value--red,
.vgmkz-measurement-badge--red{
  background:#fee2e2!important;
  border-color:#fca5a5!important;
  color:#991b1b!important;
}
.vgmkz-measurement-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:3px 8px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:900;
}


/* 0.9.56: standalone 0.9.46 layout lock (missing core reset on dichtbijons.nl) */
body.vgmkz-body{margin:0!important;}
.vgmkz-page,.vgmkz-page *,.vgmkz-app,.vgmkz-app *,.vgmkz-login-wrap,.vgmkz-login-wrap *{box-sizing:border-box;}
.vgmkz-login-wrap .vgmkz-input{font-size:14px!important;font-weight:600!important;line-height:1.35!important;}
.vgmkz-login-wrap .vgmkz-label{font-size:14px!important;font-weight:800!important;}
.vgmkz-login-wrap .vgmkz-section-title{font-size:18px!important;line-height:1.2!important;}
.vgmkz-datebar__input{font-size:16px!important;font-weight:700!important;line-height:1.2!important;}
