.vc-app{--green:#174b36;--green2:#216347;--bg:#f3f6f4;--line:#d9e1dc;--text:#17211c;--muted:#69756e;font-family:Arial,Helvetica,sans-serif;max-width:720px;margin:0 auto;background:var(--bg);color:var(--text);min-height:70vh;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.vc-app *{box-sizing:border-box}.vc-view{padding:22px}.vc-brand{background:var(--green);color:#fff;padding:28px 24px;border-radius:16px;margin-bottom:18px}.vc-brand span{font-size:12px;font-weight:800;letter-spacing:1.4px;opacity:.8}.vc-brand h1{color:#fff!important;margin:5px 0 7px!important;font-size:30px!important;line-height:1.1!important}.vc-brand p{margin:0;opacity:.9}
.vc-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:16px}.vc-card label,.vc-modal-label{display:block;margin-bottom:15px}.vc-card label span,.vc-modal-label span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.vc-card input,.vc-modal-card input,.vc-modal-card textarea{width:100%;border:1px solid #bec9c2;border-radius:10px;padding:13px 14px;font:inherit;background:#fff}
.vc-primary{border:0!important;background:var(--green)!important;color:#fff!important;border-radius:10px!important;padding:14px 18px!important;font-weight:800!important;cursor:pointer}.vc-card .vc-primary{width:100%;font-size:16px}
.vc-history{margin-top:24px}.vc-section-title h2{font-size:18px!important;margin:0 0 10px!important}.vc-empty{padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.vc-history-row{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 8px;cursor:pointer;color:var(--text)}.vc-history-row span{min-width:0}.vc-history-row strong{display:block}.vc-history-row small{color:var(--muted);font-weight:400}.vc-history-row b{text-align:right;white-space:nowrap}
.vc-session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.vc-session-header small{display:block;color:var(--muted);font-weight:700}.vc-session-header strong{font-size:18px}.vc-small-btn{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:9px;padding:9px 11px;font-weight:700}
.vc-total{text-align:center;background:var(--green);color:#fff;padding:24px 16px;border-radius:18px;margin-bottom:15px}.vc-total span{display:block;font-size:12px;font-weight:800;letter-spacing:1.5px;opacity:.75}.vc-total>strong{display:block;font-size:72px;line-height:.98;margin:7px 0 2px}.vc-total small{display:block;opacity:.8}.vc-total b{display:inline-block;margin-top:12px;padding:7px 11px;background:rgba(255,255,255,.13);border-radius:999px}
.vc-species{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vc-species-btn{min-height:96px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:var(--text)}.vc-species-btn span{font-size:17px;font-weight:800;text-align:left}.vc-species-btn strong{font-size:30px;color:var(--green)}
.vc-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.vc-actions button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:11px;padding:12px 8px;font-weight:700;cursor:pointer}.vc-actions .vc-stop{grid-column:1/-1;border-color:#913d3d;color:#913d3d}.vc-sync{text-align:center;color:var(--muted);font-size:12px;margin-top:12px}
.vc-offline{background:#fff1c8;color:#6e5412;text-align:center;padding:9px 12px;font-size:13px;font-weight:700}
.vc-modal{position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.48);display:flex;align-items:flex-end;justify-content:center;padding:16px}.vc-modal[hidden]{display:none}.vc-modal-card{width:min(560px,100%);background:#fff;border-radius:18px;padding:22px}.vc-modal-card h2{margin:0 0 14px!important;font-size:21px!important}.vc-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.vc-modal-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 15px;font-weight:700}
@media(max-width:520px){.vc-app{border-radius:0;min-height:100vh}.vc-view{padding:14px}.vc-brand{padding:22px 18px}.vc-total>strong{font-size:64px}.vc-species-btn{min-height:88px;padding:12px}.vc-species-btn span{font-size:15px}.vc-species-btn strong{font-size:27px}}
@media(max-width:360px){.vc-species{grid-template-columns:1fr}.vc-actions{grid-template-columns:1fr}.vc-actions .vc-stop{grid-column:auto}}
.vc-ready{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:14px;text-align:center}
.vc-ready[hidden]{display:none}
.vc-ready strong{display:block;font-size:18px;margin-bottom:5px}
.vc-ready span{display:block;color:var(--muted);font-size:13px;line-height:1.45;margin-bottom:13px}
.vc-ready .vc-primary{width:100%;font-size:16px}
.vc-species-btn:disabled{opacity:.45;cursor:not-allowed;background:#f5f6f5}
.vc-history-item{position:relative;margin:0 0 8px}
.vc-history-item .vc-history-row{margin:0;padding-right:105px}
.vc-delete-session{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:1px solid #b55b5b;background:#fff;color:#8c3333;border-radius:8px;padding:8px 9px;font-size:12px;font-weight:700;cursor:pointer}
@media(max-width:520px){
  .vc-history-item .vc-history-row{padding-right:88px}
  .vc-delete-session{right:8px;padding:7px 7px;font-size:11px}
}

.vc-install-card{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}
.vc-install-card[hidden]{display:none}
.vc-install-card strong{display:block;font-size:16px;margin-bottom:4px}
.vc-install-card span,.vc-install-card small{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.vc-install-card small{grid-column:1/-1}
.vc-install-card .vc-primary{white-space:nowrap}
.vc-install-highlight{outline:3px solid rgba(23,75,54,.16)}
@media(max-width:520px){.vc-install-card{grid-template-columns:1fr}.vc-install-card .vc-primary{width:100%}}

/* v1.0.5 compact mobile layout: acht vissoorten + bediening zonder scroll op gangbare telefoons */
@media(max-width:600px){
  .vc-app{min-height:100dvh!important}
  .vc-view[data-view="session"]{
    height:100dvh;
    min-height:100dvh;
    padding:8px 12px 10px!important;
    display:flex;
    flex-direction:column;
    gap:7px;
    overflow:hidden;
  }
  .vc-session-header{margin:0 0 1px!important;min-height:54px}
  .vc-session-header small{font-size:12px}
  .vc-session-header strong{font-size:23px;line-height:1}
  .vc-small-btn{padding:8px 12px!important;font-size:13px!important}
  .vc-ready{padding:10px 12px!important;margin:0!important;border-radius:12px!important}
  .vc-ready strong{font-size:15px!important;margin-bottom:2px!important}
  .vc-ready span{font-size:11px!important;margin-bottom:8px!important}
  .vc-ready .vc-primary{padding:10px 12px!important;font-size:14px!important}

  .vc-total{
    padding:10px 12px!important;
    margin:0!important;
    border-radius:15px!important;
    flex:0 0 auto;
  }
  .vc-total span{font-size:10px!important}
  .vc-total>strong{font-size:48px!important;line-height:.9!important;margin:3px 0 0!important}
  .vc-total small{font-size:11px!important}
  .vc-total b{font-size:15px!important;margin-top:7px!important;padding:5px 10px!important}

  .vc-species{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    flex:1 1 auto;
    min-height:0;
  }
  .vc-species-btn{
    min-height:0!important;
    height:100%!important;
    border-radius:12px!important;
    padding:7px 11px!important;
  }
  .vc-species-btn span{font-size:14px!important;line-height:1.05!important}
  .vc-species-btn strong{font-size:25px!important;line-height:1!important}

  .vc-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
    margin:0!important;
    flex:0 0 auto;
  }
  .vc-actions button{
    padding:9px 4px!important;
    min-height:42px!important;
    border-radius:10px!important;
    font-size:12px!important;
    line-height:1.05!important;
  }
  .vc-actions .vc-stop{
    grid-column:1/-1!important;
    min-height:38px!important;
    padding:8px!important;
  }
  .vc-sync{display:none!important}
}
@media(max-width:380px){
  .vc-view[data-view="session"]{padding:6px 8px 8px!important;gap:5px}
  .vc-session-header{min-height:48px}
  .vc-total>strong{font-size:42px!important}
  .vc-species-btn{padding:6px 8px!important}
  .vc-species-btn span{font-size:12px!important}
  .vc-species-btn strong{font-size:22px!important}
  .vc-actions button{font-size:11px!important;padding:7px 3px!important;min-height:38px!important}
}

@media(max-width:600px){
  .vc-species:has(.vc-species-btn:nth-child(9)){
    overflow-y:auto;
    grid-template-rows:repeat(4,minmax(58px,1fr))!important;
  }
}

/* v1.0.6: alleen het actieve tellerscherm wordt vastgezet; home/historie blijft scrollbaar */
@media(max-width:600px){
  html.vc-session-mode,
  body.vc-session-mode{
    height:100%;
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  .vc-app.vc-session-active{
    height:100dvh;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  .vc-app:not(.vc-session-active){
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
  .vc-app:not(.vc-session-active) .vc-view[data-view="home"]{
    min-height:100dvh;
    height:auto!important;
    overflow:visible!important;
    padding-bottom:30px!important;
  }
  .vc-history{padding-bottom:20px}
}

/* v1.0.8: hidden views must never become visible through mobile flex rules */
.vc-app [hidden]{display:none!important}

/* Compact access to saved sessions; details only after tapping */
.vc-history-launch{margin-top:18px}
.vc-history-open{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:12px;
  text-align:left;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  color:var(--text);
  cursor:pointer;
}
.vc-history-open span strong{display:block;font-size:16px}
.vc-history-open span small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.vc-history-open>b{
  min-width:30px;
  height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--green);
  color:#fff;
  font-size:13px;
}
.vc-history-open>i{font-style:normal;font-size:28px;line-height:1;color:var(--green)}
.vc-history-panel{
  position:fixed;
  z-index:999990;
  inset:0;
  background:var(--bg);
  padding:16px;
  overflow-y:auto;
}
.vc-history-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.vc-history-panel-head>div strong{display:block;font-size:22px}
.vc-history-panel-head>div small{display:block;color:var(--muted);margin-top:2px}
.vc-history-panel-head button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:9px;
  padding:9px 12px;
  font-weight:700;
}
@media(max-width:600px){
  .vc-history-launch{margin-top:14px}
  .vc-history-panel{padding:14px 12px calc(20px + env(safe-area-inset-bottom))}
}

/* v1.0.9 instelbare PWA-header met logo/icoon rechts */
.vc-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.vc-brand-copy{min-width:0;flex:1}
.vc-brand-icon{
  flex:0 0 72px;
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.vc-brand-icon img{
  display:block;
  max-width:72px;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}
@media(max-width:520px){
  .vc-brand{gap:12px}
  .vc-brand-icon{flex-basis:58px;width:58px;height:58px}
  .vc-brand-icon img{max-width:58px;max-height:58px}
}

/* v1.0.12 duidelijke feedback tijdens PWA-installatie */
.vc-install-status{
  position:fixed;
  z-index:1000000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,24,17,.58);
  backdrop-filter:blur(2px);
}
.vc-install-status[hidden]{display:none!important}
.vc-install-status-card{
  width:min(360px,100%);
  background:#fff;
  border-radius:18px;
  padding:24px 20px;
  text-align:center;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.vc-install-status-card strong{
  display:block;
  font-size:20px;
  margin:14px 0 7px;
  color:var(--text);
}
.vc-install-status-card span{
  display:block;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
}
.vc-install-spinner{
  width:42px;
  height:42px;
  margin:0 auto;
  border:4px solid #dbe5df;
  border-top-color:var(--green);
  border-radius:50%;
  animation:vc-install-spin .8s linear infinite;
}
.vc-install-status.is-done .vc-install-spinner{
  animation:none;
  border:0;
  width:48px;
  height:48px;
  background:var(--green);
  position:relative;
}
.vc-install-status.is-done .vc-install-spinner:after{
  content:'✓';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:28px;
  font-weight:800;
}
@keyframes vc-install-spin{to{transform:rotate(360deg)}}

/* v1.0.18 duidelijke sessiefasen: actief -> wegen -> opgeslagen */
.vc-post-session,
.vc-saved-session{
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:14px;
  margin-top:8px;
}
.vc-post-session[hidden],
.vc-saved-session[hidden]{display:none!important}
.vc-post-session-head strong,
.vc-saved-session-head strong{
  display:block;
  font-size:17px;
  margin-bottom:4px;
}
.vc-post-session-head span,
.vc-saved-session-head span{
  display:block;
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}
.vc-post-session-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}
.vc-post-session-actions button,
.vc-saved-session-actions button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:10px;
  padding:10px;
  font-weight:700;
}
.vc-post-session-actions .vc-primary{
  grid-column:1/-1;
  width:100%;
}
.vc-saved-session-actions{margin-top:10px}
.vc-saved-session-actions button{width:100%}
@media(max-width:600px){
  .vc-post-session,
  .vc-saved-session{padding:10px;margin-top:4px}
  .vc-post-session-head strong,
  .vc-saved-session-head strong{font-size:15px}
  .vc-post-session-head span,
  .vc-saved-session-head span{font-size:11px}
  .vc-post-session-actions{gap:5px;margin-top:7px}
  .vc-post-session-actions button,
  .vc-saved-session-actions button{padding:8px 5px;font-size:12px}
}

/* v1.0.19 professionele detailweergave voor opgeslagen sessies */
.vc-saved-detail{
  width:100%;
  max-width:680px;
  margin:0 auto;
}
.vc-saved-detail[hidden]{display:none!important}

.vc-saved-detail-head{
  text-align:center;
  padding:10px 8px 14px;
}
.vc-saved-detail-head>span{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  color:var(--green);
  margin-bottom:5px;
}
.vc-saved-detail-head h2{
  margin:0!important;
  font-size:26px!important;
  line-height:1.15!important;
  color:var(--text)!important;
}
.vc-saved-detail-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}

.vc-saved-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.vc-saved-summary-card{
  background:var(--green);
  color:#fff;
  border-radius:16px;
  padding:17px 12px;
  text-align:center;
}
.vc-saved-summary-card small{
  display:block;
  font-size:11px;
  font-weight:700;
  opacity:.75;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.vc-saved-summary-card strong{
  display:block;
  font-size:34px;
  line-height:1;
  margin:7px 0 3px;
}
.vc-saved-summary-card span{
  display:block;
  font-size:12px;
  opacity:.82;
}

.vc-saved-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:15px;
  margin-bottom:10px;
}
.vc-saved-section h3{
  margin:0 0 11px!important;
  font-size:16px!important;
  color:var(--text)!important;
}

.vc-saved-species{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.vc-saved-species-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:9px 11px;
  background:var(--bg);
  border:1px solid #e1e7e3;
  border-radius:10px;
}
.vc-saved-species-row span{
  font-size:13px;
  font-weight:700;
  color:var(--text);
}
.vc-saved-species-row strong{
  min-width:26px;
  text-align:right;
  font-size:18px;
  color:var(--green);
}

.vc-saved-notes{
  white-space:pre-wrap;
  font-size:14px;
  line-height:1.5;
  color:var(--text);
  background:var(--bg);
  border:1px solid #e1e7e3;
  border-radius:10px;
  padding:12px;
  min-height:52px;
}
.vc-saved-notes.is-empty{
  color:var(--muted);
  font-style:italic;
}

.vc-saved-back{
  width:100%;
  border:1px solid var(--green);
  background:#fff;
  color:var(--green);
  border-radius:11px;
  padding:12px 14px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
}

@media(max-width:600px){
  .vc-app.vc-showing-saved{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
  }
  .vc-app.vc-showing-saved .vc-view[data-view="session"]{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
    display:block!important;
    padding:14px 12px 24px!important;
  }
  html.vc-session-mode:has(.vc-app.vc-showing-saved),
  body.vc-session-mode:has(.vc-app.vc-showing-saved){
    height:auto!important;
    overflow:auto!important;
  }
  .vc-saved-detail-head{padding-top:4px}
  .vc-saved-detail-head h2{font-size:24px!important}
  .vc-saved-summary-card{padding:14px 9px}
  .vc-saved-summary-card strong{font-size:30px}
  .vc-saved-section{padding:12px}
  .vc-saved-species{gap:6px}
  .vc-saved-species-row{min-height:38px;padding:7px 9px}
  .vc-saved-species-row span{font-size:12px}
  .vc-saved-species-row strong{font-size:17px}
}

/* v1.0.20 - correcties in een opgeslagen sessie */
.vc-saved-edit-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.vc-saved-edit-actions button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--green);
  border-radius:11px;
  padding:12px 8px;
  font-weight:800;
  font-size:13px;
}
@media(max-width:600px){
  .vc-saved-edit-actions{gap:6px;margin:8px 0}
  .vc-saved-edit-actions button{padding:10px 5px;font-size:12px}
}

/* v1.0.21 - keuze tussen leefnet 1 en 2 */
.vc-net-selector{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 0 10px;
}
.vc-net-selector[hidden]{display:none!important}
.vc-net-selector>span{
  font-size:12px;
  font-weight:800;
  color:var(--muted);
}
.vc-net-selector>div{
  display:flex;
  gap:5px;
}
.vc-net-selector button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--green);
  border-radius:999px;
  padding:7px 11px;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
}
.vc-net-selector button.is-active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.vc-net-selector button b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  margin-left:4px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(23,75,54,.10);
  font-size:11px;
}
.vc-net-selector button.is-active b{background:rgba(255,255,255,.18)}

.vc-saved-nets{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.vc-saved-nets>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--bg);
  border:1px solid #e1e7e3;
  border-radius:10px;
  padding:10px 12px;
}
.vc-saved-nets span{font-size:13px;font-weight:700}
.vc-saved-nets strong{font-size:19px;color:var(--green)}

@media(max-width:600px){
  .vc-net-selector{
    flex:0 0 auto;
    min-height:30px;
    margin:0!important;
    gap:7px;
  }
  .vc-net-selector>span{font-size:10px}
  .vc-net-selector button{
    padding:5px 9px;
    font-size:11px;
  }
  .vc-net-selector button b{
    min-width:17px;
    height:17px;
    font-size:10px;
  }
}

/* v1.0.22 - Net 1 / Net 2 groot naast de sessietijd */
.vc-session-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center!important;
  gap:10px!important;
}
.vc-session-time{
  min-width:0;
}
.vc-session-time small{
  display:block;
}
.vc-session-time strong{
  display:block;
}

.vc-session-header .vc-net-selector{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin:0!important;
}
.vc-session-header .vc-net-selector[hidden]{
  display:none!important;
}
.vc-session-header .vc-net-selector>span,
.vc-session-header .vc-net-selector>div{
  display:contents;
}
.vc-session-header .vc-net-selector button{
  min-width:82px;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #b9c9c0;
  background:#fff;
  color:var(--green);
  border-radius:14px;
  padding:8px 10px;
  font-size:15px;
  line-height:1;
  font-weight:800;
}
.vc-session-header .vc-net-selector button span{
  white-space:nowrap;
}
.vc-session-header .vc-net-selector button b{
  min-width:25px;
  height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0 5px;
  border-radius:999px;
  background:#e8efeb;
  color:var(--green);
  font-size:13px;
  line-height:1;
}
.vc-session-header .vc-net-selector button.is-active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.vc-session-header .vc-net-selector button.is-active b{
  background:rgba(255,255,255,.18);
  color:#fff;
}

@media(max-width:600px){
  .vc-session-header{
    grid-template-columns:minmax(92px,1fr) auto!important;
    gap:8px!important;
    min-height:62px!important;
    margin-bottom:2px!important;
  }
  .vc-session-header .vc-small-btn{
    display:none!important;
  }
  .vc-session-time small{
    font-size:12px!important;
    line-height:1.1;
  }
  .vc-session-time strong{
    margin-top:3px;
    font-size:26px!important;
    line-height:.95!important;
  }
  .vc-session-header .vc-net-selector{
    gap:6px!important;
  }
  .vc-session-header .vc-net-selector button{
    min-width:76px!important;
    min-height:48px!important;
    padding:7px 8px!important;
    border-radius:13px!important;
    font-size:14px!important;
  }
  .vc-session-header .vc-net-selector button b{
    min-width:23px!important;
    height:23px!important;
    font-size:12px!important;
  }
}

@media(max-width:390px){
  .vc-session-header{
    grid-template-columns:minmax(80px,1fr) auto!important;
    gap:5px!important;
  }
  .vc-session-header .vc-net-selector{
    gap:4px!important;
  }
  .vc-session-header .vc-net-selector button{
    min-width:68px!important;
    min-height:46px!important;
    padding:6px!important;
    font-size:13px!important;
    gap:5px!important;
  }
  .vc-session-header .vc-net-selector button b{
    min-width:21px!important;
    height:21px!important;
    font-size:11px!important;
  }
}

/* v1.0.24 - drie netknoppen naast de sessietijd */
.vc-session-header{
  grid-template-columns:minmax(110px,1fr) auto auto!important;
}
.vc-session-header .vc-net-selector{
  gap:5px!important;
}
.vc-session-header .vc-net-selector button{
  min-width:70px!important;
  min-height:48px!important;
  padding:7px 8px!important;
  gap:6px!important;
  font-size:13px!important;
}
.vc-session-header .vc-net-selector button b{
  min-width:22px!important;
  height:22px!important;
  font-size:11px!important;
}
.vc-saved-nets{
  grid-template-columns:repeat(3,1fr)!important;
}

@media(max-width:600px){
  .vc-session-header{
    grid-template-columns:minmax(84px,1fr) auto!important;
    gap:6px!important;
  }
  .vc-session-header .vc-net-selector{
    gap:4px!important;
  }
  .vc-session-header .vc-net-selector button{
    min-width:62px!important;
    min-height:46px!important;
    padding:6px 6px!important;
    gap:4px!important;
    border-radius:12px!important;
    font-size:12px!important;
  }
  .vc-session-header .vc-net-selector button b{
    min-width:20px!important;
    height:20px!important;
    font-size:10px!important;
  }
}

@media(max-width:390px){
  .vc-session-header{
    grid-template-columns:minmax(74px,1fr) auto!important;
    gap:4px!important;
  }
  .vc-session-time strong{
    font-size:23px!important;
  }
  .vc-session-header .vc-net-selector{
    gap:3px!important;
  }
  .vc-session-header .vc-net-selector button{
    min-width:57px!important;
    min-height:44px!important;
    padding:5px!important;
    font-size:11px!important;
    gap:3px!important;
  }
  .vc-session-header .vc-net-selector button b{
    min-width:18px!important;
    height:18px!important;
    padding:0 3px!important;
    font-size:9px!important;
  }
  .vc-saved-nets>div{
    padding:8px 7px!important;
  }
  .vc-saved-nets span{
    font-size:11px!important;
  }
  .vc-saved-nets strong{
    font-size:17px!important;
  }
}

/* 1.0.28: geschiedenis zonder overlappende verwijderknop */
.vc-history-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.vc-history-item .vc-history-row{min-width:0;margin:0!important;padding:12px!important;gap:8px}
.vc-history-item .vc-history-row>span{min-width:0;overflow-wrap:anywhere}
.vc-history-item .vc-history-row>b{flex:0 0 auto;font-size:13px;align-self:center}
.vc-history-item .vc-history-row>b small{font-size:11px}
.vc-history-item .vc-delete-session{position:static!important;transform:none!important;align-self:center;margin:0!important;white-space:nowrap;font-size:12px!important;padding:10px 8px!important}
@media(max-width:430px){
 .vc-history-item{grid-template-columns:minmax(0,1fr) auto;gap:5px}
 .vc-history-item .vc-history-row{flex-wrap:wrap;gap:3px;padding:10px!important}
 .vc-history-item .vc-history-row>span{flex:1 1 100%}
 .vc-history-item .vc-history-row>b{text-align:left;font-size:12px;line-height:1.25}
 .vc-history-item .vc-history-row>b br{display:none}
 .vc-history-item .vc-history-row>b small{margin-left:5px}
 .vc-history-item .vc-delete-session{font-size:11px!important;padding:9px 6px!important}
}

/* 1.0.29: compactere header, groter verenigingslogo */
.vc-brand{gap:14px;min-height:156px;padding:22px 22px}
.vc-brand-copy{min-width:0;flex:1 1 auto}
.vc-brand-copy>span{display:block;font-size:11px;letter-spacing:1.1px;line-height:1.3}
.vc-brand-copy>h1{margin:7px 0 8px!important;line-height:1.08!important}
.vc-brand-copy>p{font-size:15px;line-height:1.35}
.vc-brand--center .vc-brand-copy{text-align:center}
.vc-brand-icon{flex:0 0 96px;width:96px;height:96px}
.vc-brand-icon img{max-width:96px;max-height:96px}
@media(max-width:520px){
  .vc-brand{gap:10px;padding:19px 17px;min-height:145px}
  .vc-brand-icon{flex:0 0 78px;width:78px;height:78px}
  .vc-brand-icon img{max-width:78px;max-height:78px}
  .vc-brand-copy>span{font-size:10px;letter-spacing:.8px}
  .vc-brand-copy>h1{font-size:clamp(23px,6.8vw,30px)!important}
  .vc-brand-copy>p{font-size:clamp(12px,3.6vw,15px)}
}
@media(max-width:350px){
  .vc-brand-icon{flex-basis:68px;width:68px;height:68px}
  .vc-brand-icon img{max-width:68px;max-height:68px}
}

/* 1.0.30 - compact adviespaneel boven de zelfstandige PWA */
.vc-advice-overlay[hidden]{display:none!important}
.vc-advice-overlay{position:fixed;inset:0;z-index:999999;background:rgba(8,28,19,.75);display:flex;align-items:center;justify-content:center;padding:12px}
.vc-advice-panel{width:min(100%,560px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:#fff;color:#173b2b;border-radius:17px;overflow:hidden;box-shadow:0 15px 60px #0005}
.vc-advice-head{padding:16px 18px 12px;display:flex;justify-content:space-between;gap:12px;background:#164b36;color:#fff}
.vc-advice-head small{font-size:10px;letter-spacing:1px;opacity:.8}.vc-advice-head h2{font-size:20px!important;color:#fff!important;margin:4px 0!important}.vc-advice-head p{margin:0;font-size:12px}
.vc-advice-head button{align-self:flex-start;background:#ffffff20;border:0;color:white;border-radius:9px;font-size:25px;width:36px;height:36px}
.vc-advice-content{overflow-y:auto;padding:13px 17px;overscroll-behavior:contain}
.vc-advice-warning{font-size:12px;line-height:1.5;background:#f1f6e8;border-left:3px solid #77923e;padding:10px;border-radius:6px;margin-bottom:8px}
.vc-advice-row{padding:10px 0;border-bottom:1px solid #e2eae4}.vc-advice-row strong{font-size:14px}.vc-advice-row p{font-size:13px;line-height:1.5;margin:4px 0 0}.vc-advice-footnote{font-size:11px;line-height:1.5;color:#56685e}
.vc-advice-footer{padding:10px 16px;border-top:1px solid #e2eae4}.vc-advice-footer button{width:100%;border:0;border-radius:10px;padding:13px;background:#164b36;color:white;font-size:15px;font-weight:800}

.vc-advice-ai-button{display:block;width:100%;margin:14px 0;padding:14px 12px;border:0;border-radius:10px;background:#164b36;color:#fff;font-size:15px;font-weight:750;cursor:pointer}
.vc-advice-ai-button:disabled{opacity:.5;cursor:not-allowed}
