.authcard {
  max-width: 480px;
  margin: 45px auto;
}
.authcard form {
  display: grid;
  gap: 14px;
}
.authswitch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #e4eff4;
  border-radius: 13px;
  padding: 4px;
  margin-bottom: 22px;
}
.authswitch button {
  border: 0;
  background: transparent;
  padding: 11px;
  border-radius: 10px;
  font-weight: 900;
  color: var(--dark);
}
.authswitch button.active {
  background: white;
  box-shadow: 0 3px 10px #07507122;
}
.field small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}

/* v135 – rustige, herkenbare passkeybediening */
.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0;color:#71828a;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#d8e4e9}
.passkey-login-button{width:100%;border:2px solid #0a6685;border-radius:13px;padding:13px 16px;background:#fff;color:#075071;font:inherit;font-weight:900;cursor:pointer}
.passkey-login-button:disabled{opacity:.48;cursor:not-allowed}
.passkey-login-hint{display:block;margin-top:-5px;text-align:center;color:#6a7d85;line-height:1.4}
.passkey-security-card{border-color:#b9dce8;background:linear-gradient(145deg,#fff 0%,#f1fbfe 100%)}
.passkey-security-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 10px}
.passkey-device-list{display:grid;gap:8px;margin-top:12px}
.passkey-device{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #d6e5ea;border-radius:12px;background:#fff}
.passkey-device div{min-width:0}
.passkey-device strong,.passkey-device small{display:block}
.passkey-device strong{color:#073d50;overflow-wrap:anywhere}
.passkey-device small{margin-top:3px;color:#687b84;line-height:1.35}
.passkey-privacy-note{margin:12px 0 0;color:#5f737c;font-size:.86rem;line-height:1.45}
@media(max-width:520px){.passkey-device{align-items:flex-start;flex-direction:column}.passkey-device button{align-self:flex-end}}

/* v136 – begeleide pasjesscan met voor- en achterkant */
.document-recognized-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.document-recognized-grid label small{display:block;margin-top:2px;color:#758890;font-size:.72rem;font-weight:700}.code95-expiry-field{padding:10px;border:1px solid #f0a06e;border-radius:12px;background:#fff7f1}
.admin-privacy-note{padding:12px 14px;border:1px solid #b9dce5;border-radius:14px;background:#eefafd;color:#174e61;font-weight:700}.document-compliance-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #dce8eb}.document-compliance-row>div{display:flex;flex-direction:column;gap:5px}.document-compliance-row>div:last-child{align-items:flex-end}.document-compliance-row small{color:#6c7e86}.document-compliance-row .pill{margin:0}@media(max-width:560px){.document-compliance-row{align-items:flex-start}.document-compliance-row>div:last-child{align-items:flex-start;text-align:left}}
.document-card-scanner{margin-top:16px;padding:16px;border:2px solid #b9dce7;border-radius:18px;background:linear-gradient(145deg,#f7fcfe,#fff8f3)}
.document-card-scanner h3{margin:3px 0 5px;color:#073d50}.document-card-scanner p{margin:0;color:#647981;line-height:1.45}
.document-scan-start,.document-photo-fallback{box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:center;margin-top:12px;text-align:center}
.document-recognize-again{box-sizing:border-box;width:100%;margin-top:12px}
.document-photo-fallback{padding:10px 13px;border-radius:12px;cursor:pointer}
.document-scan-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.document-side{position:relative;display:flex;min-width:0;aspect-ratio:1.586;align-items:center;justify-content:center;overflow:hidden;padding:0;border:2px solid #15936a;border-radius:13px;background:#eaf7f3;cursor:pointer}
.document-side img{display:block;width:100%;height:100%;object-fit:cover}.document-side>span{position:absolute;z-index:2;left:8px;top:8px;padding:3px 7px;border-radius:999px;background:#073d50;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.08em}
.document-side small{display:none;position:absolute;inset:auto 7px 7px;padding:4px;border-radius:7px;background:rgba(0,0,0,.66);color:#fff;text-align:center;font-size:.67rem}.document-side:hover small{display:block}
.document-side.empty{border-style:dashed;border-color:#91aab4;background:#eff5f7}.document-side.empty img{display:none}.document-side.empty:after{content:"Nog te scannen";font-weight:800;color:#71858d}.document-side.empty small{display:none}
.document-recognition-status{margin-top:12px!important;padding:10px 12px;border-radius:11px;background:#edf5f7;color:#315665!important;font-weight:700}.document-recognition-status.busy:before{content:"◌ ";display:inline-block;animation:doc-spin .8s linear infinite}
.document-ai-note{display:block;margin-top:9px;color:#6b7e86;line-height:1.4}
@keyframes doc-spin{to{transform:rotate(360deg)}}
.document-scanner-dialog{width:min(760px,calc(100% - 16px));max-height:calc(100dvh - 16px);padding:0;border:0;border-radius:22px;background:#061d27;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.document-scanner-dialog::backdrop{background:rgba(0,15,22,.82)}.document-scanner-shell{padding:16px}.document-scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-scanner-head h2{margin:3px 0 12px;color:#fff}.document-scanner-head button,.personal-document-viewer-head button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.document-camera-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:3/4;border-radius:17px;background:#000}.document-camera-stage video{display:block;width:100%;height:100%;object-fit:cover}
.document-card-guide{position:absolute;left:6%;right:6%;top:50%;aspect-ratio:1.586;transform:translateY(-50%);border:2px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.45)}
.document-card-guide i{position:absolute;width:28px;height:28px;border-color:#ff7a31;border-style:solid}.document-card-guide i:nth-child(1){left:-3px;top:-3px;border-width:4px 0 0 4px;border-radius:17px 0 0}.document-card-guide i:nth-child(2){right:-3px;top:-3px;border-width:4px 4px 0 0;border-radius:0 17px 0 0}.document-card-guide i:nth-child(3){right:-3px;bottom:-3px;border-width:0 4px 4px 0;border-radius:0 0 17px}.document-card-guide i:nth-child(4){left:-3px;bottom:-3px;border-width:0 0 4px 4px;border-radius:0 0 0 17px}.document-card-guide span{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);width:max-content;max-width:90%;color:#fff;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-align:center}
#documentCameraMessage{min-height:42px;margin:12px 2px 0;color:#d7e6ec;line-height:1.4}.document-scanner-actions{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin-top:10px}.document-scanner-actions button{margin:0}
.personal-document-viewer{width:min(850px,calc(100% - 20px));max-height:calc(100dvh - 20px);padding:18px;border:0;border-radius:20px;overflow:auto}.personal-document-viewer::backdrop{background:rgba(0,22,31,.72)}.personal-document-viewer-head{position:sticky;z-index:20;top:-18px;display:flex;align-items:flex-start;justify-content:space-between;margin:-18px -18px 0;padding:18px;padding-top:max(18px,env(safe-area-inset-top));background:#082c3a}.personal-document-viewer-head h2{color:#fff}.personal-document-viewer-head form{margin:0}.personal-document-viewer-head button{position:relative;z-index:30;display:grid;place-items:center;min-width:48px;width:48px;height:48px;padding:0;background:#07526b;touch-action:manipulation;pointer-events:auto}.personal-document-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.personal-document-images figure{margin:0}.personal-document-images figcaption{margin-bottom:5px;font-weight:800;color:#4b6671}.personal-document-images img{display:block;width:100%;border-radius:13px}.personal-document-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.personal-document-data>div:not(.personal-document-actions){padding:10px;border-radius:11px;background:#eef5f7}.personal-document-data small,.personal-document-data strong{display:block}.personal-document-data small{color:#697d85}.personal-document-data strong{color:#073d50;overflow-wrap:anywhere}.personal-document-actions{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:9px;padding:4px 0 0!important;background:transparent!important}.personal-document-actions button{margin:0;min-height:48px}.document-calendar-btn{background:#0a718f!important;color:#fff!important}
.personal-document-actions .secure-copy-note{grid-column:1/-1;padding:8px 10px;border-radius:10px;background:#fff4ec;color:#7c4a35;font-weight:700}
.secure-document-copy-dialog{width:min(520px,calc(100% - 24px));padding:0;border:0;border-radius:22px;background:#fff}.secure-document-copy-dialog::backdrop{background:rgba(0,22,31,.72)}.secure-document-copy-sheet{position:relative;display:grid;gap:12px;padding:24px}.secure-document-copy-sheet h2,.secure-document-copy-sheet p{margin:0}.secure-document-copy-sheet button{min-height:52px;margin:0}.secure-document-copy-sheet .secure-copy-close{position:absolute;right:12px;top:12px;width:44px;min-height:44px;padding:0;border-radius:50%;background:#e8f3f6;color:#07526b;font-size:30px}.secure-copy-status{min-height:1.3em;color:#9a2c20;font-weight:750}
@media(max-width:600px){.document-recognized-grid,.personal-document-data{grid-template-columns:1fr}.document-camera-stage{aspect-ratio:3/4}.document-scanner-actions,.personal-document-actions{grid-template-columns:1fr}.personal-document-images{grid-template-columns:1fr}.document-scanner-shell{padding:12px}}

/* v146 - grafische hoofdindeling met vier onderdelen */
.portal-category-switcher{margin:0 0 16px;padding:20px;border-radius:24px;background:linear-gradient(135deg,#073d50 0%,#007eb4 72%,#0795b1 100%);box-shadow:0 16px 38px rgba(4,63,84,.2);color:#fff}
.portal-category-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.portal-category-heading h2{margin:2px 0 0;color:#fff}.portal-category-heading .eyebrow{color:#ffb07c}.portal-category-heading p{max-width:390px;margin:0;color:rgba(255,255,255,.82);line-height:1.4;text-align:right}
.portal-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.portal-category-card{position:relative;display:flex;min-width:0;min-height:118px;align-items:flex-start;gap:10px;margin:0;padding:14px;border:2px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.1);box-shadow:none;color:#fff;text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.portal-category-card:active{transform:scale(.97)}.portal-category-card.active{border-color:#ff8a42;background:#fff;color:#073d50;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.portal-category-card>span:nth-child(2){min-width:0}.portal-category-card strong,.portal-category-card small{display:block}.portal-category-card strong{font-size:.96rem;line-height:1.15}.portal-category-card small{margin-top:5px;color:inherit;font-size:.72rem;line-height:1.3;opacity:.76}.portal-category-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(255,255,255,.16);font-size:21px}.portal-category-card.active .portal-category-icon{background:#e8f6fb}.portal-category-card>b{position:absolute;right:9px;top:9px;display:grid;min-width:22px;height:22px;place-items:center;padding:0 5px;border-radius:999px;background:#ff7a31;color:#fff;font-size:.68rem}
.portal-category-content{margin-bottom:16px;padding:18px;border:1px solid #d8e8ed;border-radius:24px;background:rgba(255,255,255,.68);box-shadow:0 12px 30px rgba(14,70,89,.08);scroll-margin-top:16px}.portal-category-content-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.portal-category-content-head>span{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#e8f6fb,#fff2e8);font-size:25px}.portal-category-content-head h2{margin:1px 0 0}.portal-category-content .portalgrid{grid-auto-rows:1fr;margin-bottom:0}.portal-category-content .tile{height:100%}.tile.portal-category-hidden{display:none!important}.portal-category-empty{margin:4px 0 0;padding:16px;border-radius:15px;background:#eef5f7;text-align:center}
.portal-section-hidden{display:none!important}
@media(max-width:760px){.portal-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-category-heading{display:block}.portal-category-heading p{max-width:none;margin-top:8px;text-align:left}}
@media(max-width:520px){.portal-category-switcher{padding:14px;border-radius:20px}.portal-category-grid{gap:8px}.portal-category-card{min-height:108px;padding:11px;gap:8px;border-radius:15px}.portal-category-card strong{max-width:100px;font-size:.85rem}.portal-category-card small{font-size:.67rem}.portal-category-icon{flex-basis:34px;width:34px;height:34px;font-size:19px}.portal-category-content{padding:12px;border-radius:20px}.portal-category-content-head{margin:2px 2px 12px}}
.portalgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.tile {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 0;
  text-align: left;
  background: white;
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
  color: var(--ink);
  min-height: 132px;
  cursor: pointer;
  transition: transform 0.12s ease;
}
.tile:active {
  transform: scale(0.97);
}
.backbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: var(--dark);
  font-weight: 900;
  font-size: 15px;
  padding: 10px 2px;
  margin-bottom: 4px;
  cursor: pointer;
}
.listitem {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #e4eef2;
}
.listitem:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.listitem img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}
.listitem .meta {
  flex: 1;
}
.listitem .meta b {
  display: block;
  color: var(--dark);
}
.listitem .meta small {
  color: var(--muted);
}
.pill {
  display: inline-block;
  border-radius: 99px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 800;
  margin-top: 5px;
}
.pill-open {
  background: #dcebf1;
  color: var(--dark);
}
.pill-ok {
  background: #d7f3e0;
  color: #146b3a;
}
.pill-bad {
  background: #fbdadb;
  color: #8a1f24;
}
.pill-warn {
  background: #fde8d0;
  color: #8a4a13;
}
.sigpad {
  width: 100%;
  height: 180px;
  border: 2px dashed var(--blue);
  border-radius: 14px;
  background: #fff;
  touch-action: none;
  display: block;
  margin-top: 6px;
}
.a12summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #e4eef2;
}
.a12summary:last-of-type {
  border-bottom: 0;
}
.a12summary button {
  border: 1px solid #bfd6df;
  background: white;
  border-radius: 99px;
  padding: 8px 14px;
  color: var(--dark);
  font-weight: 750;
  white-space: nowrap;
}
.a12doc {
  background: #fff;
  border: 1px solid #d5e5ec;
  border-radius: 14px;
  padding: 16px;
  margin: 10px 0 16px;
}
.a12doc h3 {
  margin: 0 0 2px;
  color: var(--dark);
  font-size: 16px;
}
.a12doc .a12legal {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.a12doc .a12lang {
  padding: 12px 0;
  border-top: 1px solid #eef3f6;
}
.a12doc .a12lang:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.a12doc .a12body {
  color: var(--ink);
  font-size: 14px;
  margin: 4px 0 10px;
}
.a12doc dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  margin: 0;
  font-size: 14px;
}
.a12doc dt {
  color: var(--muted);
  font-weight: 700;
}
.a12doc dd {
  margin: 0;
  color: var(--ink);
}
.a12doc .a12sig {
  margin-top: 14px;
  border-top: 1px solid #eef3f6;
  padding-top: 12px;
  font-size: 13px;
  color: var(--muted);
}
.a12doc .a12sig img {
  max-width: 260px;
  display: block;
  border: 1px solid #e4eef2;
  border-radius: 8px;
  margin-top: 6px;
  background: #fff;
}
@media print {
  body * {
    visibility: hidden;
  }
  .printable,
  .printable * {
    visibility: visible;
  }
  .printable {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
.tile .icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #e8f6fb;
  font-size: 22px;
  margin-bottom: 12px;
}
.tile strong {
  display: block;
  font-size: 17px;
  color: var(--dark);
  overflow-wrap: anywhere;
}
.tile small {
  display: block;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.welcome {
  background: linear-gradient(135deg, var(--dark), var(--blue));
  color: white;
}
.welcome p {
  margin: 0;
  opacity: 0.85;
}
.welcome h2 {
  margin-bottom: 5px;
}
.notice {
  border-left: 5px solid var(--orange);
}
@media (max-width: 560px) {
  .portalgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tile {
    padding: 14px;
    min-height: 125px;
  }
}

/* Fleuren Portaal */
.portal-tag{font-size:.55em;font-weight:800;letter-spacing:.06em;vertical-align:middle;opacity:.9}
.formintro{color:var(--muted);margin-top:-4px}
.choicegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.choicegrid label{position:relative;cursor:pointer}
.choicegrid input{position:absolute;opacity:0;pointer-events:none}
.choicegrid span{display:flex;align-items:center;min-height:44px;padding:9px 11px;border:1.5px solid #d9e7ed;border-radius:12px;background:#f8fbfc;font-weight:700;font-size:13px;color:var(--dark)}
.choicegrid input:checked + span{border-color:var(--blue);background:#e8f6fb;box-shadow:inset 0 0 0 1px var(--blue)}
.repair-form textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;border:1px solid #d7e2e7;border-radius:12px;padding:12px;color:var(--ink);background:#fff}
.whatsapp-submit{background:#168b4c!important;box-shadow:0 8px 22px rgba(22,139,76,.22)}
.whatsapp-submit::before{content:"";display:inline-block;width:10px;height:10px;margin-right:9px;border:2px solid currentColor;border-radius:50%;vertical-align:1px}
.whatsapp-note{margin:10px 2px 0;color:#53636b;font-size:.9rem;line-height:1.45}
.photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.photo-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid #dce7eb}
.portal-footer{max-width:900px;margin:4px auto 30px;padding:18px 20px;text-align:center;color:var(--muted);font-size:12px;display:flex;flex-direction:column;gap:3px}
.portal-footer strong{color:var(--dark);font-size:12px}
@media(max-width:560px){.choicegrid{grid-template-columns:1fr 1fr}.choicegrid span{font-size:12px;padding:8px}.photo-preview{grid-template-columns:repeat(3,1fr)}}
@media print{.portal-footer{display:none!important}}

/* v25 – vaste combinatie en zichtbare Fleuren-kleindieridentiteit */
.welcome-animals{display:flex;align-items:center;justify-content:space-between;gap:14px;overflow:hidden;min-height:150px}
.welcome-copy{position:relative;z-index:2;min-width:0}
.animal-mark{width:170px;max-width:42%;height:auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,.12));flex:0 0 auto}
.vehicle-setup{border:2px solid #e57246;background:linear-gradient(180deg,#fff,#fff8f4)}
.vehicle-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vehicle-head h2{margin:2px 0 0}.vehicle-icon{font-size:38px}
.vehicle-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.vehicle-summary>div,.identity-strip>div{background:#f4fafc;border:1px solid #d7e8ef;border-radius:12px;padding:11px 12px}
.vehicle-summary small,.identity-strip small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:3px}
.vehicle-summary strong,.identity-strip strong{color:var(--dark)}
.identity-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
@media(max-width:560px){.animal-mark{width:130px;max-width:40%;margin-right:-12px}.welcome-animals{min-height:132px}.vehicle-summary,.identity-strip{grid-template-columns:1fr}.vehicle-setup .weekrow{grid-template-columns:1fr}}
.vehicle-summary button{grid-column:1/-1;justify-self:start}
.language-switch{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px}.language-switch label{font-weight:700}.language-switch select{border:1px solid #c7dce5;border-radius:10px;padding:6px 9px;background:#fff;color:#083f59;font:inherit;max-width:150px}@media(max-width:600px){.language-switch{justify-content:flex-start}.language-switch label{display:none}}
/* v27 header flags */
.portal-title-row{display:flex;align-items:center;gap:14px;justify-content:space-between}.flag-switch{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.flag-switch button{border:1px solid #d5e5ec;background:#fff;border-radius:8px;padding:4px 5px;font-size:20px;line-height:1;cursor:pointer}.flag-switch button.active{border-color:#e57246;box-shadow:0 0 0 2px rgba(229,114,70,.2)}.login-flags{max-width:480px;margin:10px auto 0;padding:0 4px}.vacancy-tile{text-decoration:none}.vacancy-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.vacancy-actions span,.vacancy-actions button{font-size:11px;font-weight:800;border:0;border-radius:8px;padding:6px 8px}.vacancy-actions span{background:#e8f6fb;color:#075071}.vacancy-actions button{background:#25D366;color:#073b20}@media(max-width:600px){header{align-items:flex-start}header>div{min-width:0;flex:1}.portal-title-row{align-items:flex-start}.flag-switch{max-width:145px}.flag-switch button{font-size:18px;padding:3px 4px}header h1{font-size:20px}}


/* v28 – activiteiten, groepsbeheer en dashboardagenda */
.dashboard-updates{display:grid;grid-template-columns:1.65fr .9fr;gap:14px;margin-bottom:16px}.dashboard-column{background:#fff;border:1px solid #dce9ee;border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(8,55,76,.06)}.section-title,.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title h2,.admin-section-head h2{margin:2px 0 10px}.group-badge{font-size:10px;font-weight:800;line-height:1.25;color:#075071;background:#e8f6fb;border-radius:999px;padding:6px 9px;max-width:48%;text-align:right}.activity-list{display:grid;gap:10px}.activity-card{display:grid;grid-template-columns:90px 1fr;border:1px solid #e0eaee;border-radius:14px;overflow:hidden;background:#fbfdfe}.activity-card.important{border-color:#e57246;box-shadow:inset 4px 0 0 #e57246}.activity-card img{width:90px;height:100%;min-height:96px;object-fit:cover}.activity-content{padding:11px 12px}.activity-content h3{margin:4px 0;color:var(--dark);font-size:16px}.activity-content p{margin:4px 0 8px;color:var(--ink);font-size:13px}.activity-content small{color:var(--muted);font-size:10px}.activity-meta{display:flex;gap:7px;flex-wrap:wrap}.activity-meta span{font-size:10px;font-weight:800;color:#075071;background:#e8f6fb;border-radius:999px;padding:4px 6px}.birthday-panel{background:linear-gradient(180deg,#fff,#fff8f4)}.birthday-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f4}.birthday-row:last-child{border-bottom:0}.birthday-avatar{width:34px;height:34px;border-radius:11px;background:#fff1ea;display:grid;place-items:center}.birthday-row strong,.birthday-row small{display:block}.birthday-row small{color:var(--muted);font-size:11px;margin-top:2px}.employee-group-card{padding:14px 0;border-bottom:1px solid #e5edf0}.employee-group-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.employee-group-head small{display:block;color:var(--muted);margin-top:3px}.employee-group-head>span{font-size:11px;color:#075071;text-align:right;font-weight:700}.group-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.group-checks label,.checkline{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #dce8ed;border-radius:10px;background:#f9fcfd;font-size:12px;font-weight:700}.activity-admin-card{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5edf0}.activity-admin-card>img{width:70px;height:70px;object-fit:cover;border-radius:12px}.activity-admin-card h3{margin:5px 0 2px}.activity-admin-card p{margin:0 0 4px;color:var(--muted);font-size:12px}.activity-chip{display:inline-block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#e8f6fb;color:#075071;border-radius:999px;padding:4px 6px;margin-right:4px}.activity-chip.important{background:#fff0ea;color:#b64820}.activity-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7e2e7;border-radius:12px;padding:12px;font:inherit}.department-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.department-buttons button{border:1.5px solid #d6e5eb;background:#f8fbfc;color:#17313e;border-radius:12px;padding:11px 9px;font-weight:800;text-align:left}.department-buttons button.active{border-color:#e57246;background:#fff3ed;box-shadow:inset 0 0 0 1px #e57246}
.agenda-head-status{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;max-width:58%}.agenda-head-status .group-badge{max-width:none}.agenda-notification-icon{position:relative;display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;padding:0;border-radius:11px;background:#e8f6fb;border:1px solid #cce6f0;color:#17313e;font-size:19px;cursor:pointer}.agenda-notification-icon:active{transform:scale(.96)}.notification-number{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#d92632;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(123,12,22,.28)}.notification-number.hidden{display:none}
.agenda-overview-card{overflow:hidden}.agenda-overview-list{display:grid;gap:10px;margin-top:16px;max-height:min(68vh,760px);overflow-y:auto;padding:2px 5px 16px 1px;overscroll-behavior:contain}.agenda-overview-item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #dce9ee;border-radius:14px;background:#fbfdfe;cursor:pointer}.agenda-overview-item:active{background:#eef7fa}.agenda-overview-item.new{border-color:#ef9a6c;box-shadow:inset 4px 0 0 #e16d2d}.agenda-overview-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;border-radius:11px;background:#e8f6fb;color:#075071;text-align:center}.agenda-overview-date strong{font-size:1.45rem;line-height:1}.agenda-overview-date span{margin-top:4px;font-size:.68rem;font-weight:900;text-transform:uppercase}.agenda-overview-main{min-width:0}.agenda-overview-main>span{display:block;color:#e16d2d;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.agenda-overview-main strong{display:block;margin:3px 0;color:#17313e;font-size:1rem}.agenda-overview-main small{display:block;color:#617782;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-overview-tags{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.agenda-overview-new{padding:4px 7px;border-radius:999px;background:#d92632;color:#fff;font-size:.65rem;font-weight:900;text-transform:uppercase}.agenda-overview-rsvp{font-size:.68rem;font-weight:800;color:#166534}.agenda-overview-arrow{color:#6e8792;font-size:1.25rem;font-weight:900}@media(max-width:560px){.agenda-overview-list{max-height:none;overflow:visible}.agenda-overview-item{grid-template-columns:54px minmax(0,1fr) 18px;padding:10px;gap:9px}.agenda-overview-date{min-height:52px}.agenda-overview-tags{position:absolute;right:9px;top:7px}.agenda-overview-rsvp{display:none}.agenda-overview-main{padding-right:18px}}
@media(max-width:650px){.dashboard-updates{grid-template-columns:1fr}.activity-card{grid-template-columns:74px 1fr}.activity-card img{width:74px}.group-checks{grid-template-columns:1fr}.employee-group-head{flex-direction:column}.employee-group-head>span{text-align:left;max-width:none}.activity-admin-card{grid-template-columns:56px 1fr}.activity-admin-card>img{width:56px;height:56px}.activity-admin-card>.danger{grid-column:2}.department-buttons{grid-template-columns:1fr}}

/* v29 - activiteitenbeheer */
.activity-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.activity-admin-actions button{margin:0}
@media (max-width:700px){.activity-admin-actions{width:100%;justify-content:flex-start}}

/* v30 – activiteitenfoto's altijd groot en gelijk op dashboard */
.activity-card{
  display:block;
  grid-template-columns:none;
}
.activity-card > img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  min-height:0;
  max-height:280px;
  object-fit:cover;
  object-position:center;
}
.activity-card .activity-content{
  padding:12px 14px 14px;
}
@media(max-width:650px){
  .activity-card{
    display:block;
    grid-template-columns:none;
  }
  .activity-card > img{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    min-height:0;
    max-height:none;
    object-fit:cover;
  }
}

/* v31 – activiteitenfoto volledig zichtbaar, oorspronkelijke verhouding behouden */
.activity-card > img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  min-height:0;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:#f5f7f8;
  cursor:zoom-in;
}
@media(max-width:650px){
  .activity-card > img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    max-height:none;
    object-fit:contain;
  }
}
.activity-image-dialog{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh}
.activity-image-dialog::backdrop{background:rgba(0,0,0,.82)}
.activity-image-dialog img{display:block;max-width:94vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:12px;background:#fff}
.activity-image-dialog button{position:fixed;top:max(16px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border:0;border-radius:50%;font-size:28px;line-height:1;background:#fff;color:#17313e;box-shadow:0 4px 18px rgba(0,0,0,.25)}

/* v32: language flags in a full-width strip below the orange header line */
.portal-language-strip{
  width:100%;
  max-width:760px;
  margin:0 auto;
  padding:8px 14px 6px;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  align-items:center;
  justify-items:center;
  gap:4px;
  background:transparent;
}
.portal-language-strip.flag-switch button{
  width:100%;
  max-width:64px;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  padding:5px 3px;
  border-radius:9px;
}
.portal-language-strip.flag-switch button.active{
  border-color:var(--orange);
  box-shadow:0 0 0 2px rgba(229,114,70,.22);
}
@media(max-width:600px){
  .portal-title-row{display:block}
  .portal-language-strip{padding:7px 10px 4px;gap:2px}
  .portal-language-strip.flag-switch{max-width:760px;flex-wrap:nowrap}
  .portal-language-strip.flag-switch button{font-size:22px;padding:4px 1px;min-height:36px}
}

.role-check{display:block;margin:12px 0;padding:12px;border:1px solid #e3e8eb;border-radius:10px;background:#f8fafb}.role-module-tile small{line-height:1.35}
.coming-soon-tile{position:relative;border-color:#f0c4a9!important;background:linear-gradient(145deg,#fff,#fff7f2)!important}.coming-soon-tile .icon{filter:none}.coming-soon-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:10px;padding:5px 8px;border-radius:999px;background:#fff0e7;color:#a84c1f;border:1px solid #efb28f;font-size:9px;font-weight:900;line-height:1.2;text-transform:uppercase;letter-spacing:.035em}

.company-block{margin:16px 0}.employee-accordion{border:1px solid #dde5e9;border-radius:12px;margin:8px 0;background:#fff}.employee-accordion summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:12px 14px}.employee-accordion summary span{display:flex;flex-direction:column}.employee-edit-body{padding:0 14px 14px}.meeting-admin-card,.meeting-strip{border-left:5px solid #cbd5db;padding:12px;margin:8px 0;background:#fff;border-radius:10px}.urgency-important{border-left-color:#f39a1e}.urgency-urgent{border-left-color:#d93636}.urgency-action{border-left-color:#7b3fc6}.role-check{display:block;margin:10px 0;padding:10px;background:#f7f9fa;border-radius:10px}


.fuel-card{overflow:hidden}
.country-pill{background:#111827;color:#fff;border-radius:999px;padding:6px 10px;font-weight:800}
.fuel-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.fuel-brand{border:1px solid #e4eaee;border-radius:16px;padding:16px;background:#fff}
.fuel-brand h3{margin:8px 0 6px}
.fuel-brand p{margin:0 0 12px}
.fuel-logo{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:42px;border-radius:12px;font-weight:900;letter-spacing:.04em}
.fuel-brand.shell .fuel-logo{background:#ffd500;color:#c8102e;border:2px solid #c8102e}
.fuel-brand.gv .fuel-logo{background:#e31b23;color:#fff}
.fuel-official{display:inline-flex;margin-top:8px;text-decoration:none}
.fuel-nearest{margin-top:16px;padding:16px;border-radius:16px;background:#f5f9fb;border:1px solid #dce8ed}
.fuel-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.fuel-note{margin-top:16px;padding:14px;border-left:4px solid #f28c00;background:#fff8ef;border-radius:10px}
@media(max-width:620px){.fuel-brand-grid{grid-template-columns:1fr}}

/* v127 – uitsluitend de door Fleuren aangeleverde Belgische tanklijst */
.fuel-list-toolbar{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,1fr) minmax(130px,.8fr);gap:10px;margin:18px 0 12px}
.fuel-list-toolbar input,.fuel-list-toolbar select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cadde5;border-radius:12px;background:#fff;padding:12px;color:#17313e;font:inherit}
.fuel-list-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:#617782}.fuel-list-summary strong{color:#075071}.fuel-list-summary span{font-size:.82rem}
.fuel-station-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fuel-station{display:flex;min-width:0;flex-direction:column;border:1px solid #dce8ed;border-radius:16px;padding:15px;background:#fff;box-shadow:0 6px 18px rgba(7,80,113,.06)}
.fuel-station-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fuel-station-head>div{display:flex;min-width:0;flex-wrap:wrap;gap:6px}
.fuel-brand-chip,.fuel-group-chip,.fuel-station-tags span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:900;line-height:1.2}
.fuel-brand-chip{background:#e8f6fb;color:#075071}.fuel-brand-chip.brand-shell{background:#ffd500;color:#b20d22}.fuel-brand-chip.brand-gv{background:#e31b23;color:#fff}.fuel-brand-chip.brand-romac{background:#17313e;color:#fff}
.fuel-group-chip{background:#edf2f4;color:#4b616b}.fuel-group-chip.group-super-economy{background:#dff4ce;color:#376a19}.fuel-group-chip.group-economy{background:#eef4d9;color:#52641c}
.fuel-distance{flex:0 0 auto;color:#e16028;font-size:.9rem;white-space:nowrap}
.fuel-station h3{margin:12px 0 5px;color:#17313e;font-size:1.05rem}.fuel-address{margin:0 0 12px;color:#526a75;line-height:1.45}
.fuel-station-tags{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 12px}.fuel-station-tags span{background:#f1f6f8;color:#4b626d;font-weight:750}
.fuel-station-route{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;text-decoration:none;font-size:.83rem}
.fuel-source-note{margin:16px 0 0;color:#6c7f87;font-size:.78rem;line-height:1.45}
@media(max-width:720px){.fuel-list-toolbar{grid-template-columns:1fr 1fr}.fuel-list-toolbar input{grid-column:1/-1}}
@media(max-width:560px){.fuel-station-list{grid-template-columns:1fr}.fuel-list-summary{align-items:flex-start;flex-direction:column;gap:3px}}


.boca-badge{display:inline-flex;align-items:center;justify-content:center;background:#123b68;color:#fff;font-weight:900;letter-spacing:.08em;border-radius:10px;padding:9px 12px}
.boca-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.boca-locations{display:grid;gap:10px;margin-top:14px}
.boca-location{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e1e8ec;border-radius:14px;padding:13px;background:#fff}
.boca-location div{display:grid;gap:3px}.boca-location span{font-weight:700;color:#1b6385}.boca-location small{color:#5e6e76}
.boca-route{white-space:nowrap;text-decoration:none}
.boca-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.boca-subhead h3{margin:2px 0 0;color:#123b68}.fleuren-account-weighbridges{margin:18px 0;padding:16px;border:2px solid #e57246;border-radius:18px;background:linear-gradient(145deg,#fff8f3,#fff)}.fleuren-account-badge{padding:7px 9px;border-radius:999px;background:#e57246;color:#fff;font-size:.65rem;font-weight:950;letter-spacing:.06em}.boca-account-location{border-color:#ef9b73;background:#fffaf7}.boca-account-location em{width:max-content;padding:4px 7px;border-radius:999px;background:#e8f7ee;color:#157340;font-size:.7rem;font-style:normal;font-weight:900}.boca-official-head{margin-top:18px}.boca-location-actions{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap;justify-content:flex-end}.boca-location-actions button,.boca-location-actions a{margin:0;white-space:nowrap}.boca-active-checkins{margin-top:22px;padding-top:18px;border-top:2px solid #e4ecef}.boca-checkin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding:12px;border:1px solid #d9e6eb;border-radius:13px;background:#fff}.boca-checkin-item>div{display:grid;gap:3px}.boca-checkin-item span{color:#075f83;font-weight:800}.boca-checkin-item small{color:#6b7d85}.boca-checkin-item p{margin:5px 0 0}.boca-checkin-item a{padding:8px 10px;border-radius:10px;background:#e8f6fb;color:#075071;text-decoration:none;font-weight:850;white-space:nowrap}.boca-checkin-dialog{width:min(590px,calc(100% - 22px));max-height:calc(100dvh - 22px);padding:0;border:0;border-radius:22px;background:#fff;overflow:auto}.boca-checkin-dialog::backdrop{background:rgba(0,28,40,.7)}.boca-checkin-sheet{position:relative;display:grid;gap:12px;padding:24px}.boca-checkin-sheet h2,.boca-checkin-sheet p{margin:0}.boca-checkin-sheet .field{margin:0}.boca-checkin-sheet select,.boca-checkin-sheet input,.boca-checkin-sheet textarea{box-sizing:border-box;width:100%}.boca-checkin-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#e8f3f6;color:#07526b;font-size:30px;cursor:pointer}.boca-checkin-sheet>.eyebrow{padding-right:45px}.boca-checkin-sheet button.primary{margin:0}
@media(max-width:620px){.boca-location,.boca-checkin-item{align-items:stretch;flex-direction:column}.boca-route{text-align:center}.boca-location-actions{display:grid;grid-template-columns:1fr}.boca-location-actions button,.boca-location-actions a{box-sizing:border-box;width:100%;text-align:center}.boca-subhead{align-items:flex-start}.fleuren-account-badge{max-width:42%;text-align:center}.boca-checkin-item a{text-align:center}}


/* v37: responsive header refinement */
body > header{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:28px;
}
body > header > img{
  width:190px;
  max-width:28vw;
  height:auto;
}
body > header > div{
  min-width:0;
}
body > header h1{
  margin-left:8px;
}
.portal-tag{
  color:#f36b21 !important;
  font-weight:900;
}

@media (min-width: 768px){
  body > header{
    column-gap:38px;
  }
  body > header > img{
    width:220px;
    max-width:24vw;
  }
  body > header h1{
    margin-left:18px;
  }
}

/* v129 – één bonknop en controleerbare scanvoorvertoning */
.expense-file-actions{display:grid;grid-template-columns:1fr;gap:12px}
.expense-file-actions .camera{box-sizing:border-box;min-width:0;min-height:116px;padding:14px}
.expense-camera{border-color:#e57246;background:#fff7f2}.expense-camera .cameraIcon{background:#e57246;font-size:23px}
.expense-file-picker .cameraIcon{font-size:28px}
.expense-attachment-preview{display:grid;gap:9px;margin-top:10px}
.expense-attachment-preview article{display:grid;grid-template-columns:54px minmax(0,1fr) 32px;align-items:center;gap:11px;border:1px solid #d7e5eb;border-radius:13px;padding:9px;background:#fff}
.expense-attachment-preview img,.expense-pdf-icon,.expense-list-pdf{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;object-fit:cover}
.expense-preview-image{cursor:zoom-in;outline-offset:3px}
.expense-pdf-icon,.expense-list-pdf{background:#fff0e8;color:#b9441c;font-size:.76rem;font-weight:950;letter-spacing:.05em}
.expense-list-pdf{flex:0 0 48px;width:48px;height:48px}
.expense-attachment-preview article>div{display:flex;min-width:0;flex-direction:column;gap:3px}.expense-attachment-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17313e}.expense-attachment-preview small{color:#617782;line-height:1.3}
.expense-attachment-preview article>button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:#edf3f5;color:#17313e;font-size:20px;cursor:pointer}
.expense-attachment-preview .expense-use-original{width:max-content;height:auto;margin-top:4px;padding:4px 8px;border:1px solid #cbdde4;border-radius:999px;background:#fff;color:#075071;font-size:.68rem;font-weight:850}
@media(max-width:560px){.expense-file-actions .camera{min-height:108px}}

/* v121 – FleurenFly */
.fleuren-fly-tile{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffaf3 0%,#fff 62%,#e8f5f7 100%)!important;border-color:#f0b47e!important}
.fleuren-fly-tile .icon{background:linear-gradient(145deg,#ff7a1a,#e84f10);box-shadow:0 8px 20px #df5f2533}
.fleuren-fly-tile-badge{display:inline-flex;width:max-content;margin-top:8px;padding:4px 8px;border-radius:999px;background:#0b3a46;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}
.fleuren-fly-hero{display:flex;align-items:center;gap:20px;color:#fff;background:radial-gradient(circle at 95% 10%,#ffad5a55,transparent 34%),linear-gradient(135deg,#082f3b,#0d5b69)!important;border:0!important;overflow:hidden}
.fleuren-fly-hero h2{margin:3px 0 5px;color:#fff;font-size:clamp(30px,6vw,46px)}
.fleuren-fly-hero p{margin:0;max-width:720px;color:#e9f8f7}
.fleuren-fly-hero .eyebrow{color:#ffc184}
.fleuren-fly-hero-icon{display:grid;place-items:center;flex:0 0 78px;width:78px;height:78px;border-radius:24px;background:linear-gradient(145deg,#ff8a24,#ed5916);font-size:39px;box-shadow:0 14px 32px #001b2255;transform:rotate(-4deg)}
.fleuren-fly-shared-list{display:flex;align-items:center;justify-content:space-between;gap:22px;border:2px solid #ef7b32!important;background:linear-gradient(135deg,#fffaf6,#fff 58%,#eaf7f8)!important}
.ff-shared-list-copy h2{margin:4px 0 6px;color:#0b3a46}.ff-shared-list-copy p{margin:0;color:#586e77}
.ff-shared-list-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:48px;text-align:center;text-decoration:none}
.fleuren-fly-add-card details>summary,.ff-review-form>summary,.ff-reviews>summary{cursor:pointer;font-weight:900;color:#0b5362}
.fleuren-fly-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.fleuren-fly-form .field{margin:0}.fleuren-fly-form .full{grid-column:1/-1}
.fleuren-fly-location-row,.fleuren-fly-amenities,.fleuren-fly-form-actions{grid-column:1/-1}
.fleuren-fly-location-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0}
.fleuren-fly-location-row span{font-size:13px;color:#607078}
.fleuren-fly-amenities{display:flex;gap:8px;flex-wrap:wrap}
.fleuren-fly-amenities label{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #cbdadd;border-radius:999px;background:#f7fbfb;font-weight:800;font-size:13px;cursor:pointer}
.fleuren-fly-amenities input{width:auto;margin:0;accent-color:#ed671a}
.fleuren-fly-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fleuren-fly-map{height:min(52vh,460px);min-height:320px;border-radius:18px;overflow:hidden;background:#e7f0f1}
.fleuren-fly-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:10px;margin-bottom:18px}
#fleurenFlyList{display:grid;gap:16px}
.fleuren-fly-place{padding:18px;border:1px solid #d8e3e5;border-left:5px solid #ef741e;border-radius:20px;background:linear-gradient(150deg,#fff 0%,#fffaf5 100%);box-shadow:0 10px 25px #0a34420b}
.fleuren-fly-place.status-temporary{border-left-color:#e8a400}.fleuren-fly-place.status-closed{border-left-color:#9b9b9b;filter:saturate(.7)}
.ff-place-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.ff-place-head>div{display:flex;align-items:flex-start;gap:10px}.ff-place-head h3{margin:0;color:#0b3a46;font-size:21px}.ff-place-head p{margin:3px 0 0;color:#65747a}
.ff-country{font-size:27px;line-height:1}.ff-status{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e6f3ef;color:#16674d;font-size:11px;font-weight:900}
.ff-place-type{display:inline-flex;margin-bottom:4px;padding:3px 7px;border-radius:999px;background:#eaf5f7;color:#0b5362;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.status-temporary .ff-status{background:#fff1c7;color:#765400}.status-closed .ff-status{background:#ececec;color:#555}
.ff-driver-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.ff-driver-fact{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;border-radius:12px;background:#edf2f3;color:#41555d;font-size:12px;text-align:center}.ff-driver-fact b{margin-left:4px}
.ff-driver-fact.fact-yes{background:#e4f6eb;color:#17663b}.ff-driver-fact.fact-no{background:#fde9e5;color:#9b3526}.ff-driver-fact.fact-unknown{background:#f0f2f3;color:#66747a}
.ff-rating{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:13px 0}.ff-rating small{color:#718087}
.ff-stars{color:#f09a00;font-size:19px;letter-spacing:1px;white-space:nowrap}
.ff-amenities{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ff-amenities span{padding:6px 9px;border-radius:999px;background:#edf7f7;color:#174d58;font-size:12px;font-weight:800}
.ff-details p{margin:7px 0;color:#334a51}.ff-tip{padding:12px 14px;border-radius:13px;background:#fff3e7;color:#693814!important;font-style:italic}
.ff-reviews,.ff-review-form{margin-top:12px;padding:11px 13px;border-radius:13px;background:#f4f8f8}
.ff-reviews>div{margin-top:10px;padding-top:10px;border-top:1px solid #dce7e8}.ff-reviews .ff-stars{margin-left:8px;font-size:15px}.ff-reviews p{margin:5px 0 0}
.ff-review-fields{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;margin-top:10px;align-items:start}.ff-review-fields textarea{min-height:72px}
.ff-place-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ff-place-actions a{text-decoration:none;display:inline-flex;align-items:center}.ff-place-actions .danger{padding:9px 12px}
.ff-place-actions .ff-delete-place{margin-left:auto;min-height:44px;padding:10px 15px;border:2px solid #8e1717;background:#c62828;color:#fff;font-weight:950;box-shadow:0 5px 14px #8e17172e}
.ff-place-actions .ff-delete-place:hover,.ff-place-actions .ff-delete-place:focus-visible{background:#a91f1f;border-color:#6f1010;box-shadow:0 0 0 3px #c6282830}
.ff-place-actions .ff-delete-place:disabled{opacity:.6;cursor:wait}
.ff-editor{display:block;margin-top:11px;color:#78878c}.ff-map-popup{max-width:230px;line-height:1.45}.ff-map-popup a{display:inline-block;margin-top:6px;font-weight:800;color:#0a6685}
@media(max-width:700px){
  .fleuren-fly-hero{align-items:flex-start}.fleuren-fly-hero-icon{flex-basis:58px;width:58px;height:58px;border-radius:18px;font-size:30px}
  .fleuren-fly-shared-list{align-items:stretch;flex-direction:column}.ff-shared-list-button{width:100%;box-sizing:border-box}
  .fleuren-fly-form,.fleuren-fly-filters{grid-template-columns:1fr}.fleuren-fly-form .full{grid-column:auto}.ff-review-fields{grid-template-columns:1fr}.ff-place-head{flex-direction:column}.ff-status{align-self:flex-start}.fleuren-fly-map{min-height:290px}
  .ff-driver-facts{grid-template-columns:1fr}
  .ff-place-actions .ff-delete-place{width:100%;margin-left:0;justify-content:center}
}

/* v122 – vaste combinatie compact en inklapbaar */
.vehicle-setup{padding:0!important;overflow:hidden}
.vehicle-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;user-select:none}
.vehicle-collapsible>summary::-webkit-details-marker{display:none}
.vehicle-collapsible>summary h2{margin:2px 0 3px}
.vehicle-collapsed-summary{display:block;color:#5d7079;font-size:.9rem;font-weight:750}
.vehicle-summary-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.vehicle-chevron::before{content:"⌄";display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff0e7;color:#c95a22;font-size:1.25rem;font-weight:900;transition:transform .2s ease}
.vehicle-collapsible[open] .vehicle-chevron::before{transform:rotate(180deg)}
.vehicle-collapsible-body{padding:0 20px 20px;border-top:1px solid #f0d7ca}
.vehicle-collapsible-body>.fixed-combo-note{margin-top:16px}
@media(max-width:560px){
  .vehicle-collapsible>summary{padding:15px 16px}.vehicle-collapsible-body{padding:0 16px 17px}.vehicle-collapsible>summary h2{font-size:1.35rem}.vehicle-icon{font-size:30px}.vehicle-collapsed-summary{font-size:.82rem}
}

/* v123 – vergadermelding netjes verdeeld op mobiel */
.meeting-strip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.meeting-strip-copy{display:flex;flex-direction:column;min-width:0;gap:7px}
.meeting-strip-title{display:block;color:#17313e;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.meeting-strip-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:#5f747e;font-size:.86rem;line-height:1.35}
.meeting-strip-meta>span{display:inline-flex;align-items:center;gap:3px}
.meeting-urgency-badge{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#fff0dc;color:#9a5500;font-size:.68rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.urgency-urgent .meeting-urgency-badge{background:#ffe8e8;color:#a52222}
.urgency-action .meeting-urgency-badge{background:#eee7fa;color:#6433a1}
@media(max-width:560px){
  .meeting-strip-head{flex-direction:column;gap:9px}.meeting-urgency-badge{align-self:flex-start}.meeting-strip .rsvp-box{margin-top:12px}
}

/* v124 – komende vergaderingen en activiteiten als uitklapbare planning */
.dashboard-auto-details{overflow:hidden}
.dashboard-auto-details>summary{list-style:none;cursor:pointer;user-select:none}
.dashboard-auto-details>summary::-webkit-details-marker{display:none}
.dashboard-auto-details.meeting-strip{padding:0}
.dashboard-auto-details.meeting-strip>.meeting-strip-head{padding:12px 14px}
.meeting-summary-side,.activity-summary-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.dashboard-agenda-chevron::before{content:"⌄";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf5f7;color:#0a6179;font-size:1rem;font-weight:900;transition:transform .2s ease}
.dashboard-auto-details[open] .dashboard-agenda-chevron::before{transform:rotate(180deg)}
.dashboard-agenda-expanded{border-top:1px solid #dfe9ec}
.meeting-dashboard-expanded{padding:0 14px 14px}
.meeting-dashboard-expanded>p{display:grid;gap:4px;margin:12px 0;color:#334b55;white-space:pre-wrap;line-height:1.45}
.meeting-dashboard-expanded>p>b{color:#0b4f65;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.agenda-compact-help{color:#6a7e87!important;font-style:italic}
.activity-compact-summary{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;background:#fbfdfe}
.activity-compact-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:7px 9px;border-radius:11px;background:#e8f6fb;color:#075071;font-size:.78rem;font-weight:900;text-align:center}
.activity-compact-date small{margin-top:2px;color:#617782;font-size:.72rem}
.activity-compact-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.activity-compact-copy strong{color:#17313e;font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.activity-compact-copy small{color:#617782;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-compact-rsvp{padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap}.activity-compact-rsvp.yes{background:#dcf6e5;color:#166534}.activity-compact-rsvp.no{background:#fee2e2;color:#991b1b}.activity-compact-rsvp.open{background:#fff1c7;color:#8a5600}
.activity-expanded>.activity-content{padding:13px 14px 15px}
.dashboard-auto-details:not([open]){box-shadow:none}
.dashboard-auto-details[open]{box-shadow:0 8px 22px rgba(8,55,76,.08)}
@media(max-width:620px){
  .activity-compact-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:10px}
  .activity-compact-date{min-width:64px;padding:6px;font-size:.7rem}
  .activity-summary-side{flex-direction:column;align-items:center;gap:5px}.activity-compact-rsvp{max-width:96px;white-space:normal;text-align:center;font-size:.61rem;line-height:1.15}
  .meeting-summary-side{width:100%;justify-content:space-between}.dashboard-auto-details.meeting-strip>.meeting-strip-head{padding:12px}
}

/* v125 – berichten naar planning, administratie en expeditie */
.office-contact-tile{background:linear-gradient(145deg,#f4fbfd,#fff 62%,#fff3e9)!important;border-color:#b9dce8!important}.office-contact-tile .icon{background:linear-gradient(145deg,#0b7897,#07516c);color:#fff;box-shadow:0 8px 20px rgba(7,81,108,.2)}
.office-contact-hero{display:flex;align-items:center;gap:18px;color:#fff;background:radial-gradient(circle at 95% 5%,rgba(255,142,58,.35),transparent 32%),linear-gradient(135deg,#083f59,#08789a)!important;border:0!important}.office-contact-hero h2{margin:2px 0 5px;color:#fff;font-size:clamp(28px,5vw,42px)}.office-contact-hero p{margin:0;color:#e8f8fc}.office-contact-hero .eyebrow{color:#ffba82}.office-contact-hero-icon{display:grid;place-items:center;flex:0 0 70px;width:70px;height:70px;border-radius:22px;background:linear-gradient(145deg,#ff8a32,#e46021);font-size:36px;box-shadow:0 12px 28px rgba(2,34,48,.35)}
.office-contact-form-card{display:grid;gap:16px}.office-contact-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.office-contact-choices label{position:relative;cursor:pointer}.office-contact-choices input{position:absolute;opacity:0;pointer-events:none}.office-contact-choices label>span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-height:68px;padding:11px 13px;border:1.5px solid #d8e6eb;border-radius:15px;background:#f8fbfc;color:#17313e;font-size:20px}.office-contact-choices b{font-size:.95rem}.office-contact-choices small{grid-column:2;color:#687c85;font-size:.76rem}.office-contact-choices input:checked+span{border-color:#e57246;background:#fff4ed;box-shadow:inset 0 0 0 1px #e57246,0 5px 14px rgba(229,114,70,.1)}
.office-contact-fields{margin-top:2px}.office-contact-message-field textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #cadce3;border-radius:14px;padding:13px;font:inherit;line-height:1.5;min-height:150px}.office-contact-photo-picker{margin-top:2px}.office-contact-photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.office-contact-photo-preview figure{position:relative;margin:0;min-width:0}.office-contact-photo-preview img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid #d5e3e8;border-radius:12px}.office-contact-photo-preview button{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:rgba(20,34,40,.82);color:#fff;font-size:19px;line-height:1}.office-contact-photo-preview figcaption{margin-top:4px;color:#71828a;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.office-contact-share{justify-self:start;min-width:220px}.office-contact-draft-note{margin:0;color:#71838b;font-size:.78rem;line-height:1.4}
@media(max-width:620px){.office-contact-hero{align-items:flex-start}.office-contact-hero-icon{flex-basis:54px;width:54px;height:54px;border-radius:17px;font-size:28px}.office-contact-choices{grid-template-columns:1fr}.office-contact-photo-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.office-contact-share{width:100%}}

/* v132 – snel contact als WhatsApp-gesprek, zonder onderwerpregel */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.office-whatsapp-chat{overflow:hidden;border:1px solid #c9d4d1;border-radius:20px;background:#efeae2;box-shadow:0 12px 30px rgba(14,55,51,.12)}
.office-whatsapp-header{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#075e54;color:#fff}.office-whatsapp-header>div{display:flex;min-width:0;flex-direction:column}.office-whatsapp-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.office-whatsapp-header small{color:#d7efeb;font-size:.72rem}
.office-whatsapp-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#d8f3ee;color:#075e54;font-size:.78rem;font-weight:950}
.office-whatsapp-body{position:relative;display:grid;gap:12px;min-height:300px;padding:18px 14px;background-color:#efeae2;background-image:radial-gradient(circle at 20% 20%,rgba(7,94,84,.055) 0 2px,transparent 2.5px),radial-gradient(circle at 80% 60%,rgba(7,94,84,.045) 0 2px,transparent 2.5px);background-size:34px 34px,42px 42px}
.office-whatsapp-date{justify-self:center;padding:5px 9px;border-radius:8px;background:#d9e7eb;color:#527078;font-size:.62rem;font-weight:900;letter-spacing:.06em}
.office-translation-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 2px 6px rgba(33,64,57,.1)}.office-translation-toolbar label{grid-column:1/-1;color:#527078;font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.office-translation-toolbar select,.office-translation-toolbar button{min-height:42px;border:1px solid #cbd8d4;border-radius:10px;background:#fff;color:#173f37;font:inherit;font-weight:800}.office-translation-toolbar select{min-width:0;padding:0 10px}.office-translation-toolbar button{padding:0 14px;background:#e5f5f1;color:#075e54;cursor:pointer}.office-translation-toolbar button:disabled{opacity:.5;cursor:not-allowed}
.office-whatsapp-chat .office-contact-message-field{position:relative;align-self:end;margin:0;padding-top:38px}.office-whatsapp-chat .office-contact-message-field textarea{min-height:150px;border:0;border-radius:16px 16px 4px 16px;background:#d9fdd3;padding:14px 15px;color:#172b27;box-shadow:0 2px 6px rgba(33,64,57,.12);outline-color:#25a98b}.office-whatsapp-chat .office-contact-message-field textarea::placeholder{color:#648077}
.office-message-clear{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid #e1c8c3;border-radius:999px;padding:5px 11px;background:#fff;color:#a63c2d;font:inherit;font-size:.75rem;font-weight:900;box-shadow:0 2px 5px rgba(33,64,57,.09);cursor:pointer}.office-message-clear:active{transform:translateY(1px)}
.office-translation-result{display:grid;gap:7px;padding:12px;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 2px 6px rgba(33,64,57,.12)}.office-translation-result.hidden{display:none}.office-translation-result>span{color:#075e54;font-size:.72rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.office-translation-result textarea{box-sizing:border-box;width:100%;min-height:125px;resize:vertical;border:1px solid #d4dfdc;border-radius:10px;padding:11px;background:#f8fbfa;color:#172b27;font:inherit}.office-translation-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.office-translation-actions button{border:0;border-radius:999px;padding:8px 11px;background:#e5f5f1;color:#075e54;font:inherit;font-size:.78rem;font-weight:900}.office-translation-actions small{color:#60766f;font-size:.7rem}.office-translation-status{margin:0;color:#365e55;font-size:.78rem;font-weight:750}
.office-whatsapp-chat .voice-field-hint{display:none}.office-whatsapp-chat .voice-input-actions{justify-content:flex-end;margin-top:7px}.office-whatsapp-chat .voice-input-btn{border:0;background:#fff;color:#075e54;box-shadow:0 2px 5px rgba(25,62,55,.12)}.office-whatsapp-chat .voice-input-btn.listening{background:#e57246;color:#fff}
.office-whatsapp-chat .office-contact-photo-preview{align-self:end}.office-whatsapp-chat .office-contact-photo-preview figure{padding:6px;border-radius:12px;background:#d9fdd3}.office-whatsapp-chat .office-contact-photo-preview figcaption{color:#49675f}
.office-whatsapp-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#f7f8f8;border-top:1px solid #d6dfdc}
.wa-attach-button,.wa-send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:0;border-radius:999px;font:inherit;font-weight:900;cursor:pointer}.wa-attach-button{background:#e7eeec;color:#31534c}.wa-send-button{background:#25d366;color:#063e25;box-shadow:0 6px 14px rgba(37,211,102,.25)}.wa-send-button:disabled{opacity:.55;cursor:wait}.wa-attach-button span,.wa-send-button span{font-size:20px}
@media(max-width:620px){.office-whatsapp-body{min-height:270px;padding:14px 10px}.office-translation-toolbar{grid-template-columns:1fr}.office-translation-toolbar label{grid-column:auto}.office-translation-toolbar button{width:100%}.office-translation-actions{align-items:flex-start;flex-direction:column}.office-whatsapp-compose-actions{align-items:stretch;flex-direction:column}.wa-attach-button,.wa-send-button{width:100%;box-sizing:border-box}}

@media (min-width: 1024px){
  body > header{
    column-gap:52px;
  }
  body > header > img{
    width:250px;
    max-width:22vw;
  }
  body > header h1{
    margin-left:26px;
  }
}

@media (max-width: 620px){
  body > header{
    grid-template-columns:112px 1fr;
    column-gap:12px;
  }
  body > header > img{
    width:112px;
    max-width:112px;
  }
  body > header h1{
    margin-left:0;
    font-size:clamp(1.2rem, 5.8vw, 1.65rem);
    line-height:1.05;
  }
  body > header p{
    font-size:.92rem;
    line-height:1.2;
  }
  .portal-tag{
    display:inline;
    font-size:.82em;
  }
}

/* v38 beheer: informatie consequent onder elkaar */
#employeeGroups .employee-accordion > summary,
#roleRights .employee-accordion > summary{
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:5px!important;width:100%;box-sizing:border-box;
}
#employeeGroups .employee-accordion > summary > span,
#roleRights .employee-accordion > summary > span{display:block!important;width:100%!important;min-width:0;text-align:left!important;white-space:normal!important}
#employeeGroups .employee-accordion > summary > span:first-child,
#roleRights .employee-accordion > summary > span:first-child{display:flex!important;flex-direction:column!important;gap:2px!important}
#employeeGroups .employee-accordion > summary b,#roleRights .employee-accordion > summary b,
#employeeGroups .employee-accordion > summary small,#roleRights .employee-accordion > summary small{display:block;width:100%;line-height:1.35}
#employeeGroups .employee-accordion > summary > span:last-child,
#roleRights .employee-accordion > summary > span:last-child{margin-top:2px;font-size:.9rem;line-height:1.35;color:#526772}
.meeting-admin-card>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.activity-admin-card h3,.meeting-admin-card h3{overflow-wrap:anywhere}
@media(max-width:900px){.admin-section-head{display:flex;flex-direction:column;align-items:stretch;gap:10px}.admin-section-head>button,.admin-section-head>a{width:100%}.meeting-admin-card,.activity-admin-card{display:flex;flex-direction:column;align-items:stretch;gap:10px}.activity-admin-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}}
@media(max-width:620px){#employeeGroups .employee-accordion>summary,#roleRights .employee-accordion>summary{padding-right:30px}.weekrow{grid-template-columns:1fr!important}}


/* v39 – directie heeft volledige inzage in alle afdelingsmodules */
.director-access-badge{
  display:inline-flex;
  align-items:center;
  margin-top:6px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff3e8;
  border:1px solid #f36b21;
  color:#c95710;
  font-size:.82rem;
  font-weight:800;
}

/* v40 taakrechten */
.approval-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e3eaed}
.approval-card>div{display:flex;flex-direction:column;gap:3px}.approval-card small{color:#61737c}
@media(max-width:620px){.approval-card{align-items:stretch;flex-direction:column}.approval-card button{width:100%}}

/* v41 – duidelijke navigatie tussen portal en beheer */
.portal-bottom-link{
  display:block;
  width:max-content;
  margin:28px auto 12px;
  padding:10px 16px;
  border:1px solid #d9e1e5;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
}
.portal-return-link{
  display:inline-flex;
  margin:14px 18px;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d9e1e5;
  text-decoration:none;
  font-weight:800;
}
.portal-return-bottom{margin-top:26px;margin-bottom:24px}

/* v42 – beheer inklapbaar en compact */
.admin-collapsible{margin:0 0 14px;border:1px solid #dfe7eb;border-radius:16px;background:#fff;overflow:hidden}
.admin-collapsible>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-weight:900;color:#17313e;background:#f8fbfc}
.admin-collapsible>summary::-webkit-details-marker{display:none}
.admin-collapsible>summary::after{content:"⌄";font-size:1.2rem}
.admin-collapsible[open]>summary::after{content:"⌃"}
.admin-collapsible-body{margin:0!important;border:0!important;border-top:1px solid #e5ecef!important;border-radius:0!important}
.company-collapsible{border:1px solid #e2e9ed;border-radius:12px;margin:10px 0;overflow:hidden;background:#fff}
.company-collapsible>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;font-weight:800;background:#f7fafb}
.company-collapsible>summary::-webkit-details-marker{display:none}
.company-collapsible>summary::after{content:"⌄";margin-left:auto}
.company-collapsible[open]>summary::after{content:"⌃"}
.company-collapsible-body{padding:8px 10px 12px}
.company-collapsible summary small{font-weight:600;color:#6a7b84}

/* v43 – spraakinvoer en vaste combinatie */
.voice-input-actions{display:flex;justify-content:flex-end;margin-top:6px}
.voice-input-btn{border:1px solid #d5e0e5;background:#f7fafb;color:#174b65;border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer}
.voice-input-btn.listening{border-color:#f36b21;color:#c95710;background:#fff3e8}
.voice-input-btn:disabled{opacity:.5;cursor:not-allowed}
.fixed-combo-note{margin-top:4px;color:#5d7079;font-size:.92rem}

/* v44 – activiteit aanmelden & agenda */
.activity-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.rsvp-box{padding:12px;border:1px solid #dfe8ec;border-radius:12px;background:#f8fbfc}
.rsvp-box>strong{display:block;margin-bottom:4px}
.rsvp-box>small{display:block;color:#647881;margin-bottom:8px}
.rsvp-buttons{display:flex;gap:8px;flex-wrap:wrap}
.rsvp-buttons button{flex:1 1 150px}
.rsvp-status{margin-top:8px!important;color:#17313e!important;font-weight:800}
.rsvp-admin-summary{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f5f9fb;color:#17313e}

/* v45 – logboek en activiteit-aanmelding */
.activity-rsvp-settings{margin:16px 0;padding:14px;border:1px solid #dfe7eb;border-radius:14px;background:#f8fbfc}
.activity-rsvp-settings h3{margin:0 0 10px}
.version-log{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.version-log article{padding:13px 14px;border:1px solid #e1e8ec;border-radius:12px;background:#fff}
.version-log h3{margin:0 0 7px;color:#173f55}
.version-log p{margin:5px 0;line-height:1.45}
.version-log .known{padding:7px 9px;border-left:3px solid #f36b21;background:#fff5ed}

.portal-version-stamp{
  text-align:center;
  color:#87969d;
  font-size:.78rem;
  padding:8px 0 16px;
}
.activity-rsvp-settings{
  margin:14px 0;
  padding:14px;
  border:1px solid #dfe7eb;
  border-radius:14px;
  background:#f8fbfc;
}
.activity-rsvp-settings h3{margin:0 0 10px}

/* v48 — deelnemerslijst in beheer */
.rsvp-admin-block{margin-top:10px;border:1px solid rgba(23,49,62,.14);border-radius:12px;padding:10px 12px;background:rgba(23,49,62,.03)}
.rsvp-admin-block>summary{cursor:pointer;list-style:none;font-size:.95rem;color:#17313e}
.rsvp-admin-block>summary::-webkit-details-marker{display:none}
.rsvp-admin-block>summary::before{content:"▸ ";color:#17313e}
.rsvp-admin-block[open]>summary::before{content:"▾ "}
.rsvp-admin-block summary small{font-weight:400;opacity:.7}
.rsvp-counts{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.rsvp-count{font-size:.78rem;padding:3px 9px;border-radius:999px;background:rgba(23,49,62,.08);color:#17313e}
.rsvp-count.yes{background:rgba(28,132,76,.14);color:#1c844c}
.rsvp-count.partner{background:rgba(0,109,161,.14);color:#006da1}
.rsvp-count.no{background:rgba(178,54,54,.13);color:#b23636}
.rsvp-count.silent{background:rgba(140,120,20,.14);color:#7a6a12}
.rsvp-columns{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:10px}
@media(min-width:760px){.rsvp-columns{grid-template-columns:repeat(3,1fr)}}
.rsvp-columns h4{margin:0 0 5px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65;color:#17313e}
.rsvp-name-list{list-style:none;margin:0;padding:0}
.rsvp-name-list li{padding:4px 0;border-bottom:1px solid rgba(23,49,62,.08);font-size:.9rem;color:#17313e}
.rsvp-name-list li:last-child{border-bottom:none}
.rsvp-partner-tag{font-size:.72rem;color:#006da1;background:rgba(0,109,161,.12);border-radius:999px;padding:1px 7px}
.rsvp-empty{font-size:.85rem;opacity:.55;margin:2px 0;color:#17313e}
.rsvp-status.open{opacity:.7;font-style:italic}

/* v49 — vergaderingen & agendapunten in de portal */
.meeting-manage-card{border:1px solid rgba(23,49,62,.12);border-left:4px solid #17313e;border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff}
.meeting-manage-card.urgency-important{border-left-color:#c98a00}
.meeting-manage-card.urgency-urgent{border-left-color:#b23636}
.meeting-manage-card.urgency-action{border-left-color:#006da1}
.meeting-manage-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start}
.meeting-manage-head strong{display:block;color:#17313e}
.meeting-manage-head small{display:block;opacity:.7;font-size:.84rem;color:#17313e}
.meeting-audience{font-size:.75rem;padding:3px 9px;border-radius:999px;background:rgba(23,49,62,.08);color:#17313e;white-space:nowrap}
.meeting-agenda{margin:8px 0 0;font-size:.9rem;white-space:pre-wrap;color:#17313e}
.meeting-manage-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.meeting-form{color:#17313e;margin:12px}

/* v50 — aanmelden voor vergaderingen */
.meeting-strip .rsvp-box{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18)}
.meeting-strip .rsvp-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.meeting-strip .rsvp-buttons button{flex:1 1 auto;min-width:110px;font-size:.82rem;padding:7px 10px}
.rsvp-columns:has(>div:nth-child(4)){grid-template-columns:1fr}
@media(min-width:760px){.rsvp-columns:has(>div:nth-child(4)){grid-template-columns:repeat(4,1fr)}}

/* v51 — herinnering tijdelijke beheercode */
.pin-warning{margin:16px 12px 0;padding:10px 14px;border-radius:10px;background:#fff4d6;border:1px solid #e0b83a;color:#5a4406;font-size:.85rem;line-height:1.45}

/* v52 — verplicht reageren */
.must-rsvp::backdrop{background:rgba(10,25,35,.72)}
.must-rsvp{border:none;border-radius:16px;padding:0;max-width:440px;width:calc(100% - 28px)}
.must-rsvp-card{color:#17313e;margin:0;padding:20px}
.must-rsvp-card h2{margin:6px 0 4px;font-size:1.25rem}
.must-rsvp-when{margin:0 0 10px;opacity:.75;font-size:.9rem}
.must-rsvp-note{margin:12px 0;padding:9px 12px;border-radius:9px;background:#fff4d6;border:1px solid #e0b83a;color:#5a4406;font-size:.84rem}
.must-rsvp .rsvp-buttons{display:flex;flex-direction:column;gap:8px}
.must-rsvp .rsvp-buttons button{width:100%;padding:12px;font-size:.95rem}
.must-rsvp-progress{margin:10px 0 0;font-size:.8rem;opacity:.6;text-align:center}

/* v53 — aanklikbare agenda + open beheer */
.meeting-strip[data-meeting-id],.activity-card[data-activity-id]{cursor:pointer}
.meeting-strip[data-meeting-id]:hover,.activity-card[data-activity-id]:hover{filter:brightness(1.04)}
.meeting-strip[data-meeting-id]:focus-visible,.activity-card[data-activity-id]:focus-visible{outline:2px solid #006da1;outline-offset:2px}
.agenda-detail-title{margin:0 0 4px;font-size:1.2rem;color:#17313e}
.agenda-detail-when{margin:0 0 12px;opacity:.72;font-size:.9rem;color:#17313e}
.agenda-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.agenda-detail-block{margin-top:14px;padding-top:12px;border-top:1px solid rgba(23,49,62,.12)}
.agenda-detail-block h4{margin:0 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65;color:#17313e}
.agenda-detail-block p{margin:0;white-space:pre-wrap;color:#17313e;font-size:.93rem}
.agenda-detail-block .rsvp-buttons{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.agenda-detail-block .rsvp-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#agendaDetailDialog{width:min(92vw,560px);background:#fff;color:#17313e}
#agendaDetailDialog .gallerytop{background:#0b3447;color:#fff}
#agendaDetailDialog .detail-body{background:#fff;color:#17313e;padding:18px 20px 20px}
#agendaDetailDialog .agenda-detail-title,
#agendaDetailDialog .agenda-detail-when,
#agendaDetailDialog .agenda-detail-block h4,
#agendaDetailDialog .agenda-detail-block p{color:#17313e}
.agenda-rsvp-choice{
  min-height:44px!important;height:auto!important;margin:0!important;padding:9px 10px!important;
  border-radius:10px!important;border:1px solid transparent!important;
  font-size:.88rem!important;font-weight:850!important;line-height:1.2!important;
  box-shadow:none!important;
}
.agenda-rsvp-choice.yes{background:#e9f8ee!important;color:#166534!important;border-color:#86d39c!important}
.agenda-rsvp-choice.maybe{background:#fff4db!important;color:#805600!important;border-color:#edc66b!important}
.agenda-rsvp-choice.no{background:#fdecec!important;color:#991b1b!important;border-color:#e7a1a1!important}
.agenda-rsvp-choice.selected{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)!important}
.agenda-rsvp-choice.yes.selected{background:#15803d!important}
.agenda-rsvp-choice.maybe.selected{background:#c47a00!important}
.agenda-rsvp-choice.no.selected{background:#b91c1c!important}
@media(max-width:560px){
  .agenda-detail-block .rsvp-buttons{grid-template-columns:1fr}
  .agenda-rsvp-choice{min-height:42px!important;padding:9px 12px!important}
}
.agenda-detail-image{width:100%;border-radius:10px;margin-bottom:12px;display:block}
.open-admin-warning{background:#fff4d6;border:1px solid #e0b83a;color:#5a4406}
.open-admin-warning strong{display:block;margin-bottom:6px}
.open-admin-warning p{margin:0;font-size:.86rem;line-height:1.5}

/* v56 — zichtbaar maken dat aanmelden gevraagd wordt */
.rsvp-flag{display:inline-block;margin:6px 0 8px;padding:5px 11px;border-radius:999px;background:rgba(0,109,161,.12);color:#00567f;font-size:.82rem;font-weight:600;line-height:1.35}
.rsvp-flag.verplicht{background:#fff4d6;color:#7a5a06;border:1px solid #e0b83a}


/* v58 – duidelijke aanmeldstatus direct bij de activiteitenfoto */
.activity-media{
  position:relative;
  width:100%;
}
.activity-media:empty{display:none}
.activity-media > img{
  display:block;
  width:100%;
  height:auto;
}
.activity-rsvp-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:900;
  line-height:1.1;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
  border:2px solid rgba(255,255,255,.94);
}
.activity-rsvp-badge.yes{
  background:#15803d;
  color:#fff;
}
.activity-rsvp-badge.no{
  background:#b91c1c;
  color:#fff;
}
.activity-rsvp-badge.open{
  background:#f59e0b;
  color:#1f2937;
}
.activity-card:not(:has(.activity-media img)) .activity-rsvp-badge{
  position:static;
  margin:12px 12px 0 auto;
  width:max-content;
}
.rsvp-flag.yes{color:#166534;font-weight:800}
.rsvp-flag.no{color:#991b1b;font-weight:800}
.rsvp-flag.open{color:#9a5a00;font-weight:800}
@media(max-width:620px){
  .activity-rsvp-badge{
    top:8px;
    right:8px;
    font-size:.78rem;
    min-height:30px;
    padding:6px 9px;
  }
}


/* v59 – compacte verplichte aanmelding en later wijzigen */
#mustRsvpDialog{
  width:min(92vw,430px)!important;
  max-width:430px!important;
}
#mustRsvpDialog .dialog-card,
#mustRsvpDialog .modal-card,
#mustRsvpDialog form{
  max-width:430px!important;
}
#mustRsvpButtons{
  display:grid!important;
  gap:10px!important;
  margin-top:12px!important;
}
#mustRsvpButtons .must-rsvp-choice{
  width:100%!important;
  min-height:48px!important;
  height:auto!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  border:0!important;
  font-size:1rem!important;
  font-weight:900!important;
}
.must-rsvp-choice.yes,.rsvp-initial.yes,.rsvp-choice.yes{
  background:#15803d!important;color:#fff!important;border-color:#15803d!important;
}
.must-rsvp-choice.no,.rsvp-initial.no,.rsvp-choice.no{
  background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important;
}
.rsvp-initial{
  min-height:46px!important;padding:10px 12px!important;border-radius:11px!important;
  border:1px solid;font-weight:900!important;
}
.rsvp-done{padding:12px 14px!important}
.rsvp-done.yes{border-left:4px solid #15803d!important;background:#f0fdf4!important}
.rsvp-done.no{border-left:4px solid #b91c1c!important;background:#fef2f2!important}
.rsvp-done strong,.rsvp-done small{display:block}
.rsvp-change-btn{
  margin-top:9px!important;padding:8px 12px!important;min-height:38px!important;
  border:1px solid #cbd8de!important;border-radius:9px!important;
  background:#fff!important;color:#174b65!important;font-weight:800!important;
}
.rsvp-change-overlay{
  position:fixed;inset:0;z-index:10050;background:rgba(8,28,39,.58);
  display:flex;align-items:flex-end;justify-content:center;padding:14px;
}
.rsvp-change-sheet{
  width:min(100%,460px);background:#fff;border-radius:22px;padding:22px;
  position:relative;box-shadow:0 18px 60px rgba(0,0,0,.3);
}
.rsvp-change-sheet>small{color:#ef6c2f;font-weight:900;letter-spacing:.11em}
.rsvp-change-sheet h3{margin:6px 34px 4px 0}
.rsvp-change-sheet p{margin:0 0 14px;color:#657780}
.rsvp-sheet-close{
  position:absolute;right:12px;top:10px;border:0!important;background:transparent!important;
  font-size:28px!important;line-height:1!important;padding:4px!important;color:#263b46!important;
}
.rsvp-change-buttons{display:grid;gap:10px}
.rsvp-change-buttons .rsvp-choice{
  min-height:48px!important;border-radius:12px!important;border:1px solid!important;
  padding:11px 13px!important;font-weight:900!important;
}
@media(max-width:620px){
  #mustRsvpDialog{width:calc(100vw - 28px)!important;margin:auto!important}
  #mustRsvpButtons .must-rsvp-choice{min-height:46px!important}
}

/* v60 – deelnemerstelling */
.activity-attendance-count{display:inline-flex;align-items:center;gap:5px;margin:6px 0 2px;padding:5px 9px;border-radius:999px;background:#eef6fa;color:#174b65;font-size:.86rem;font-weight:900}
.rsvp-admin-summary{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:9px 11px;border-radius:10px;background:#eef6fa;color:#17313e}
.rsvp-admin-summary span{font-size:.86rem;color:#5f7079}

/* v63 – wachtwoordherstel */
.auth-text-link{
  display:block;
  width:100%;
  margin-top:10px;
  padding:8px;
  border:0;
  background:transparent;
  color:#075f83;
  text-decoration:underline;
  font-weight:800;
  cursor:pointer;
}
#forgotPasswordForm p,#resetPasswordForm p{color:#5d7079;line-height:1.45}

/* v65 – dashboardknop bovenaan iedere module */
.dashboard-backbtn{
  position:sticky;
  top:8px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:8px 0 14px;
  padding:10px 14px;
  min-height:42px;
  border-radius:999px;
  background:#075f83;
  color:#fff;
  border:0;
  box-shadow:0 4px 14px rgba(0,0,0,.14);
  font-weight:900;
}
.dashboard-backbtn:hover,
.dashboard-backbtn:focus{background:#064d69}
@media(max-width:620px){
  .dashboard-backbtn{
    width:100%;
    justify-content:center;
    top:6px;
  }
}

/* v66 – portalbrede, werkende spraakinvoer */
.voice-input-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
.voice-input-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #bfcfd7;
  border-radius:999px;
  background:#fff;
  color:#075f83;
  font-weight:900;
  cursor:pointer;
}
.voice-input-btn.listening{
  background:#e57246;
  border-color:#e57246;
  color:#fff;
}
.voice-input-status{
  flex:1 1 180px;
  min-width:0;
  color:#647983;
  font-size:.78rem;
  line-height:1.25;
}
@media(max-width:620px){
  .voice-input-actions{align-items:flex-start}
  .voice-input-btn{min-height:38px}
  .voice-input-status{flex-basis:100%}
}

/* v67 – spraakcontrole + centrale versie */
.voice-input-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.voice-input-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid #bfcfd7;border-radius:999px;background:#fff;color:#075f83;font-weight:900;cursor:pointer}
.voice-input-btn.listening{background:#e57246;border-color:#e57246;color:#fff}
.voice-input-status{flex:1 1 190px;min-width:0;color:#647983;font-size:.79rem;line-height:1.3}
.portal-version-stamp{text-align:center;color:#87969d;font-size:.78rem;padding:10px 0 18px}
@media(max-width:620px){.voice-input-status{flex-basis:100%}}

/* v68 – echte audio-opname voor spraak-naar-tekst */
.voice-input-btn.listening{
  background:#b91c1c!important;
  border-color:#b91c1c!important;
  color:#fff!important;
}
.voice-input-status{
  min-height:1em;
}

/* v69 – spraak naar exact veld */
.voice-field-hint{
  display:block;
  margin:5px 2px 0;
  color:#73868f;
  font-size:.76rem;
  line-height:1.25;
}
.voice-target-active{
  outline:3px solid rgba(229,114,70,.38)!important;
  border-color:#e57246!important;
  box-shadow:0 0 0 4px rgba(229,114,70,.10)!important;
}
.voice-target-filled{
  outline:3px solid rgba(21,128,61,.30)!important;
  border-color:#15803d!important;
  box-shadow:0 0 0 4px rgba(21,128,61,.08)!important;
}
.voice-input-status{
  word-break:break-word;
}

/* v70 – live microfoonmeter en diagnose */
.voice-meter{
  flex:1 1 140px;
  height:10px;
  min-width:120px;
  overflow:hidden;
  border-radius:999px;
  background:#e6edf0;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.voice-meter-fill{
  height:100%;
  width:0%;
  transition:width .08s linear;
  border-radius:999px;
  background:#9aaab1;
}
.voice-meter-fill[data-level="silent"]{background:#b91c1c}
.voice-meter-fill[data-level="low"]{background:#f59e0b}
.voice-meter-fill[data-level="good"]{background:#15803d}
.voice-meter-text{
  flex:1 1 180px;
  color:#647983;
  font-size:.76rem;
}
@media(max-width:620px){
  .voice-meter,.voice-meter-text,.voice-input-status{flex-basis:100%}
}

/* v72 – uploadkeuze zichtbaar maken */
.upload-choice-hint,
.upload-choice-inline{
  display:block;
  margin-top:7px;
  color:#6f828b;
  font-size:.78rem;
  line-height:1.3;
}

/* v74 – browser-spraak zonder externe transcriptie-API */
.voice-live-text{
  display:block;
  flex:1 1 100%;
  min-height:1em;
  color:#174b65;
  font-size:.82rem;
  font-weight:700;
  line-height:1.3;
}
.voice-input-status{
  flex:1 1 100%;
}

/* v76 – topacties netjes onder de kop, buiten iPhone-statusbalk */
.portal-top-actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  max-width:1180px;
  margin:10px auto 0;
  padding:0 18px;
  box-sizing:border-box;
  position:relative;
  z-index:10;
}
.top-action-btn{
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #bfd1d9;
  background:#ffffff;
  color:#075f83;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 2px 7px rgba(0,0,0,.06);
}
.top-action-btn:hover,.top-action-btn:focus{
  background:#f4f8fa;
}
.top-action-btn.logout{
  background:#e57246;
  border-color:#e57246;
  color:#fff;
}
.top-agenda-btn{position:relative;padding-left:13px;padding-right:13px}.top-agenda-btn .notification-number{right:-5px;top:-8px}
.portal-version-footer{
  text-align:center;
  color:#7c8e97;
  font-size:.78rem;
  padding:10px 12px 18px;
}
.portal-version-stamp{display:none!important;}

@media(max-width:620px){
  .portal-top-actions{
    justify-content:center;
    margin:8px auto 4px;
    padding:0 14px;
  }
  .top-action-btn{
    min-height:34px;
    padding:6px 10px;
    font-size:.82rem;
  }
}

/* v78 – duidelijk wachtwoordherstel */
.recovery-card{
  max-width:520px;
}
.password-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.password-row .small{
  min-height:44px;
  padding:8px 12px;
}
.password-show-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 14px;
  color:#536b76;
  font-weight:700;
}
.password-show-row input{
  width:auto;
}
@media(max-width:620px){
  .password-row{
    grid-template-columns:1fr;
  }
}

/* v79 – login/registratie/wachtwoordherstel */
.authcard .hidden,
.authswitch.hidden{
  display:none!important;
}
.recovery-card:not(.hidden){
  display:block;
}

/* v80 – uniforme taalvlaggen in alle zichtbare taalkeuzes */
.language-card{
  display:none!important;
}
.portal-language-strip,
.login-flags.portal-language-strip,
.flag-switch.portal-language-strip{
  width:100%!important;
  max-width:760px!important;
  margin:8px auto 10px!important;
  padding:7px 12px!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:5px!important;
  align-items:center!important;
  justify-items:center!important;
  box-sizing:border-box!important;
  flex-wrap:nowrap!important;
  background:transparent!important;
}
.portal-language-strip.flag-switch button,
.login-flags.flag-switch button{
  width:100%!important;
  max-width:64px!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:4px 2px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d5e5ec!important;
  border-radius:11px!important;
  background:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
}
.portal-language-strip.flag-switch button.active,
.login-flags.flag-switch button.active{
  border:2px solid #e57246!important;
  box-shadow:0 0 0 2px rgba(229,114,70,.14)!important;
  padding:3px 1px!important;
}
@media(max-width:600px){
  .portal-language-strip,
  .login-flags.portal-language-strip,
  .flag-switch.portal-language-strip{
    max-width:100%!important;
    margin:6px auto 8px!important;
    padding:6px 10px!important;
    gap:4px!important;
  }
  .portal-language-strip.flag-switch button,
  .login-flags.flag-switch button{
    max-width:none!important;
    height:42px!important;
    min-height:42px!important;
    font-size:22px!important;
    padding:3px 1px!important;
  }
  .portal-language-strip.flag-switch button.active,
  .login-flags.flag-switch button.active{
    padding:2px 0!important;
  }
}

/* v126 – houd dashboardtegels ook op smalle iPhones exact 50/50 */
.coming-soon-badge,
.fleuren-fly-tile-badge {
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* v81 – Wie is waar: echte module in plaats van blokkerende pop-up */
.whereabouts-head h2{margin-bottom:6px}
.director-whereabouts-note{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#fff3e8;
  border:1px solid #f0a06e;
  color:#8b471e;
}
.whereabouts-empty{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:7px;
  padding:24px 12px;
  color:#61737c;
}
.whereabouts-empty strong{color:#075071;font-size:1.05rem}
.whereabouts-empty p{margin:0;max-width:440px}
.whereabouts-pin{font-size:36px}

/* v83 – authenticator / 2FA */
.two-factor-qr{
  display:block;
  width:min(280px,100%);
  height:auto;
  margin:12px auto;
  padding:10px;
  background:#fff;
  border:1px solid #dce7ec;
  border-radius:14px;
}
.two-factor-manual{margin:10px 0 14px}
.two-factor-manual code,.security-card code{
  display:inline-block;
  overflow-wrap:anywhere;
  padding:5px 7px;
  border-radius:7px;
  background:#f2f6f8;
  font-size:.82rem;
}
.recovery-codes-dialog{
  width:min(520px,calc(100% - 24px));
  border:0;
  border-radius:18px;
  padding:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.recovery-codes-dialog::backdrop{background:rgba(0,0,0,.42)}
.recovery-codes-dialog pre{
  white-space:pre-wrap;
  font-size:1rem;
  line-height:1.7;
  padding:14px;
  border-radius:12px;
  background:#f4f7f8;
  user-select:all;
}
.security-card #twoFactorInlineSetup{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dce7ec;
}

/* v84 – Wie is waar live locatie */
.location-toggle{display:flex;align-items:center;gap:11px;margin:14px 0;cursor:pointer}
.location-toggle input{position:absolute;opacity:0;pointer-events:none}
.location-toggle-ui{width:52px;height:30px;border-radius:999px;background:#c9d4d9;position:relative;transition:.2s}
.location-toggle-ui:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}
.location-toggle input:checked+.location-toggle-ui{background:#169b62}
.location-toggle input:checked+.location-toggle-ui:after{transform:translateX(22px)}
.location-privacy-settings{padding:12px;border-radius:13px;background:#f6f9fa;margin:10px 0}
.privacy-note{display:block;color:#647780;line-height:1.45;margin-top:8px}
.whereabouts-person{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e2ebef}
.whereabouts-person:last-child{border-bottom:0}
.whereabouts-person div:first-child{display:flex;flex-direction:column;gap:2px}
.whereabouts-person small{color:#6b7d85}
.whereabouts-meta{display:flex;flex-direction:column;text-align:right;font-size:.82rem;color:#647780}
@media(max-width:620px){.whereabouts-person{grid-template-columns:1fr auto}.whereabouts-meta{grid-column:1}.whereabouts-person>a{grid-column:2;grid-row:1/3}}

/* v85 – TV-krant beheer */
.tv-screen-links{display:flex;gap:10px;flex-wrap:wrap}.tv-screen-links a{text-decoration:none}
.tv-manage-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e1eaee}
.tv-manage-item>div:first-child{display:flex;flex-direction:column;gap:3px}.tv-manage-item small{color:#6c7e86}
.tv-manage-item>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
.tv-photo-picker .camera{margin-top:6px}
.tv-media-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:12px;border:1px solid #d9e5e9;border-radius:14px;background:#f4f9fb}
.tv-media-preview img{display:block;width:180px;max-width:100%;max-height:150px;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(14,59,80,.12)}
.tv-media-or{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:#6b7e87;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
.tv-media-or:before,.tv-media-or:after{content:"";height:1px;flex:1;background:#d8e3e7}
#tvText{width:100%;resize:vertical}

/* v87 – Mijn Documenten centraal archief */
.document-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.doc-stat{border:1px solid #dbe7ec;background:#f8fbfc;border-radius:13px;padding:10px;text-align:left;color:#164b61}
.doc-stat strong{display:block;font-size:1.45rem;color:#075071}.doc-stat span{font-size:.78rem}.doc-stat.active{border-color:#ef7d32;box-shadow:0 0 0 2px rgba(239,125,50,.12)}
.archive-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #e1eaee}
.archive-row:last-child{border-bottom:0}.archive-icon{width:42px;height:42px;border-radius:12px;background:#f1f6f8;display:grid;place-items:center;font-size:22px}
.archive-main{display:flex;flex-direction:column;gap:2px}.archive-main small{color:#6b7e86}.archive-category{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#ef7d32;font-weight:800}
.archive-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.archive-action{text-decoration:none}
.document-upload-details summary{cursor:pointer;display:flex;flex-direction:column;gap:3px}.document-upload-details summary span{font-size:.82rem;color:#6b7e86;font-weight:400}.document-upload-body{padding-top:16px}
@media(max-width:640px){.document-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-row{grid-template-columns:42px 1fr}.archive-actions{grid-column:2;justify-content:flex-start}}

/* v91 – beheercentrum / hoofdbeheer / audit */
.admin-security-status{
  display:flex;
  gap:14px;
  align-items:flex-start;
  border-left:5px solid #169b62;
}
.admin-security-icon{font-size:28px;line-height:1}
.admin-access-gate{max-width:720px;margin:28px auto;display:flex;gap:18px;align-items:flex-start;border:2px solid #ef7d32;background:linear-gradient(145deg,#fff 0%,#fff8f2 100%)}
.admin-access-gate.hidden{display:none}
.admin-access-icon{width:54px;height:54px;flex:0 0 54px;border-radius:18px;display:grid;place-items:center;font-size:29px;background:#e6f5f8}
.admin-access-copy{min-width:0;flex:1}.admin-access-copy h2{margin:.15rem 0 .4rem}.admin-access-copy>p{color:#5f747d}
.admin-unlock-main{width:100%;margin:10px 0 4px;min-height:52px}
.admin-unlock-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:#71848c;font-size:.76rem;font-weight:700}.admin-unlock-divider:before,.admin-unlock-divider:after{content:"";height:1px;background:#dce6ea;flex:1}
.admin-unlock-form label{display:block;font-weight:800;color:#17465a;margin:0 0 6px}.admin-unlock-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-unlock-form input{min-width:0}
.admin-password-fallback{margin-top:12px}.admin-password-fallback summary{cursor:pointer;color:#075071;font-weight:800}.admin-password-fallback form{margin-top:10px}
@media(max-width:640px){.admin-access-gate{margin:18px 0;padding:18px;display:block}.admin-access-icon{margin-bottom:12px}.admin-unlock-form>div{grid-template-columns:1fr}.admin-unlock-form button{width:100%}}
.admin-hub{overflow:hidden}
.admin-hub-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.admin-role-badge,.admin-limit-badge,.readonly-badge{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;padding:7px 11px;font-weight:800;font-size:.78rem;white-space:nowrap;
  background:#eef6f9;color:#075071;border:1px solid #cfe1e8;
}
.admin-role-badge{background:#fff2e8;color:#9b4b19;border-color:#f0ad7e}
.admin-hub-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;margin:16px 0;
}
.admin-hub-stats>div{
  padding:12px;border:1px solid #dce7ec;border-radius:13px;background:#f8fbfc;
}
.admin-hub-stats strong{display:block;color:#075071;font-size:1.5rem}
.admin-hub-stats span{font-size:.78rem;color:#627780}
.admin-hub-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;
}
.admin-hub-grid button{
  min-width:0;text-align:left;border:1px solid #dce7ec;border-radius:14px;background:#fff;
  padding:13px;color:#17313e;display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;
  align-items:center;font-size:1.25rem;
}
.admin-hub-grid button strong{font-size:.95rem}
.admin-hub-grid button small{grid-column:2;font-size:.72rem;color:#6a7d86}
.admin-hub-grid button:hover,.admin-hub-grid button:focus{border-color:#ef7d32;background:#fffaf6}
.volkertshausen-planning-card{border-top:5px solid #ef7d32}.volkertshausen-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.volkertshausen-summary>div{padding:13px;border-radius:14px;background:#f1f8fa;border:1px solid #d7e7ec}.volkertshausen-summary strong{display:block;font-size:1.55rem;color:#075071}.volkertshausen-summary span{font-size:.78rem;color:#667b84}.volkertshausen-visit{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid #dce7eb}.volkertshausen-visit:last-child{border-bottom:0}.volkertshausen-visit.has-conflict{background:#fff8ed;border-left:4px solid #f5a623;padding-left:12px}.volkertshausen-visit-date{width:58px;min-height:58px;border-radius:16px;background:#e8f5f8;display:grid;place-items:center;align-content:center;color:#075071}.volkertshausen-visit-date span{font-size:1.45rem;font-weight:900;line-height:1}.volkertshausen-visit-date small{text-transform:uppercase;font-weight:800}.volkertshausen-visit-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.volkertshausen-visit-main>small{display:block;color:#687d86;margin:3px 0 8px}.volkertshausen-visit-main p{margin:5px 0}.visit-status{font-size:.68rem;font-weight:900;text-transform:uppercase;border-radius:999px;padding:5px 8px;background:#fff0df;color:#a15118}.visit-status.confirmed{background:#e6f7ed;color:#167244}.visit-conflict{color:#9a5a00;font-weight:800}.volkertshausen-visit-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.volkertshausen-summary{grid-template-columns:1fr 1fr}.volkertshausen-visit{grid-template-columns:54px minmax(0,1fr)}.volkertshausen-visit-actions{grid-column:2;justify-content:flex-start}.volkertshausen-visit-date{width:52px;min-height:52px}}
.superadmin-card,.tv-manager-card{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 0;border-bottom:1px solid #e1eaee;
}
.superadmin-card>div,.tv-manager-card>div{display:flex;flex-direction:column;gap:2px}
.superadmin-card small,.tv-manager-card small{color:#6a7d86}
.tv-manager-card{justify-content:flex-start}.tv-manager-card>span{font-size:24px}
.you-badge{padding:5px 9px;border-radius:999px;background:#e9f7ef;color:#137547;font-weight:800;font-size:.75rem}
.superadmin-add{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #e1eaee}
.superadmin-lock-note,.admin-readonly-note{
  padding:10px 12px;border-radius:11px;background:#f4f7f8;color:#536b76;margin-bottom:10px;
}
.audit-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin:14px 0}
.audit-row{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;
  padding:13px 0;border-bottom:1px solid #e1eaee;
}
.audit-time{display:flex;flex-direction:column;gap:2px}.audit-time small{color:#6a7d86}
.audit-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.audit-main>small{color:#6a7d86}
.audit-action{
  align-self:flex-start;border-radius:999px;background:#eef6f9;color:#075071;
  padding:3px 7px;font-size:.68rem;font-weight:800;letter-spacing:.02em;
}
.audit-detail{margin-top:5px}
.audit-detail summary{cursor:pointer;color:#075071;font-weight:700}
.audit-detail>div{margin-top:8px}
.audit-detail pre{
  white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;
  background:#f5f7f8;padding:10px;border-radius:9px;font-size:.72rem;
}
#portalLogbook{margin-top:12px}
.admin-collapsible{scroll-margin-top:16px}
@media(max-width:760px){
  .admin-hub-title{flex-direction:column}
  .admin-hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-filters{grid-template-columns:1fr}
  .audit-row{grid-template-columns:1fr;gap:6px}
}
@media(max-width:430px){
  .admin-hub-grid{grid-template-columns:1fr}
  .admin-hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v95 – echte kaart in Wie is waar */
.whereabouts-map-card{overflow:visible}
.whereabouts-map{
  width:100%;
  height:clamp(320px,52vh,560px);
  min-height:320px;
  border-radius:16px;
  overflow:hidden;
  background:#eaf2f5;
  border:1px solid #d7e5ea;
  position:relative;
}
.whereabouts-map-loading,.whereabouts-map-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:7px;text-align:center;padding:24px;color:#5f747d;background:#edf4f6;
}
.whereabouts-map-fallback strong{color:#075071}
.whereabouts-map .gm-style{font-family:inherit}
.whereabouts-map .gm-style-iw-c{border-radius:14px!important;padding:4px!important}
.google-driver-name-label{
  background:#fff!important;
  border:2px solid #0a6685!important;
  border-radius:9px!important;
  padding:5px 8px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
  transform:translateY(-3px);
  white-space:nowrap!important;
}
.google-driver-popup{display:grid;gap:5px;min-width:190px;padding:8px 7px 5px;color:#40555e;font-size:13px}
.google-driver-popup strong{color:#073d50;font-size:16px}
.google-driver-popup span{display:block}
.google-driver-popup a{margin-top:4px;color:#075f82;font-weight:800;text-decoration:none}
@media(max-width:640px){
  .whereabouts-map{height:380px;min-height:320px}
}

/* v97 – namen op kaart + duidelijk actueel overzicht */
.driver-name-label{
  background:#fff!important;
  border:2px solid #0a6685!important;
  border-radius:9px!important;
  color:#073d50!important;
  font-weight:800!important;
  font-size:13px!important;
  line-height:1.15!important;
  padding:5px 8px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
  white-space:nowrap!important;
}
.driver-name-label:before{display:none!important}
.whereabouts-person{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 16px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid #dce8ec;
}
.whereabouts-person:last-child{border-bottom:0}
.whereabouts-person-main{display:flex;align-items:center;gap:10px;min-width:0}
.whereabouts-person-main strong{display:block;font-size:17px;color:#073d50}
.whereabouts-person-main small{display:block;margin-top:3px;color:#6c7f87}
.whereabouts-live-dot{width:11px;height:11px;border-radius:50%;background:#19a96b;box-shadow:0 0 0 4px rgba(25,169,107,.12);flex:0 0 auto}
.whereabouts-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#647981}
.whereabouts-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.whereabouts-actions .secondary{font-size:13px;padding:8px 11px;text-decoration:none}
@media(max-width:640px){
  .whereabouts-person{grid-template-columns:1fr}
  .whereabouts-meta{justify-content:flex-start}
}

/* v100 – straat, plaats en landvlag in Actueel overzicht */
.whereabouts-address{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  color:#0a6685;
  font-weight:800;
  font-size:14px;
  line-height:1.25;
}
.whereabouts-address span{overflow-wrap:anywhere}

/* v152 – vijf zichtbare taalvlaggen als gecentreerde rij */
.portal-language-strip,
.login-flags.portal-language-strip,
.flag-switch.portal-language-strip{
  width:min(100%,430px)!important;
  max-width:430px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  justify-content:center!important;
}
@media(max-width:600px){
  .portal-language-strip,
  .login-flags.portal-language-strip,
  .flag-switch.portal-language-strip{
    width:min(calc(100% - 20px),390px)!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* v144 – eenmalige registratielinks */
.invite-create-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:14px;align-items:end}
.invite-result{margin:16px 0;padding:16px;border:2px solid #eb6f35;border-radius:18px;background:#fff8f3}
.invite-result input{width:100%;margin:8px 0 10px}
.invite-result-actions{display:flex;gap:10px;flex-wrap:wrap}
.invite-login-note{padding:10px 13px;border-radius:12px;background:#e7f8ee;color:#12663d;font-weight:800}
.registration-invite-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #dce8ec}
.registration-invite-row small{display:block;color:#6c7e86;margin-top:3px}
.registration-invite-row.expired{opacity:.6}
@media(max-width:620px){.invite-create-grid{grid-template-columns:1fr}.registration-invite-row{align-items:flex-start;flex-direction:column}}

/* v155 – automatische TV-rubrieken */
.tv-auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:16px 0}.tv-auto-grid .checkrow,.tv-auto-subsettings .checkrow{margin:0;padding:12px 14px;border:1px solid #d9e3e8;border-radius:12px;background:#f8fbfc}.tv-auto-subsettings{display:grid;gap:10px;margin:10px 0 16px;padding-top:12px;border-top:1px solid #e4ecef}

/* v158 Nmbrs loonadministratie */
.nmbrs-panel{display:flex;gap:18px;align-items:center;padding:20px;border:1px solid #dfe7ee;border-radius:18px;margin:14px 0;background:#fff}.nmbrs-brand{width:82px;height:82px;flex:0 0 82px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:#0b82c8;color:#fff;font-weight:800;font-size:52px;line-height:1;position:relative}.nmbrs-brand small{font-size:22px;align-self:flex-start;margin-top:17px;margin-left:2px}.nmbrs-panel h3{margin:0 0 6px}.nmbrs-panel p{margin:0;line-height:1.5}@media(max-width:560px){.nmbrs-panel{align-items:flex-start}.nmbrs-brand{width:66px;height:66px;flex-basis:66px;font-size:42px;border-radius:18px}.nmbrs-brand small{font-size:18px;margin-top:12px}}
/* v165 – compact versienummer bovenaan */
.portal-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.portal-header-version{font-size:.68rem;font-weight:800;line-height:1;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.18);color:inherit;letter-spacing:.03em;white-space:nowrap}

/* v173 – Euroshell truckcodes */
.euroshell-codes-panel{margin-top:14px;padding:12px;border:1px solid #d9e4e8;border-radius:12px;background:#f8fbfc}.euroshell-head,.euroshell-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.euroshell-head{justify-content:space-between;margin-bottom:8px}.euroshell-row{padding:9px 0;border-top:1px solid #e2eaed}.euroshell-row strong{min-width:100px}.euroshell-row span{flex:1;min-width:90px;color:#667d88}.euroshell-row code{font-size:1rem;font-weight:800;letter-spacing:.08em}

/* v175 – beheerrollen en blauwe informatieknoppen */
.admin-role-overview{display:grid;gap:9px;margin-top:14px}.admin-role-overview article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:12px 0;border-bottom:1px solid #e1eaee}.admin-role-overview article>div:first-child{display:flex;flex-direction:column;gap:2px}.admin-role-overview small{color:#6a7d86}.admin-info-btn{width:28px;height:28px;min-width:28px;padding:0!important;border:0!important;border-radius:50%!important;background:#0874b9!important;color:#fff!important;font-weight:900!important;font-family:Georgia,serif!important;font-size:17px!important;line-height:28px!important;text-align:center!important;box-shadow:none!important}.admin-info-btn:hover,.admin-info-btn:focus{background:#075f98!important;outline:3px solid rgba(8,116,185,.18)}.admin-info-panel{display:none;grid-column:1/-1;padding:11px 12px;border-radius:12px;background:#eef7fc;border:1px solid #cce5f4;color:#244b60;font-size:.88rem;line-height:1.45}.admin-info-panel.is-open{display:block}.superadmin-card-info{display:grid;grid-template-columns:minmax(0,1fr) auto}.superadmin-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.superadmin-rights{grid-column:1/-1}.admin-role-overview article:last-child{border-bottom:0}

/* v181 – Face ID/passkey als primaire, makkelijke inlogroute */
.passkey-priority-card{margin:12px 0 16px;padding:14px;border:1px solid #b9dce8;border-radius:15px;background:linear-gradient(145deg,#fff 0%,#f1fbfe 100%);text-align:center}
.passkey-priority-card strong{display:block;margin:9px 0 3px;color:#075071;font-size:.95rem}
.passkey-login-primary{margin:0;background:#0a6685;color:#fff;border-color:#0a6685;font-size:1.02rem}
.passkey-priority-card .passkey-login-hint{margin:0;color:#5d737d}

/* v182 – registratie zonder gedeelde code */
.registration-security-note{margin:12px 0;padding:12px 14px;border:1px solid #b9dce8;border-radius:13px;background:#f1fbfe;color:#075071}
.registration-security-note strong,.registration-security-note small{display:block}.registration-security-note small{margin-top:4px;line-height:1.4;color:#5d737d}
/* v183 – duidelijke keuze BOCA of eigen Fleuren-weegbrug */
.weighbridge-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.weighbridge-choice{display:grid;gap:5px;text-align:left;padding:16px;border:2px solid #d7e4e9;border-radius:16px;background:#fff;color:#123b68;cursor:pointer}.weighbridge-choice>span{font-size:1.55rem}.weighbridge-choice strong{font-size:1rem}.weighbridge-choice small{color:#60747d}.weighbridge-choice.active{border-color:#0b6385;background:#eef8fb}.fleuren-weighbridge-form{display:grid;gap:12px;margin:14px 0 18px;padding:14px;border:1px solid #efc1a9;border-radius:14px;background:#fff}.fleuren-weighbridge-form .primary{margin:0}@media(max-width:620px){.weighbridge-choice-grid{grid-template-columns:1fr}}

/* v184 – persoonlijk instellingenmenu */
.profile-settings-card{border-color:#cfe3eb;background:linear-gradient(145deg,#fff 0%,#f7fbfd 100%)}
.profile-settings-icon{font-size:1.6rem}
.profile-settings-intro{margin-top:-2px;color:#5f737c}
.profile-settings-menu{display:grid;gap:8px;margin-top:14px}
.profile-setting-row{width:100%;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:9px;text-align:left;border:1px solid #d6e5ea;border-radius:13px;background:#fff;padding:11px 12px;color:#073d50;font:inherit;cursor:pointer}
.profile-setting-row>span:first-child{font-size:1.35rem;text-align:center}.profile-setting-row strong,.profile-setting-row small{display:block}.profile-setting-row small{margin-top:2px;color:#687b84;line-height:1.3}.profile-setting-row>b{font-size:1.5rem;color:#0a6685}
.passkey-priority-card.passkey-active-compact{padding:7px 8px;background:transparent;border:0;margin:6px 0 10px}.passkey-priority-card.passkey-active-compact>strong{display:none}.passkey-priority-card.passkey-active-compact .passkey-login-primary{padding:10px 13px;font-size:.95rem}.passkey-priority-card.passkey-active-compact .passkey-login-hint{font-size:.76rem;margin-top:4px}


/* v185 – beveiliging compact zodra ingesteld */
.profile-security-detail{display:none}
.profile-security-detail.profile-security-open{display:block}
.passkey-security-card.passkey-is-active .passkey-security-actions,
.passkey-security-card.passkey-is-active .passkey-device-list,
.passkey-security-card.passkey-is-active .passkey-privacy-note{display:none}
.passkey-security-card.passkey-is-active #passkeySecurityText{margin-bottom:0}
.profile-setting-row .setting-status{justify-self:end;border-radius:999px;padding:4px 8px;background:#e8f7ee;color:#17713d;font-size:.72rem;font-weight:900}

/* v186 – taalkeuze alleen bij login/registratie en Mijn profiel */
.profile-language-dialog{border:0;border-radius:24px;padding:0;max-width:520px;width:calc(100% - 28px);box-shadow:0 24px 70px rgba(5,51,72,.25);color:#073b54}.profile-language-dialog::backdrop{background:rgba(4,31,44,.46);backdrop-filter:blur(3px)}.profile-language-dialog form{padding:24px}.profile-language-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.profile-language-head h2{margin:3px 0 4px}.profile-language-head p{margin:0;color:#607c89}.dialog-close{border:0;background:#eef5f7;border-radius:50%;width:42px;height:42px;font-size:28px;line-height:1;color:#164f67}.profile-language-flags{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.profile-language-flags button{display:flex;align-items:center;gap:12px;border:2px solid #d8e7ec;border-radius:16px;background:#fff;padding:14px;font:inherit;font-weight:800;color:#0b4058;text-align:left}.profile-language-flags button:first-child:last-child{grid-column:1/-1}.profile-language-flags button.active{border-color:#0783bd;background:#edf8fd;box-shadow:0 0 0 3px rgba(7,131,189,.09)}.profile-language-flags button{font-size:26px}.profile-language-flags button span{font-size:15px}@media(max-width:420px){.profile-language-flags{grid-template-columns:1fr}}

/* v206 – mobiele dialogen kunnen omlaag worden weggeveegd */
@media (max-width: 820px){
  dialog[data-swipe-close="true"]{transition:transform .18s ease,opacity .18s ease;will-change:transform;touch-action:pan-y}
  dialog[data-swipe-close="true"]::before{content:"";display:block;position:sticky;top:7px;z-index:20;width:42px;height:5px;margin:7px auto 2px;border-radius:99px;background:rgba(90,110,120,.32);pointer-events:none}
  dialog[data-swipe-close="true"].swipe-dragging{transition:none}
}

/* v206 – helderder, hoger contrast en duidelijkere interactieve elementen */
:root{
  --ink:#082f43;
  --muted:#4d6570;
  --dark:#063a54;
  --blue:#006f9f;
}
body{background:#f2f6f8;color:var(--ink)}
.card,.tile,.profile-settings-card,.admin-damage-card,.gmp-load,.tile-rights-box{background:#fff;border-color:#bdced6;box-shadow:0 2px 10px rgba(5,45,64,.07)}
h1,h2,h3,h4,strong,label{color:#073b54}
p,small,.muted,.hint,.profile-settings-intro,.profile-setting-row small{color:#4d6570}
button,.primary,.btn-primary{font-weight:800}
.primary,.btn-primary,.passkey-login-primary{background:#006f9f;color:#fff;border-color:#006f9f;box-shadow:0 2px 7px rgba(0,84,122,.18)}
.secondary,.btn-secondary{background:#fff;color:#075071;border:2px solid #8eb2c1}
input,select,textarea,.field select,.language-card select{background:#fff!important;color:#082f43!important;border-color:#9fb8c3!important}
input::placeholder,textarea::placeholder{color:#667d87;opacity:1}
input:focus,select:focus,textarea:focus,.field select:focus,.language-card select:focus{border-color:#007eb4!important;outline:3px solid rgba(0,126,180,.20)!important}
.profile-setting-row,.tile-right-row,.weighbridge-choice,.gmp-checks label{border-color:#bfd0d8;background:#fff}
.profile-setting-row>b,.admin-backtop,a{color:#006f9f}
.registration-security-note,.passkey-priority-card{background:#eef9fd;border-color:#9ccddd;color:#064b68}
.dialog-close{background:#e4eef2;color:#083e56}
@media (prefers-contrast: more){
  body{background:#fff}.card,.tile,.profile-settings-card{border-width:2px;box-shadow:none}
  p,small,.muted,.hint{color:#334d58}
}

/* v206 FleurenFly geselecteerde kaartplek + inklapbare adressen */
.ff-selected-place{margin-top:12px;padding:16px;border:2px solid #f58220;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(13,82,140,.10)}
.ff-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ff-selected-head h3{margin:3px 0 8px;color:#083f62;font-size:1.35rem}
.ff-selected-close{border:0;background:#eef5f8;color:#083f62;width:38px;height:38px;border-radius:50%;font-size:28px;line-height:1;flex:0 0 auto}
.ff-selected-place p{margin:7px 0}.ff-selected-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ff-selected-actions a,.ff-selected-actions button{flex:1 1 180px;text-align:center}
.ff-address-book{padding:0!important;overflow:hidden}.ff-address-summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#083f62}.ff-address-summary::-webkit-details-marker{display:none}.ff-address-summary strong{display:block;font-size:1.45rem}.ff-address-book-body{padding:0 20px 20px}.ff-address-book[open] .ff-address-summary>span:last-child{font-size:0}.ff-address-book[open] .ff-address-summary>span:last-child:after{content:"Sluit lijst ▴";font-size:1rem}
.ff-map-popup{min-width:190px;max-width:250px;padding:3px 1px}.ff-map-popup strong{font-size:15px;color:#083f62}.ff-map-popup a{display:inline-block;margin-top:7px;font-weight:800;color:#0d528c}

/* v234 — echte desktop/kantoorweergave */
.desktop-sidebar,.layout-switcher{display:none}
@media (min-width:1100px){
  html:not([data-layout="mobile"]) body{padding-left:270px;background:#f3f7f8}
  html:not([data-layout="mobile"]) .desktop-sidebar{display:flex;position:fixed;z-index:50;left:0;top:0;bottom:0;width:270px;background:#073e55;color:#fff;padding:24px 18px;box-sizing:border-box;flex-direction:column;box-shadow:8px 0 24px rgba(0,0,0,.08)}
  .desktop-brand{display:flex;gap:12px;align-items:center;padding:4px 4px 25px;border-bottom:1px solid rgba(255,255,255,.2)}
  .desktop-brand img{width:72px;background:#fff;border-radius:8px;padding:5px}.desktop-brand strong,.desktop-brand small{display:block}.desktop-brand small{opacity:.72;margin-top:3px}
  .desktop-sidebar nav{display:grid;gap:8px;margin-top:22px}.desktop-sidebar nav button{border:0;background:transparent;color:#fff;text-align:left;padding:13px 12px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.desktop-sidebar nav button:hover{background:rgba(255,255,255,.13)}
  .desktop-sidebar-foot{margin-top:auto;font-size:13px}.desktop-sidebar-foot>span{display:block;opacity:.7;margin-bottom:8px}.desktop-sidebar-foot div{display:flex;gap:5px}.desktop-sidebar-foot button{flex:1;padding:7px 3px;border-radius:7px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}
  html:not([data-layout="mobile"]) body>header,html:not([data-layout="mobile"]) .portal-top-actions,html:not([data-layout="mobile"]) main,html:not([data-layout="mobile"]) footer{max-width:1500px;margin-left:auto;margin-right:auto;box-sizing:border-box}
  html:not([data-layout="mobile"]) body>header{padding-left:34px;padding-right:34px}
  html:not([data-layout="mobile"]) .portal-top-actions{justify-content:flex-end;padding:12px 34px}
  html:not([data-layout="mobile"]) .layout-switcher{display:flex;margin-right:auto;border:1px solid #b9ced6;border-radius:999px;padding:3px;background:#fff}
  .layout-switcher button{border:0;background:transparent;padding:7px 12px;border-radius:999px;font-weight:700;color:#164b60}
  html:not([data-layout="mobile"]) main{padding:20px 34px 55px}
  html:not([data-layout="mobile"]) .portal-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  html:not([data-layout="mobile"]) .dashboard-updates{grid-template-columns:2fr 1fr;gap:24px}
  html:not([data-layout="mobile"]) .tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  html:not([data-layout="mobile"]) .tile{min-height:150px}
  html:not([data-layout="mobile"]) .card{max-width:none}
}
html[data-layout="desktop"] body{min-width:1100px;padding-left:270px;background:#f3f7f8}
html[data-layout="desktop"] .desktop-sidebar{display:flex}
html[data-layout="mobile"] .desktop-sidebar{display:none!important}

/* v235 — soepel desktop scrollen */
@media (min-width:1100px){
  html:not([data-layout="mobile"]),
  html:not([data-layout="mobile"]) body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    scroll-behavior:auto!important;
  }
  html:not([data-layout="mobile"]) main,
  html:not([data-layout="mobile"]) #viewHub,
  html:not([data-layout="mobile"]) .view,
  html:not([data-layout="mobile"]) .card,
  html:not([data-layout="mobile"]) .dashboard-updates,
  html:not([data-layout="mobile"]) .portal-category-grid,
  html:not([data-layout="mobile"]) .tiles{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
  }
  html:not([data-layout="mobile"]) .desktop-sidebar{
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  html:not([data-layout="mobile"]) body>header{
    position:relative!important;
    top:auto!important;
  }
}
html[data-layout="desktop"],html[data-layout="desktop"] body{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}

/* v236 — desktop volgens nieuw kantoorontwerp */
.desktop-notifications{display:none}
@media (min-width:1100px){
  html:not([data-layout="mobile"]) #viewHub .portal-category-switcher{display:none!important}
  html:not([data-layout="mobile"]) .desktop-sidebar{
    background:linear-gradient(165deg,#073e55 0%,#076d98 54%,#55bde7 100%)!important;
  }
  html:not([data-layout="mobile"]) .desktop-sidebar nav button{
    transition:background .15s ease,transform .15s ease;
  }
  html:not([data-layout="mobile"]) .desktop-sidebar nav button:hover{
    background:rgba(255,255,255,.14);transform:translateX(2px)
  }
  html:not([data-layout="mobile"]) .desktop-notifications{
    display:block;margin-top:24px;padding:14px 12px;border-radius:12px;
    background:rgba(0,48,78,.25);box-shadow:0 10px 22px rgba(0,35,55,.12)
  }
  .desktop-notifications-title{font-size:12px;font-weight:900;letter-spacing:.08em;color:#ff9b5b;display:flex;justify-content:space-between;align-items:center}
  .desktop-notification-total{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:99px;background:#ef6b36;color:#fff;letter-spacing:0}
  .desktop-notification-list{margin-top:8px}
  .desktop-notification-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;cursor:pointer}
  .desktop-notification-item:last-child{border-bottom:0}
  .desktop-notification-item strong{display:block;font-size:13px}.desktop-notification-item small{display:block;opacity:.8;margin-top:2px}
  .desktop-notification-badge{align-self:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#f36d32;display:grid;place-items:center;font-size:12px;font-weight:900}
  .desktop-notification-empty{padding:12px 0;color:rgba(255,255,255,.75);font-size:13px}
}
html[data-layout="desktop"] #viewHub .portal-category-switcher{display:none!important}
html[data-layout="desktop"] .desktop-sidebar{background:linear-gradient(165deg,#073e55 0%,#076d98 54%,#55bde7 100%)!important}
html[data-layout="desktop"] .desktop-notifications{display:block}

/* v239 — smoelenboek en bedrijfschat */
.people-chat-tile{background:linear-gradient(145deg,#fff 0%,#edf9fc 100%)}
.people-photo-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}
.people-directory-tools{display:flex;gap:12px;align-items:center;margin:18px 0}
.people-directory-tools input{flex:1;min-width:0}
.people-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px}
.people-card{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:15px;border:1px solid #d8e7ea;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(2,66,88,.06)}
.people-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#087da4,#60c4df);color:#fff;font-size:24px;font-weight:900}
.people-avatar img{width:100%;height:100%;object-fit:cover}
.people-card-copy{min-width:0}.people-card-copy strong,.people-card-copy small,.people-card-copy span{display:block}
.people-card-copy strong{font-size:17px;color:#083d50}.people-card-copy small{margin-top:3px;color:#42616c}.people-card-copy>span{margin:4px 0 10px;color:#087b9f;font-size:12px;font-weight:800}
.people-mail{display:inline-flex!important;width:max-content;text-decoration:none;padding:7px 10px!important;font-size:13px}.people-no-email{color:#71858b!important;font-size:12px!important}
.company-chat-channels{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}
.company-chat-channels button{flex:0 0 auto;border:1px solid #bad3da;background:#f5fafb;color:#164b5d;border-radius:99px;padding:9px 13px;font-weight:800}
.company-chat-channels button.active{background:#087ea5;color:#fff;border-color:#087ea5}
.company-chat-messages{min-height:260px;max-height:520px;overflow-y:auto;background:#eef5f6;border:1px solid #d4e3e6;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.company-chat-message{max-width:min(82%,620px);align-self:flex-start;background:#fff;border-radius:4px 16px 16px 16px;padding:11px 13px;box-shadow:0 3px 10px rgba(0,55,73,.07)}
.company-chat-message.own{align-self:flex-end;background:#d9f4fb;border-radius:16px 4px 16px 16px}
.company-chat-message>div{display:flex;gap:10px;align-items:baseline}.company-chat-message strong{font-size:13px;color:#075a75}.company-chat-message time{font-size:10px;color:#6c858c}
.company-chat-message p{white-space:normal;overflow-wrap:anywhere;margin:5px 0 0;line-height:1.45}.company-chat-message button{border:0;background:transparent;color:#a13b2b;padding:6px 0 0;font-size:11px;text-decoration:underline}
.company-chat-compose{margin-top:14px}.company-chat-compose label{display:block;font-weight:900;margin-bottom:6px}.company-chat-compose textarea{width:100%;resize:vertical;min-height:82px}
.company-chat-compose>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.company-chat-compose small{color:#667d84}
@media(max-width:600px){.people-directory{grid-template-columns:1fr}.people-directory-card .section-title,.company-chat-card .section-title{align-items:flex-start;gap:10px}.people-photo-button{font-size:12px}.company-chat-message{max-width:90%}}

/* v240 — centrale mededelingen */
.top-messages-btn{position:relative}.top-messages-btn .notification-number{position:absolute;right:-5px;top:-7px}
.global-announcement-alert{width:min(1120px,calc(100% - 28px));margin:12px auto 0;border:0;border-radius:15px;padding:13px 15px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,#075f80,#0996bd);color:#fff;box-shadow:0 10px 26px rgba(3,69,91,.22)}
.global-announcement-alert>span:first-child{font-size:25px}.global-announcement-alert strong,.global-announcement-alert small{display:block}.global-announcement-alert small{margin-top:3px;opacity:.9}.global-announcement-alert>b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:99px;background:#f36e35}
.global-announcement-alert.important{background:linear-gradient(135deg,#a64220,#ed6d32)}
.announcements-tile{position:relative;background:linear-gradient(145deg,#fff,#fff7ee)}.tile-notification{position:absolute;right:12px;top:12px}
.announcement-composer textarea{width:100%;resize:vertical}.announcement-group-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:12px 0 16px}.announcement-group-choices label{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid #d1e1e5;border-radius:11px;background:#f7fbfc}.announcement-group-choices input{width:19px;height:19px}
.announcement-compose-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.announcement-compose-actions small{color:#60767d;max-width:560px}
#announcementsList{display:grid;gap:13px}.announcement-card{border:1px solid #d6e3e6;border-left:6px solid #79aebc;border-radius:14px;padding:15px;background:#fff}.announcement-card.unread{border-left-color:#f07839;background:#fffaf5;box-shadow:0 6px 18px rgba(126,67,22,.08)}.announcement-card.important{border-left-color:#d84a27}
.announcement-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.announcement-card-head>span{font-size:24px}.announcement-card-head strong,.announcement-card-head small{display:block}.announcement-card-head small{margin-top:3px;color:#637b82}.announcement-card>p{line-height:1.5;margin:12px 0;overflow-wrap:anywhere}.announcement-audience{display:block;color:#17677f;font-weight:800}.announcement-new-label,.announcement-read-label{border-radius:99px;padding:5px 9px;font-size:11px}.announcement-new-label{background:#f36e35;color:#fff}.announcement-read-label{background:#e4eeee;color:#44646e}
.announcement-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.whatsapp-share-announcement{border:0;border-radius:10px;background:#1f9d55;color:#fff;padding:10px 13px;font-weight:900}.announcement-read-count{display:block;margin-top:9px;color:#6e8187}.announcement-welcome-dialog .card{max-width:470px;margin:0}.announcement-welcome-dialog button{width:100%;margin-top:9px}
@media(max-width:650px){.portal-top-actions{flex-wrap:wrap}.top-messages-btn{order:1}.global-announcement-alert{width:calc(100% - 20px);margin-top:8px}.announcement-card-head{grid-template-columns:auto 1fr}.announcement-card-head>b{grid-column:2;width:max-content}.announcement-actions>*{width:100%}.announcement-group-choices{grid-template-columns:1fr}}
/* v244 - oud-medewerkers */
.former-employees{margin-top:18px;border:1px solid #d5e4eb;border-radius:14px;background:#f8fbfc;overflow:hidden}.former-employees>summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#073e55;display:flex;gap:8px;align-items:center}.former-employees>summary span{margin-left:auto;background:#e5f1f6;border-radius:999px;padding:2px 9px}.former-employees-list{padding:0 14px 14px}.former-employee-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;background:#fff;border:1px solid #dce8ed;border-radius:12px;margin-top:8px}.former-employee-card small{display:block;color:#6c7c84;margin-top:3px}.ghost-danger{background:#fff!important;color:#a43a2a!important;border:1px solid #dba79e!important}@media(max-width:760px){.former-employee-card{align-items:flex-start;flex-direction:column}.former-employee-card .employee-admin-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}}

/* v245 - personeelsbeheer duidelijk vindbaar */
.employee-management-hint{margin:10px 0 16px;padding:11px 13px;border:1px solid #cfe3ec;border-left:4px solid #0878a8;border-radius:11px;background:#f3fafd;color:#17313e;font-size:13px}.employee-manage-box{margin-top:12px;border:1px solid #d5e4eb;border-radius:12px;background:#f8fbfc;overflow:hidden}.employee-manage-box>summary{cursor:pointer;padding:11px 13px;font-weight:850;color:#073e55;list-style:none}.employee-manage-box>summary::-webkit-details-marker{display:none}.employee-manage-box>summary:after{content:"▾";float:right;color:#6c7c84}.employee-manage-box[open]>summary:after{content:"▴"}.employee-manage-content{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-top:1px solid #dce8ed;background:#fff}.employee-manage-content small{display:block;margin-top:3px;color:#6c7c84}.employee-manage-content .danger{flex:0 0 auto}@media(max-width:650px){.employee-manage-content{align-items:stretch;flex-direction:column}.employee-manage-content .danger{width:100%}}


/* v246 — app-first schil */
.module-disabled{display:none!important}
.mobile-app-nav{display:none}
.module-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 22px}.module-setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dce7ef;border-radius:16px;background:#fff}.module-setting-row span{display:grid}.module-setting-row small{color:#71808b;font-size:.72rem}.module-setting-row input{width:22px;height:22px}.admin-settings-divider{border:0;border-top:1px solid #e2e9ee;margin:24px 0}
@media(max-width:760px){
 body{background:#f4f7f9;padding-bottom:92px}header{padding:calc(12px + env(safe-area-inset-top)) 16px 10px;min-height:auto}header img{max-height:42px}header h1{font-size:1.15rem}header p{font-size:.78rem;margin-top:2px}.portal-header-version{font-size:.66rem}
 .portal-top-actions{padding:6px 12px 10px;gap:7px;overflow-x:auto;scrollbar-width:none}.portal-top-actions .layout-switcher,.portal-top-actions #portalRefreshBtn,.portal-top-actions #portalLogoutBtn{display:none}.top-action-btn{border-radius:14px;padding:9px 12px}
 main{padding:10px 12px 28px}.welcome{border:0;border-radius:22px;padding:18px;background:linear-gradient(145deg,#075071,#087eaa);color:#fff;box-shadow:0 10px 28px rgba(7,80,113,.18)}.welcome .eyebrow,.welcome p{color:rgba(255,255,255,.8)}.welcome h2{font-size:1.55rem;margin:.15rem 0}
 .portal-category-switcher{display:none!important}.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{min-height:126px;border:0;border-radius:20px;padding:16px 14px;box-shadow:0 3px 16px rgba(22,48,65,.07);background:#fff;align-content:start}.tile .icon{font-size:1.65rem}.tile strong{font-size:.94rem;line-height:1.2}.tile small{font-size:.75rem;line-height:1.3;color:#6c7a84}
 .card{border:0;border-radius:20px;box-shadow:0 3px 16px rgba(22,48,65,.06)}.dashboard-updates{gap:10px}.dashboard-column{border-radius:20px}.section-title h2{font-size:1.15rem}
 .mobile-app-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid rgba(215,226,233,.9);border-radius:22px;padding:7px 6px;box-shadow:0 10px 35px rgba(16,43,59,.18)}.mobile-app-nav button{appearance:none;border:0;background:transparent;display:grid;place-items:center;gap:2px;min-height:52px;color:#667680;border-radius:15px;font:inherit}.mobile-app-nav button span{font-size:1.18rem;line-height:1}.mobile-app-nav button small{font-size:.66rem;font-weight:700}.mobile-app-nav button.active{color:#075071;background:#eaf4f8}.portal-footer{padding-bottom:12px}.module-settings-grid{grid-template-columns:1fr}
}

/* v247 — vaste native-app onderbalk */
@media(max-width:760px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 .mobile-app-nav{
  left:0;right:0;bottom:0;width:100%;box-sizing:border-box;
  min-height:calc(70px + env(safe-area-inset-bottom));
  padding:6px 4px calc(5px + env(safe-area-inset-bottom));
  border:0;border-top:1px solid #dbe5ea;border-radius:0;
  background:rgba(255,255,255,.98);box-shadow:0 -5px 22px rgba(16,43,59,.10);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
 }
 .mobile-app-nav button{min-width:0;min-height:58px;padding:4px 2px 3px;border-radius:13px;gap:3px;touch-action:manipulation}
 .mobile-app-nav button span{font-size:1.72rem;line-height:1;height:30px;display:grid;place-items:center;font-weight:800}
 .mobile-app-nav button small{font-size:.69rem;line-height:1.05;font-weight:800;white-space:nowrap}
 .mobile-app-nav button.active{background:#eaf4f8;color:#075071}
 .portal-footer{padding-bottom:18px}
}


/* v250 – urenstaat- en kaartlinktegels */
.hours-portal-tile{text-decoration:none}
.map-converter-card{max-width:780px;margin:0 auto}
.map-converter-intro{color:var(--muted);line-height:1.5}
.map-converter-card textarea{box-sizing:border-box;width:100%;min-height:112px;resize:vertical}
.map-converter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.map-converter-actions>*{flex:1 1 170px;box-sizing:border-box;text-align:center}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.map-converter-result{margin-top:18px;padding:16px;border:1px solid #b9dce8;border-radius:16px;background:#f3fbfd}
.map-converter-result>a:not(.button-link){display:block;margin-top:6px;color:#075d7a;font-weight:800;overflow-wrap:anywhere}
@media(max-width:560px){.map-converter-actions{display:grid;grid-template-columns:1fr}.map-converter-actions>*{width:100%}}
