/* VHMAudit centraal stylesheet - alle modules */

/* ===== shared-base.css ===== */
:root{
  --dark:var(--vhm-color-text,#303332);
  --orange:var(--vhm-color-primary,#e96f00);
  --orange2:var(--vhm-color-primary-hover,#c65a00);
  --bg:var(--vhm-color-bg,#ece9e5);
  --paper:var(--vhm-color-surface,#fff);
  --soft:var(--vhm-color-primary-soft,#fff7ed);
  --line:rgba(0,0,0,.1);
  --muted:var(--vhm-color-muted,#666);
  --danger:var(--vhm-color-danger,#a8382f);
  --success:var(--vhm-color-success,#2f7a45);

  /* samengevoegd uit de losse :root-blokken die verderop in het bestand stonden (v7, centrale beheerlaag, v16) */
  --plan-grid:#202020;
  --plan-separator:#2e2e2e;
  --plan-cell:#fffef4;

  --portal-orange: var(--orange); /* alias - zelfde kleur als --orange, 1 bron */
  --portal-blue: var(--vhm-color-info,#1976d2);
  --portal-border: #d8d8d8;
  --portal-text: #292929;
  /* Legacy aliases tijdens de migratie: Planning heeft geen eigen kleurconfiguratie
     meer en gebruikt exact dezelfde centrale statustokens als de UI Styleguide. */
  --plan-concept-bg:var(--vhm-status-warning-bg);
  --plan-concept-rand:var(--vhm-status-warning-border);
  --plan-concept-tekst:var(--vhm-status-warning-fg);
  --plan-definitief-bg:var(--vhm-status-success-bg);
  --plan-definitief-rand:var(--vhm-status-success-border);
  --plan-definitief-tekst:var(--vhm-status-success-fg);
  --plan-intern-bg:var(--vhm-status-neutral-bg);
  --plan-intern-rand:var(--vhm-status-neutral-border);
  --plan-intern-tekst:var(--vhm-status-neutral-fg);
  --plan-conflict-bg:var(--vhm-status-danger-bg);
  --plan-conflict-rand:var(--vhm-status-danger-border);
  --plan-conflict-tekst:var(--vhm-status-danger-fg);
  --ui-control-height:28px;--ui-filter-height:25px;--ui-radius:6px;--ui-border:var(--vhm-color-border-strong,#c8cdd1);--ui-focus:var(--orange);--ui-filter-bg:#f4f6f7;}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* v1535: planning niet langer verbergen tijdens scrollherstel; vermijdt wit scherm. */
body{
  margin:0;
  background:var(--bg);
  color:var(--dark);
  font-family:var(--vhm-font-family,Arial,sans-serif);
  line-height:1.5;
}

header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:24px max(24px,calc((100% - 1080px)/2));
  background:linear-gradient(135deg,#fff,#fff4e6);
  border-bottom:1px solid var(--line);
}
header b{font-size:22px}
header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header a{color:var(--dark);font-weight:800;text-decoration:none}
header a:hover{color:var(--orange)}

main{
  width:min(920px,calc(100% - 24px));
  margin:24px auto;
  padding:28px 34px 36px;
  background:var(--paper);
  border-radius:24px;
  box-shadow:0 20px 60px rgba(0,0,0,.13);
}
h1{margin:var(--vhm-h1-margin,0 0 16px);font-size:var(--vhm-h1-size,28px);line-height:var(--vhm-h1-line,1.12)}
h2{margin:var(--vhm-h2-margin,0 0 12px);font-size:var(--vhm-h2-size,19px);line-height:var(--vhm-h2-line,1.2)}
h3{margin:var(--vhm-h3-margin,0 0 8px);font-size:var(--vhm-h3-size,15px);line-height:var(--vhm-h3-line,1.25)}
p{margin:0 0 14px}
a{color:var(--orange2)}
small,.muted,.block{color:var(--muted)}
.block{display:block;margin-top:3px}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}
.card{margin:0 0 18px;}
.login{display:grid;min-height:100vh;place-items:center;padding:18px}
.login main{margin:0}

label{display:block;margin:0 0 16px;font-weight:800}
input,select,textarea{
  width:100%;
  margin-top:7px;
  padding:8px 10px;
  border:1px solid #cfcfcf;
  border-radius:var(--vhm-control-radius,6px);
  background:#fff;
  color:var(--dark);
  font:inherit;
}
textarea{min-height:105px;resize:vertical}
input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(233,111,0,.12);
}
textarea[readonly],input:disabled,select:disabled{background:#f4f4f4;color:#555}
.inlineform{display:flex;align-items:center;gap:8px;margin:0}
.inlineform input{min-width:220px;margin:0}

button,.button{
  display:inline-block;
  padding:8px 12px;
  border:0;
  border-radius:var(--vhm-button-radius,9px);
  background:var(--orange);
  color:#fff;
  font:var(--vhm-button-font-weight,700) var(--vhm-button-font-size,11px) var(--vhm-font-family,Arial,sans-serif);
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(233,111,0,.18);
}
button:hover,.button:hover{background:var(--orange2);color:#fff}
.secondary{background:var(--dark);box-shadow:none}
.secondary:hover{background:#171918}
.danger{background:var(--danger);box-shadow:none}
.small{padding:8px 12px;white-space:nowrap}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 8px}

.row-actions{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle}
.row-actions .inlineform{display:inline-flex;margin:0}
.icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  border-radius:999px;
  box-shadow:none;
}

.error{
  margin:0 0 18px;
  padding:13px 15px;
  border-radius:12px;
  font-weight:700;
}
.error{background:#fff0f0;border:1px solid #e4b6b6;color:#8f1717}


table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
th{font-weight:900;white-space:nowrap}
table select,table input{min-width:130px;margin:0}
table form{margin:0}

.list>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.list>div:first-child{border-top:0;padding-top:0}
.list small{display:block;margin-top:3px}

.question{background:#fff}
.question h2{font-size:20px}
.richtscore-naam-badge{
  display:inline-block;
  font-size:14px;
  font-weight:800;
  color:var(--danger);
  background:#fff0ea;
  border:1px solid #f0cda8;
  padding:3px 11px;
  border-radius:999px;
  vertical-align:middle;
  margin-left:10px;
}
.scores-wrap{position:relative;margin:16px 0 20px}
.scores-wrap .scores{margin:0}
.richtscore-lijn{
  position:absolute;
  top:-6px;
  bottom:-6px;
  width:3px;
  background:var(--danger);
  border-radius:2px;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:2;
}
.scores{
  display:grid;
  grid-template-columns:repeat(9,minmax(42px,1fr));
  gap:8px;
}
.scores label{margin:0}
.scores input{position:absolute;opacity:0;pointer-events:none}
.scores span{
  display:grid;
  min-height:48px;
  place-items:center;
  padding:8px;
  border:2px solid #dedede;
  border-radius:12px;
  background:#f7f7f7;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  position:relative;
}
.richtscore-caption{font-size:13px;color:var(--muted);margin:10px 0 0}
.scores input:checked+span{
  border-color:var(--dark);
  background:var(--orange);
  color:#fff;
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--dark);
}
.scores input:disabled+span{cursor:default;opacity:.62}
.scores input:disabled:checked+span{opacity:1}

@media(max-width:700px){
  header{align-items:flex-start;padding:20px 17px}
  header nav{justify-content:flex-end;gap:10px}
  main{width:100%;margin:0;padding:22px 17px 30px;border-radius:0;box-shadow:none}
  .grid{grid-template-columns:1fr}
  .list>div{align-items:stretch;flex-direction:column}
  .list .button{width:100%}
  .scores{grid-template-columns:repeat(5,1fr);gap:6px}
  .scores span{min-height:46px;padding:5px;font-size:17px}
  .richtscore-lijn{display:none}
  .inlineform{align-items:stretch;flex-direction:column}
  .inlineform input{min-width:0}
  table select,table input{min-width:165px}
}

.admin-page main{
  width:90vw;
  max-width:1500px;
  padding:20px 24px 26px;
}
.admin-page h1{font-size:clamp(25px,2.4vw,34px);margin-bottom:16px}
.admin-page h2{font-size:19px;margin-bottom:12px}
.admin-page .card{margin-bottom:14px}
.admin-page label{margin-bottom:10px;font-size:13px}
.admin-page input,
.admin-page select{
  min-height:36px;
  padding:6px 8px;
  font-size:13px;
  border-radius:9px;
}
.admin-page button{padding:7px 11px;font-size:12px}
.admin-page .tablewrap{overflow-x:auto}
.admin-page table{table-layout:auto;font-size:12px}
.admin-page th,
.admin-page td{padding:6px 7px;line-height:1.25}
.admin-page th{font-size:12px}
.admin-page td:first-child{white-space:nowrap}
.admin-page td:nth-child(2){font-size:11px;white-space:nowrap}
.admin-page table select{
  width:100%;
  min-width:115px;
  max-width:175px;
  min-height:32px;
  padding:4px 6px;
  font-size:11px;
}
.admin-page table .small{padding:6px 9px;font-size:11px}
.admin-page section.card>p{font-size:12px;margin-bottom:10px}

@media(max-width:1000px){
}
@media(max-width:700px){
  .admin-page main{width:100%;padding:16px 12px 24px}
  .admin-page table{font-size:11px}
}

.admin-page>header{justify-content:flex-start;padding-bottom:16px}
.admin-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:90vw;max-width:1500px;margin:14px auto 0}
.admin-nav a{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border-radius:999px;background:var(--orange);color:#fff;font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 6px 16px rgba(233,111,0,.15)}
.admin-nav a:hover,.admin-nav a.active{background:var(--dark);color:#fff}
.admin-nav a.logout{margin-left:auto;background:#777}
@media(max-width:700px){.admin-nav{width:calc(100% - 24px);margin-top:10px}.admin-nav a{font-size:11px;padding:6px 9px}.admin-nav a.logout{margin-left:0}}

header{
  min-height:92px;
  position:relative;
  padding-left:max(238px,calc((100% - 1080px)/2 + 214px));
}
header::before{
  content:"";
  position:absolute;
  left:max(24px,calc((100% - 1080px)/2));
  top:50%;
  width:180px;
  height:58px;
  transform:translateY(-50%);
  background:url("/planning/images/logo-vhm-audit.png") left center/contain no-repeat;
}
.admin-page>header{
  min-height:92px;
  padding-left:max(238px,calc((100% - 1080px)/2 + 214px));
}
.login main::before{
  content:"";
  display:block;
  width:210px;
  height:72px;
  margin:0 auto 22px;
  background:url("/planning/images/logo-vhm-audit.png") center/contain no-repeat;
}
@media(max-width:700px){
  header,
  .admin-page>header{
    min-height:122px;
    padding:82px 17px 18px;
  }
  header::before{
    left:17px;
    top:18px;
    width:145px;
    height:120px;
    transform:none;
  }
  .login main::before{width:175px;height:60px}
}

.admin-page>header b{display:none}
.admin-page>header{min-height:92px}
.year-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.year-button{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 12px;border-radius:999px;background:var(--orange);color:#fff;text-decoration:none;font-weight:800}
.year-button:hover,.year-button.active{background:var(--dark);color:#fff}

.jaar-gesloten-banner{background:#f2f2f2;border:1px solid #ddd;color:var(--muted)}
tr.jaar-gesloten,tr.jaar-gesloten td{color:#a3a3a3;background:#f8f8f8}
tr.jaar-gesloten a{color:#a3a3a3}
td.td-gesloten{color:#a3a3a3;background:#f8f8f8}
td.td-gesloten select,td.td-gesloten input{background:#f0f0f0;color:#a3a3a3}

.richtscore-small{max-width:80px;min-width:65px}
.gemiddelde-badge{
  display:inline-block;
  font-size:14px;
  font-weight:800;
  padding:3px 11px;
  border-radius:999px;
  vertical-align:middle;
  margin-left:8px;
}
.gemiddelde-badge.eigen{background:#eaf7ed;color:var(--vhm-color-success,#2f7a45);border:1px solid #bfe6c8}
.gemiddelde-badge.buddy{background:#fff2e3;color:var(--orange2);border:1px solid #f3cf9e}

.scorechart{margin:14px 0 6px}
.scorechart-koppen{display:grid;grid-template-columns:340px 1fr;gap:14px;margin-bottom:4px}
.scorechart-koppen-nummers{position:relative;height:18px}
.scorechart-koppen-nummers span{position:absolute;transform:translateX(-50%);font-size:12px;font-weight:800;color:var(--muted)}
.scorechart-row{display:grid;grid-template-columns:340px 1fr;align-items:center;gap:14px;padding:4px 0}
.scorechart-label{font-size:14px;font-weight:800;line-height:1.3}
.scorechart-bars{
  position:relative;
  padding:4px 0;
  background-image:repeating-linear-gradient(to right, var(--line) 0, var(--line) 1px, transparent 1px, transparent calc(100%/9));
  border-radius:8px;
}
.scorechart-bar{
  height:14px;
  margin:3px 0;
  border-radius:6px;
  min-width:3px;
  box-sizing:border-box;
}
.scorechart-bar.eigen{background:#7bd68d}
.scorechart-bar.buddy{background:var(--orange)}
.scorechart-legende{font-size:14px}
.scorechart-legend-dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:middle}
.scorechart-legend-dot.eigen{background:#7bd68d}
.scorechart-legend-dot.buddy{background:var(--orange)}
.scorechart-legend-lijn{display:inline-block;width:11px;height:3px;background:var(--danger);border-radius:2px;margin-right:4px;vertical-align:middle}

.answer{padding:14px 0;border-top:1px solid var(--line);font-size:13px}
.answer h3{font-size:14px}
.answer:first-of-type{border-top:0}
.answer p{margin:4px 0}

@media(max-width:700px){
  .scorechart-koppen,.scorechart-row{grid-template-columns:1fr}
  .scorechart-koppen-nummers{display:none}
  .scorechart .richtscore-lijn{display:none}
}

.success{background:#238636!important;box-shadow:none}.success:hover{background:#1b6b2a!important}
.evaluatie-vergelijking .card{display:grid;grid-template-rows:auto;align-content:start}.evaluatie-vergelijking .answer{min-height:96px;box-sizing:border-box}

.score-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  min-height:28px;
  padding:4px 10px;
  margin-left:7px;
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  vertical-align:middle;
}
.score-pill.own{background:#238636}
.score-pill.buddy{background:var(--orange)}
.final-competency{padding:16px 0;border-top:1px solid var(--line)}
.final-competency:first-of-type{border-top:0;padding-top:4px}
.final-competency h3{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-bottom:12px;font-size:16px}
.final-competency p{margin:8px 0;line-height:1.55}
.admin-final-detail .final-competency p{font-size:13px}

.year-result-button{min-width:82px;font-size:17px;background:#238636;box-shadow:none}
.year-result-button:hover{background:#1b6b2a}

.score-pill.own{background:#eaf7ed;color:var(--vhm-color-success,#2f7a45);border:1px solid #bfe6c8}
.score-pill.buddy{background:#fff2e3;color:var(--orange2);border:1px solid #f3cf9e}

.final-view-page main{
  width:90vw;
  max-width:1500px;
}
.final-view-page .final-summary-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.final-view-page .final-summary-line .richtscore-naam-badge,
.final-view-page .final-summary-line .gemiddelde-badge{
  margin-left:0;
}

.dashboard-evaluation-list{display:grid;gap:10px}
.dashboard-evaluation-row{padding:10px 0;border-top:1px solid var(--line)}
.dashboard-evaluation-row:first-child{border-top:0;padding-top:0}
.dashboard-status-buttons{display:flex;gap:10px;flex-wrap:wrap}
.dashboard-status-button{box-shadow:none}
.buddy-status-display{cursor:default;pointer-events:none}
.dbstatus-rood{background:#c0392b!important;color:#fff!important}
.dbstatus-oranje{background:var(--orange)!important;color:#fff!important}
.dbstatus-groen{background:#238636!important;color:#fff!important}
.dbstatus-paars{background:var(--vhm-color-purple,#8e44ad)!important;color:#fff!important}
.dbstatus-grijs{background:#777!important;color:#fff!important}
.buddy-task-list>div{min-height:54px;border-top:0}
.dashboard-subkop.buddy-chapter-separator{border-top:1px solid var(--line);padding-top:18px}
.eval-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.eval-status-dot-rood{background:#c0392b}
.eval-status-dot-oranje{background:var(--orange)}
.eval-status-dot-groen{background:#238636}
.eval-status-dot-paars{background:var(--vhm-color-purple,#8e44ad)}
.dashboard-subkop{color:var(--orange2);font-size:13px;font-weight:800;margin:18px 0 8px;text-transform:uppercase;letter-spacing:.4px}
.buddy-task-list+.dashboard-subkop{margin-top:22px}

@media(max-width:700px){
  .final-view-page main{width:100%;max-width:none}
  .dashboard-status-buttons{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-status-button,.year-result-button{width:100%}
}

.evaluation-meta{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:2px 0 10px;font-size:14px}
.admin-page .final-summary-line,.final-view-page .final-summary-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.admin-page .final-summary-line .richtscore-naam-badge,.admin-page .final-summary-line .gemiddelde-badge{margin-left:0}
.score-pill.buddy-original{background:#f1f1f1;color:#8b8b8b;border:1px solid #d6d6d6;text-decoration:none}
.score-edit-button{border:1px solid #f3cf9e;cursor:pointer;font-family:inherit}
.score-edit-button:disabled{cursor:not-allowed;opacity:.55}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-backdrop[hidden]{display:none}
.score-modal{position:relative;width:min(420px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.score-modal h2{margin:0 0 8px}.score-modal label{display:block;margin:18px 0 14px;font-weight:800}.score-modal select{width:100%;margin-top:7px}.modal-close{position:absolute;right:13px;top:10px;background:transparent!important;color:#555!important;box-shadow:none!important;font-size:25px!important;padding:4px 8px!important}

.stats-main{max-width:1500px;margin:0 auto}.stats-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}.stats-head h1{margin-bottom:4px}.stats-head form{min-width:180px}.stats-head select{width:100%;margin-top:5px}.stats-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:18px 0}.stats-kpis-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid #e0e5ea;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.stat-card span{color:#5d6770;font-size:.9rem}.stat-card strong{font-size:1.8rem}.stat-card small{color:#67717a}.score-target{border-top:4px solid #ef4444}.score-own{border-top:4px solid #22c55e}.score-buddy{border-top:4px solid #f59e0b}.negative{color:#b42318;font-weight:700}.positive{color:#16794a;font-weight:700}.table-wrap{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{text-align:left;padding:10px;border-bottom:1px solid #e6e9ec;white-space:nowrap}@media(max-width:900px){.stats-kpis{grid-template-columns:repeat(2,1fr)}.stats-kpis-3{grid-template-columns:1fr}.stats-head{align-items:stretch;flex-direction:column}.stats-head form{width:100%}}@media(max-width:560px){.stats-kpis{grid-template-columns:1fr}}

.impersonate-form{display:flex;gap:7px;align-items:center;margin-left:auto}.impersonate-form select{width:auto;min-width:210px;padding:8px 10px}.impersonate-form button{padding:8px 12px;white-space:nowrap}.impersonation-banner{max-width:1400px;margin:14px auto 0;padding:12px 18px;background:#fff3cd;border:1px solid #e4c75b;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:15px}.impersonation-banner .button{margin:0;white-space:nowrap}@media(max-width:800px){.impersonate-form{width:100%;order:10}.impersonate-form select{min-width:0;flex:1}.impersonation-banner{margin:10px 12px 0;align-items:stretch;flex-direction:column}}

.admin-nav .impersonate-form{display:inline-flex;align-items:center;margin-left:auto;margin-right:8px;flex:0 1 230px;min-width:150px;}
.admin-nav .impersonate-form select{width:100%;max-width:230px;min-width:0;}
.admin-nav .logout{flex:0 0 auto;white-space:nowrap;}
@media (max-width:900px){.admin-nav .impersonate-form{margin-left:0;flex:1 1 190px;}.admin-nav .impersonate-form select{max-width:none;}}

.admin-nav{width:calc(100% - 24px);max-width:1500px;flex-wrap:nowrap;gap:6px;}
.admin-nav .impersonate-form{margin-left:auto;margin-right:0;flex:0 1 190px;min-width:150px;}
.admin-nav .impersonate-form select{width:100%;max-width:190px;padding:7px 8px;}
.admin-nav .logout{margin-left:0!important;}
@media (max-width:1100px) and (min-width:721px){
  .admin-nav{gap:4px;}
  .admin-nav a{font-size:10.5px;padding:6px 8px;min-height:32px;}
  .admin-nav .impersonate-form{flex-basis:170px;min-width:145px;}
  .admin-nav .impersonate-form select{max-width:170px;font-size:11px;padding:6px 7px;}
}
@media (max-width:720px){
  .admin-nav{flex-wrap:wrap;}
  .admin-nav .impersonate-form{order:10;margin-left:0;flex:1 1 190px;}
  .admin-nav .impersonate-form select{max-width:none;}
}

.admin-page>header{
  min-height:76px;
  padding:10px 20px;
}
.admin-page>header::before{
  left:20px;
  width:170px;
  height:54px;
}
.admin-nav{
  width:calc(100% - 40px);
  max-width:none;
  margin:14px 20px 0;
  flex-wrap:nowrap;
  gap:8px;
}
.admin-nav-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.admin-nav-right .impersonate-form{
  margin:0;
  flex:none;
  min-width:0;
}
.admin-nav-right .impersonate-form select{
  width:205px;
  max-width:205px;
  margin:0;
  min-height:34px;
}
.admin-nav-right .logout{
  margin:0!important;
}
.stats-main{
  margin:24px auto;
}


@media (max-width:1050px) and (min-width:721px){
  .admin-nav{gap:5px;}
  .admin-nav a{font-size:9px;padding:6px 7px;}
  .admin-nav-right{gap:5px;}
  .admin-nav-right .impersonate-form select{width:165px;max-width:165px;font-size:10.5px;}
}
@media(max-width:720px){
  .admin-page>header{min-height:82px;padding:10px 14px;}
  .admin-page>header::before{left:14px;top:12px;width:145px;height:50px;transform:none;}
  .admin-nav{width:calc(100% - 24px);margin:10px 12px 0;flex-wrap:wrap;}
  .admin-nav-right{width:100%;margin-left:0;}
  .admin-nav-right .impersonate-form{flex:1 1 auto;}
  .admin-nav-right .impersonate-form select{width:100%;max-width:none;}
  
}


.employee-sortbar{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:end;
  margin:10px 0 14px;
}
.employee-sortbar label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:13px;
  font-weight:600;
}
.employee-sortbar select{
  min-width:170px;
}

.eval-autosave-state{min-height:18px;margin:0 0 5px;font-size:12px;font-weight:700;color:#23823b}
.eval-autosave-state.error{color:#b5332d}
button.icon-btn,button.icon-btn.success,button.icon-btn.secondary,button.icon-btn.danger,button.icon-btn:hover,button.icon-btn:focus,button.icon-btn:active{appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
button.icon-btn img.action-png{display:block!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;object-fit:contain!important;margin:0!important;padding:0!important;pointer-events:none}

.year-date-fields{display:flex;gap:6px;align-items:center}
.year-date-fields input[type="date"]{min-width:135px}
.mail-round-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.mail-round-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mail-round-badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#fff4df;border:1px solid #f0c58b;font-size:12px;font-weight:700}
.mail-round-badge.live{background:#e8f7ec;border-color:#a9d8b5}

.mailtpl-help{font-size:12px;background:#f7f7f7;border:1px solid #e3e3e3;padding:9px 11px;border-radius:9px}

.mailtpl-block{border:1px solid #dedede;border-radius:12px;padding:14px;background:#fff}
.mailtpl-block h3{margin-top:0}.mailtpl-block label{display:block;font-weight:700;margin-top:10px}
.mailtpl-block input,.mailtpl-block textarea{width:100%;margin-top:5px;box-sizing:border-box}.mailtpl-text{resize:vertical;min-height:150px}
.mailtpl-state{min-height:18px;margin-top:5px;font-size:12px;color:#23823b}.mailtpl-state.error{color:#b5332d}
.mail-round-modal{max-width:680px}.mail-round-modal input[type="date"]{width:100%;box-sizing:border-box;margin-top:6px}
.mail-preview{margin:12px 0 18px;padding:14px;border:1px solid #ddd;border-radius:10px;background:#fafafa;line-height:1.45}
.mail-preview p{margin-top:0}.mail-round-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.mail-round-modal-actions form{margin:0}




/* ===== planning.css ===== */

/* Planning v4 — basisstijl komt uit de evaluatietool. */
html,body{height:100%}
body.planning-page{overflow:hidden}
.planning-page header{
  position:relative;
  z-index:40;
}
.planning-page header nav{
  display:flex;
  gap:10px;
}
.planning-page header nav a{
  color:inherit;
  text-decoration:none;
}
.planning-main{
  max-width:none !important;
  width:100%;
  height:calc(100vh - 64px);
  margin:0 !important;
  padding:14px 16px 16px !important;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.planning-shell{
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  overflow:auto;
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.year-grid{
  --employee-width:190px;
  --weekday-col-width:0px;
  --week-width:235px;
  display:grid;
  grid-template-columns:var(--employee-width) var(--weekday-col-width) repeat(var(--week-count),var(--week-width));
  width:max-content;
  min-width:100%;
  align-items:stretch;
}
.sticky-left{
  position:sticky;
  left:0;
  z-index:20;
}
.weekday-col-head,.weekday-col{
  left:var(--employee-width);
}
.sticky-top{
  position:sticky;
  top:0;
  z-index:25;
}
.corner-cell{
  display:flex;
  align-items:center;
  padding:12px 14px;
  min-height:74px;
  background:#f6f6f6;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  z-index:35;
}
.week-head{
  min-height:74px;
  background:#fafafa;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  padding:8px 9px 6px;
}
.week-title{font-weight:700;font-size:13px}
.week-range{font-size:11px;color:#777;margin-top:1px}
.employee-cell{
  min-height:158px;
  padding:12px 14px;
  background:#fafafa;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  display:flex;
  align-items:flex-start;
}
.week-cell{
  min-height:158px;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  background:#fff;
}
.day-row{
  min-height:31px;
  display:grid;
  grid-template-columns:28px 1fr;
  border-bottom:1px solid #eee;
}
.day-row:last-child{border-bottom:0}
.day-items{
  min-width:0;
  padding:3px 4px;
  position:relative;
}
.plan-cell.dragover .day-items{background:#fff7ef}
.plan-item{
  display:flex;
  align-items:center;
  gap:5px;
  position:relative;
  cursor:grab;
  user-select:none;
}
.plan-item.dragging{opacity:.45}
.plan-item-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.plan-item small{font-size:9px;color:#777;white-space:nowrap}
.delete-item{
  position:absolute;
  right:2px;
  top:1px;
  width:19px;
  height:19px;
  padding:0;
  border:0;
  background:transparent;
  color:#777;
  font-size:15px;
  line-height:18px;
}
.delete-item:hover{color:#b22;background:transparent}
.add-item{
  width:20px;
  height:20px;
  min-width:20px;
  padding:0;
  border:1px dashed #bbb;
  background:#fff;
  color:#888;
  border-radius:50%;
  font-size:14px;
  line-height:16px;
  display:none;
}
.day-row:hover .add-item{display:inline-block}
.empty-row{
  grid-column:1 / -1;
  padding:25px;
}
.modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.35);
  z-index:100;
}
.modal[hidden]{display:none}
.modal-box{
  position:relative;
  width:min(480px,calc(100vw - 30px));
  background:#fff;
  border-radius:12px;
  padding:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.modal-box h2{margin-top:0}
.modal-box label{display:block;margin:12px 0;font-weight:700}
.modal-box label[hidden]{display:none!important}
.modal-box input,.modal-box select{width:100%}
.modal-inline-fields{display:flex;gap:10px;margin:12px 0}
.modal-inline-fields .modal-inline-field{flex:1;min-width:0;margin:0}
.modal-inline-fields select{font-size:13px}
.modal-multi-add{margin-top:6px;padding-top:6px;border-top:1px solid #eee}
.modal-multi-add[hidden]{display:none!important}
.modal-week-boxes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #ddd}
.modal-week-box{font-weight:700}
.modal-extra-date-boxes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.modal-extra-date-box{
  flex:0 0 auto;
  padding:6px 10px;
  border:1px solid #d4d4d4;
  border-radius:8px;
  background:#fff;
  color:#333;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  transition:background .1s,border-color .1s,color .1s;
}
.modal-extra-date-box:hover{border-color:var(--vhm-color-info,#1976d2)}
.modal-extra-date-box.selected{
  background:var(--portal-blue,var(--vhm-color-info,#1976d2));
  border-color:var(--portal-blue,var(--vhm-color-info,#1976d2));
  color:#fff;
}
.modal-collega-suggesties{margin:6px 0 10px;padding:8px 10px;border:1px dashed var(--portal-orange,#e07b1a);border-radius:8px;background:#fff8f0}
.modal-collega-suggesties[hidden]{display:none!important}
.modal-collega-suggesties-label{display:block;margin-bottom:6px;font-size:11px;font-weight:700;color:#8a5a12}
.modal-collega-suggesties-chips{display:flex;flex-wrap:wrap;gap:6px}
.modal-suggestie-chip{
  flex:0 0 auto;
  padding:5px 10px;
  border:1px solid var(--portal-orange,#e07b1a);
  border-radius:14px;
  background:#fff;
  color:#8a5a12;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  transition:background .1s,border-color .1s,color .1s;
}
.modal-suggestie-chip:hover{background:#fdeee0}
.modal-suggestie-chip.selected{
  background:var(--portal-orange,#e07b1a);
  border-color:var(--portal-orange,#e07b1a);
  color:#fff;
}
.modal-checkbox-label{display:flex!important;align-items:center;gap:7px;font-weight:700}
.modal-checkbox-label input[type=checkbox]{width:16px!important;height:16px!important;flex:0 0 auto}
.modal-close{
  position:absolute;
  right:10px;
  top:8px;
  background:transparent;
  color:#555;
  border:0;
  font-size:24px;
  padding:4px 8px;
}
.current-week{
  box-shadow:inset 0 3px 0 var(--orange);
}
@media(max-width:900px){
  .year-grid{--employee-width:155px;--week-width:215px}
  .planning-main{padding:10px !important}
}


/* v5 beheer + horizontaal scrollen */
.planning-shell{
  overflow-x:scroll !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable;
  overscroll-behavior-x:contain;
}
.planning-shell::-webkit-scrollbar{height:14px;width:12px}
.planning-shell::-webkit-scrollbar-thumb{background:#b8bcc2;border-radius:8px;border:3px solid #f4f4f4}
.planning-shell::-webkit-scrollbar-track{background:#f4f4f4}
.employee-cell{flex-direction:column;gap:4px}
.employee-cell small{display:block;color:#777;font-size:11px;font-weight:400}
.beheer-main{max-width:1400px;margin:0 auto;padding:22px}


.block{display:block;margin-top:3px;color:#777}
.inactive-row{opacity:.55}
.functie-sort-row{display:grid;grid-template-columns:38px 1fr 190px;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-bottom:1px solid #eee;cursor:grab}
.functie-sort-row:last-child{border-bottom:0}
.functie-sort-row.dragging{opacity:.45;background:#fff4e8}
.drag-handle{font-size:20px;color:#999}
@media(max-width:800px){
  .functie-sort-row{grid-template-columns:32px 1fr}
  .functie-sort-row .muted{grid-column:2}
}


/* v6 compact beheer - zelfde basis als evaluatiesysteem */
.compact-main{padding-top:12px !important}
.compact-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.compact-title-row h1{margin:0}
.autosave-state{font-size:12px;color:#25823a;min-height:15px}
.autosave-state.error{color:#b02a2a}

.compact-card{margin-bottom:8px !important}

.compact-table input,.compact-table select{padding:5px 7px !important;min-height:30px}
.compact-table .block{font-size:9px;margin-top:0}
.compact-table input[type="checkbox"]{width:15px;height:15px;min-height:0}
.compact-add{display:grid;grid-template-columns:minmax(240px,520px) 32px;gap:6px;margin-bottom:7px}
.compact-add input{padding:5px 7px;min-height:30px}
.compact-add button{width:32px;height:30px;padding:0;border-radius:6px}
.compact-functions{max-width:760px}
.compact-functions .functie-sort-row{padding:6px 9px;min-height:35px;font-size:13px}
.beheer-table .customer-delete{width:24px;height:24px;padding:0;font-size:15px}
.planning-admin-page .beheer-main{padding:12px 16px}
.planning-admin-page .card h2{margin:0 0 6px}
.planning-admin-page p{margin:4px 0}



/* beheer: normale checkbox, geen reuzenvinkjes */
.planning-admin-page .compact-table input[type="checkbox"],
.planning-admin-page input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  min-height:14px !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  vertical-align:middle;
}

/* planning veel compacter */
.planning-page .planning-shell{
  border:1px solid var(--plan-grid);
  border-radius:0 !important;
}
.planning-page .planning-grid{
  font-size:11px !important;
  line-height:1.05 !important;
}
.planning-page .employee-cell{
  border-radius:0 !important;
}
.planning-page .employee-cell{
  padding:3px 7px !important;
  min-height:25px !important;
  font-size:11px !important;
  border-right:1px solid var(--plan-grid) !important;
  border-bottom:1px solid var(--plan-grid) !important;
}
.planning-page .employee-cell b{font-size:11px !important}
.planning-page .employee-cell small{font-size:9px !important;line-height:1 !important}
.planning-page .planning-item{
  min-height:17px !important;
  height:17px !important;
  padding:1px 4px !important;
  margin:0 !important;
  border-radius:0 !important;
  font-size:9px !important;
  line-height:15px !important;
  box-shadow:none !important;
  border:0 !important;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-functions .functie-sort-row{
  grid-template-columns:30px minmax(180px,1fr) 46px 150px !important;
}
.functie-color{
  appearance:none;
  -webkit-appearance:none;
  width:32px !important;
  height:22px !important;
  padding:0 !important;
  border:1px solid #aaa !important;
  border-radius:3px !important;
  background:none !important;
  cursor:pointer;
}
.functie-color::-webkit-color-swatch-wrapper{padding:1px}
.functie-color::-webkit-color-swatch{border:0;border-radius:2px}
.functie-color::-moz-color-swatch{border:0;border-radius:2px}
.functie-color-select{
  width:165px !important;
  min-width:165px !important;
  max-width:165px !important;
  height:29px !important;
  min-height:29px !important;
  padding:4px 28px 4px 28px !important;
  font-size:12px !important;
  background:
    linear-gradient(var(--selected-color),var(--selected-color)) 7px 50% / 13px 13px no-repeat,
    #fff !important;
}
.compact-functions{
  max-width:none !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.back-to-planning{
  color:var(--orange);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.back-to-planning:hover{text-decoration:underline}

.planning-nav a{
  text-decoration:none !important;
  cursor:pointer;
}
.functies-compact-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:13px;
}
.functies-compact-table th,
.functies-compact-table td{
  padding:6px 8px !important;
  border-bottom:1px solid #e7e7e7;
  vertical-align:middle;
  height:36px;
}
.functies-compact-table th{
  text-align:left;
  font-size:12px;
}
.functies-compact-table .drag-col{
  width:34px;
  text-align:center;
}
.functies-compact-table .count-col{
  width:95px;
  text-align:center;
}
.functies-compact-table .color-col{
  width:170px;
}
.functies-compact-table .functie-sort-row{
  display:table-row !important;
  cursor:grab;
}
.functies-compact-table .functie-sort-row.dragging{
  opacity:.45;
  background:#fff4e8;
}
.functie-color-select{
  width:150px !important;
  max-width:150px !important;
  min-width:150px !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 8px !important;
  font-size:12px !important;
  border:1px solid #aaa !important;
  border-radius:5px !important;
  color:#222 !important;
}

/* hard guarantee for planning employee-cell colors */
.planning-page .employee-cell[style]{
  background-clip:padding-box !important;
}

.planning-admin-page .functies-compact-table{
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
  margin:0 !important;
}

.planning-admin-page .functies-compact-table col.drag-column{width:38px}
.planning-admin-page .functies-compact-table col.name-column{width:260px}
.planning-admin-page .functies-compact-table col.count-column{width:105px}
.planning-admin-page .functies-compact-table col.color-column{width:215px}
.planning-admin-page .functies-compact-table col.include-column{width:150px}
.planning-admin-page .functies-compact-table .include-col{text-align:center !important}

.planning-admin-page .functies-compact-table thead tr,
.planning-admin-page .functies-compact-table tbody tr{
  display:table-row !important;
}

.planning-admin-page .functies-compact-table th,
.planning-admin-page .functies-compact-table td{
  display:table-cell !important;
  box-sizing:border-box !important;
  height:38px !important;
  min-height:38px !important;
  padding:5px 8px !important;
  border:0 !important;
  border-bottom:1px solid #e5e5e5 !important;
  vertical-align:middle !important;
  line-height:1.15 !important;
}

.planning-admin-page .functies-compact-table tbody tr:last-child td{
  border-bottom:0 !important;
}

.planning-admin-page .functies-compact-table th{
  background:#f7f7f7 !important;
  font-size:11px !important;
  font-weight:700 !important;
  white-space:nowrap;
}

.planning-admin-page .functies-compact-table .drag-col{
  width:38px !important;
  text-align:center !important;
  padding-left:5px !important;
  padding-right:5px !important;
}

.planning-admin-page .functies-compact-table .functie-name-cell{
  width:260px !important;
  text-align:left !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.planning-admin-page .functies-compact-table .count-col{
  width:105px !important;
  text-align:center !important;
}

.planning-admin-page .functies-compact-table .color-col{
  width:215px !important;
  text-align:left !important;
}

.planning-admin-page .functies-compact-table .drag-handle{
  display:inline-block !important;
  margin:0 !important;
  font-size:16px !important;
  color:#999 !important;
  line-height:1 !important;
}

.planning-admin-page .functies-compact-table .functie-color-select{
  display:block !important;
  box-sizing:border-box !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:3px 7px !important;
  font-size:11px !important;
  line-height:20px !important;
  border:1px solid #aaa !important;
  border-radius:4px !important;
}

@media (max-width:700px){
  .planning-admin-page .functies-compact-table{
    min-width:620px !important;
  }
}


/* v12 - alleen bovenste navigatie gebruiken */
.back-to-planning{display:none !important}
.planning-nav{
  position:relative;
  z-index:1000;
  pointer-events:auto !important;
}
.planning-nav-link{
  position:relative;
  z-index:1001;
  pointer-events:auto !important;
  cursor:pointer !important;
}


/* v13 - Excel-achtige selectie/kopiëren */
.planning-page .plan-cell{
  cursor:cell;
}
.planning-page .plan-cell.cell-selected{
  outline:2px solid var(--orange) !important;
  outline-offset:-2px;
  background:#fff8ef !important;
}
.planning-page .plan-cell.cell-selected .day-items{
  background:rgba(233,111,0,.035);
}
.planning-page.copied-feedback::after{
  content:'Gekopieerd';
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  background:#2d2d2d;
  color:#fff;
  padding:7px 11px;
  border-radius:5px;
  font-size:12px;
}


/* v15 - klantblok direct selecteerbaar */
.planning-page .plan-item.item-selected{
  outline:2px solid var(--orange) !important;
  outline-offset:-1px;
  box-shadow:0 0 0 1px #fff inset !important;
}
.planning-page .plan-item{
  cursor:pointer !important;
}


/* v16 - duidelijke Excel-selectie */
.planning-page .plan-item.item-selected{
  background:#cfe2f3 !important;
  color:#111 !important;
  outline:2px solid #4a78a8 !important;
  outline-offset:-1px !important;
  box-shadow:none !important;
}
.planning-page .plan-cell.cell-selected{
  background:#fff2cc !important;
  outline:2px solid #e0a000 !important;
  outline-offset:-2px !important;
}
.planning-page .plan-cell.cell-selected .day-items{
  background:transparent !important;
}


/* v17 - planningtitel uitsluitend in bovenbalk */
.planning-page .planning-main{
  padding-top:6px !important;
}
.planning-page .page-intro:empty{
  display:none !important;
}


/* v18 - geen plusknoppen; dubbelklik of typen */
.planning-page .add-item{display:none !important}

.customer-search-wrap{position:relative}
.customer-search-results,
.quick-customer-results{
  background:#fff;
  border:1px solid #cfcfcf;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
  max-height:220px;
  overflow:auto;
  z-index:10050;
}
.customer-search-results{
  position:absolute;
  left:0;right:0;top:100%;
}
.customer-search-option{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #eee;
  border-radius:0;
  background:#fff;
  color:#222;
  text-align:left;
  padding:7px 9px;
  font-size:13px;
  font-weight:400;
}
.customer-search-option:hover,
.customer-search-option.active{
  background:#fff2e5;
  color:#111;
}

.quick-customer-picker{
  position:fixed;
  z-index:10040;
  background:#fff;
  border:1px solid #bbb;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  padding:5px;
}
.quick-customer-picker input{
  width:100%;
  height:30px;
  min-height:30px;
  padding:5px 7px;
  margin:0 0 4px;
  border:1px solid #aaa;
  border-radius:3px;
  font-size:13px;
}
.quick-customer-results{
  border:0;
  box-shadow:none;
  max-height:180px;
}


/* v19 - VHM logo + planningtitel links in bovenbalk */
header{
  display:flex !important;
  align-items:center !important;
}
header > b{
  display:none !important;
}
.planning-logo{
  display:block;
  width:auto;
  height:30px;
  max-width:150px;
  object-fit:contain;
}
.planning-nav{
  margin-left:auto !important;
  display:flex;
  align-items:center;
  gap:8px;
}


/* v20 - header zoals VHM/evaluatie: logo echt links, titel er direct naast */
body > header,
.planning-page > header,
.planning-admin-page > header{
  box-sizing:border-box !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:58px !important;
  padding:6px 16px 6px 8px !important;
  gap:0 !important;
}

header > b{display:none !important}

.planning-logo{
  display:block !important;
  height:42px !important;
  width:auto !important;
  max-width:190px !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
}

.planning-nav{
  display:flex !important;
  align-items:center !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
}


/* v21 - echte VHM Audit PNG uit evaluatiesysteem */
body > header,
.planning-page > header,
.planning-admin-page > header{
  padding-left:10px !important;
}
.planning-logo{
  height:38px !important;
  width:auto !important;
  max-width:150px !important;
  object-fit:contain !important;
}
.planning-main{
  padding-top:5px !important;
}

/* v22 - één header/logo, evaluatie-achtige titel */
body > header,
.planning-page > header,
.planning-admin-page > header{
  display:block !important;
  min-height:0 !important;
  padding:10px 18px !important;
}
.planning-logo{
  display:block !important;
  height:52px !important;
  width:auto !important;
  max-width:210px !important;
  object-fit:contain !important;
  margin:0 !important;
}
.planning-nav{margin-left:auto !important}


/* v23 - exact één logo via evaluation-base.css header::before */
.planning-logo{
  display:none !important;
}

body.planning-page > header,
body.planning-admin-page > header{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  min-height:92px !important;
  position:relative !important;
  padding:
    10px
    max(20px,calc((100% - 1080px)/2))
    10px
    max(238px,calc((100% - 1080px)/2 + 214px)) !important;
  background:linear-gradient(135deg,#fff,#fff4e6) !important;
  border-bottom:1px solid var(--line) !important;
}

body.planning-page > header::before,
body.planning-admin-page > header::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:max(24px,calc((100% - 1080px)/2)) !important;
  top:50% !important;
  width:190px !important;
  height:62px !important;
  transform:translateY(-50%) !important;
  background:url("/planning/images/logo-vhm-audit.png") left center/contain no-repeat !important;
}

body.planning-page > header > b,
body.planning-admin-page > header > b{
  display:block !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  margin:0 !important;
  white-space:nowrap !important;
}

body.planning-page > header .planning-nav,
body.planning-admin-page > header .planning-nav{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-left:auto !important;
}

@media(max-width:700px){
  body.planning-page > header,
  body.planning-admin-page > header{
    min-height:122px !important;
    padding:82px 17px 18px !important;
  }
  body.planning-page > header::before,
  body.planning-admin-page > header::before{
    left:17px !important;
    top:18px !important;
    width:145px !important;
    height:120px !important;
    transform:none !important;
  }
  body.planning-page > header > b,
  body.planning-admin-page > header > b{
    font-size:22px !important;
  }
}


/* v24 - 4 uur = halve balk */
.planning-page .plan-item-full{
  width:100% !important;
}
.planning-page .plan-item-half{
  width:50% !important;
  min-width:50% !important;
  max-width:50% !important;
}

/* popup sluitknop altijd zichtbaar/klikbaar */
.modal-box .modal-close{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  width:28px !important;
  height:28px !important;
  padding:0 !important;
  z-index:5 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}


/* v25 - header exact links / midden / rechts */
body.planning-page > header,
body.planning-admin-page > header{
  position:relative !important;
  min-height:88px !important;
  padding:10px 18px !important;
  display:flex !important;
  align-items:center !important;
}

/* logo echt links, klein stukje uit de kant */
body.planning-page > header::before,
body.planning-admin-page > header::before{
  left:16px !important;
  top:50% !important;
  width:205px !important;
  height:66px !important;
  transform:translateY(-50%) !important;
  background:url("/planning/images/logo-vhm-audit.png") left center/contain no-repeat !important;
}

/* titel exact midden van viewport */
body.planning-page > header > b,
body.planning-admin-page > header > b{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  font-size:29px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* acties helemaal rechts */
body.planning-page > header .planning-nav,
body.planning-admin-page > header .planning-nav{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

/* 4-uursblokken naast elkaar */
.planning-page .day-items{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:2px !important;
}
.planning-page .plan-item-full{
  flex:0 0 100% !important;
  width:100% !important;
  max-width:100% !important;
}
.planning-page .plan-item-half{
  flex:0 0 calc(50% - 1px) !important;
  width:calc(50% - 1px) !important;
  min-width:0 !important;
  max-width:calc(50% - 1px) !important;
}


@media(max-width:900px){
  body.planning-page > header > b,
  body.planning-admin-page > header > b{
    font-size:22px !important;
  }
  body.planning-page > header::before,
  body.planning-admin-page > header::before{
    width:155px !important;
  }
}


/* v26 - statusknoppen tussen logo en gecentreerde planningtitel */
body.planning-page > header .planning-nav{
  position:static !important;
  transform:none !important;
  width:100% !important;
  margin:0 !important;
  display:block !important;
}
body.planning-page > header .planning-nav > .planning-nav-link{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
.planning-concept-btn{
  background:#ececec !important;
  color:#222 !important;
  border:1px solid #cfcfcf !important;
}
.planning-concept-btn:not(:disabled):hover{
  background:#ddd !important;
}
.planning-statusbar{
  box-sizing:border-box !important;
  width:100% !important;
  min-height:43px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding:6px 16px !important;
  background:#fff !important;
  border-bottom:1px solid #d8d8d8 !important;
}


/* v29 - Ctrl/Cmd+klik multiselect */
.planning-page .plan-item.item-selected{
  background:#cfe2f3 !important;
  outline:2px solid #4a78a8 !important;
  outline-offset:-1px !important;
}
.planning-logout-link{
  opacity:.75;
  font-size:12px;
}

/* v32 - rechten uit planning_gebruikers */
.planning-readonly .delete-item{display:none !important}
.planning-readonly .plan-item{cursor:default !important}
body.planning-page > header .planning-nav,
body.planning-admin-page > header .planning-nav{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.planning-nav-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.planning-logout-link{
  margin-left:6px !important;
  padding-left:14px !important;
  border-left:1px solid #d6d6d6 !important;
  opacity:.72 !important;
}
.planning-logout-link:hover{
  opacity:1 !important;
}


/* v35 - rechtsboven navigatie: links NIET meer over elkaar */
body.planning-page > header .planning-nav,
body.planning-admin-page > header .planning-nav{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  width:auto !important;
  white-space:nowrap !important;
}

body.planning-page > header .planning-nav > .planning-nav-link,
body.planning-admin-page > header .planning-nav > .planning-nav-link{
  position:static !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:0 !important;
  display:inline-flex !important;
  width:auto !important;
}

body.planning-page > header .planning-nav > .planning-logout-link,
body.planning-admin-page > header .planning-nav > .planning-logout-link{
  position:static !important;
  margin-left:0 !important;
  padding-left:16px !important;
  border-left:1px solid #d6d6d6 !important;
}


/* v36 - kijkrechten = uitsluitend kijken en scrollen */
.planning-readonly .plan-cell{
  cursor:default !important;
  user-select:text !important;
}
.planning-readonly .plan-item{
  cursor:default !important;
}
.planning-readonly .plan-cell.cell-selected,
.planning-readonly .plan-item.item-selected{
  outline:none !important;
  box-shadow:none !important;
}
.planning-readonly .planning-status-btn{
  display:none !important;
}
.planning-readonly .delete-item{
  display:none !important;
}


/* v37 - maandnavigatie, vaste eerste kolom en permanente horizontale scroll */
.planning-monthbar{
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  width:100% !important;
  padding:5px 16px !important;
  background:#fafafa !important;
  border-bottom:1px solid #d8d8d8 !important;
  position:relative !important;
  z-index:45 !important;
}
.month-jump{
  min-width:45px !important;
  height:27px !important;
  padding:4px 8px !important;
  border:1px solid #d4d4d4 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#333 !important;
  font-size:11px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}
.month-jump:hover{
  background:#fff4e8 !important;
  border-color:var(--orange) !important;
}
.month-jump.active{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:#fff !important;
}

/* eerste kolom altijd zichtbaar */
.planning-page .corner-cell.sticky-left,
.planning-page .employee-cell.sticky-left{
  position:sticky !important;
  left:0 !important;
  z-index:32 !important;
  background-clip:padding-box !important;
}
.planning-page .corner-cell.sticky-left{
  z-index:55 !important;
}

/* weekkop boven de cellen, maar onder de vaste hoek */
.planning-page .week-head.sticky-top{
  z-index:42 !important;
}

/* iets extra ruimte onderaan voor de vaste schuifbalk */
.planning-page .planning-main{
  padding-bottom:22px !important;
}

/* permanente horizontale schuifbalk onderin scherm */
.planning-bottom-scroll{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:17px !important;
  overflow-x:scroll !important;
  overflow-y:hidden !important;
  background:#f2f2f2 !important;
  border-top:1px solid #cfcfcf !important;
  z-index:500 !important;
  scrollbar-width:auto !important;
}
.planning-bottom-scroll-inner{
  height:1px !important;
}
.planning-bottom-scroll::-webkit-scrollbar{
  height:16px !important;
}
.planning-bottom-scroll::-webkit-scrollbar-thumb{
  background:#9fa4a8 !important;
  border:3px solid #f2f2f2 !important;
  border-radius:8px !important;
}
.planning-bottom-scroll::-webkit-scrollbar-track{
  background:#f2f2f2 !important;
}

/* scrollbar in rooster zelf blijft ook beschikbaar */
.planning-shell{
  overflow-x:auto !important;
  overscroll-behavior-x:contain !important;
}


/* v38 - maanden op dezelfde regel als Definitief/Concept en exact gecentreerd */
.planning-statusbar{
  position:relative !important;
  min-height:43px !important;
  padding:6px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.planning-statusbar .planning-monthbar{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  z-index:2 !important;
}
.planning-statusbar .month-jump{
  flex:0 0 auto !important;
}


/* v40 - beheer Opties */
.opties-card{
  max-width:980px !important;
}
.optie-add{
  grid-template-columns:1fr 32px !important;
}
.opties-table,
.month-pref-table{
  width:100% !important;
}
.opties-table .delete-col{
  width:34px !important;
  text-align:center !important;
}
.month-pref-table td:first-child{
  width:145px !important;
  white-space:nowrap !important;
}
.month-pref-table select{
  width:180px !important;
  min-width:180px !important;
}
@media(max-width:900px){
}

/* v44 - Verdeling klanten */
.verdeling-card{width:100% !important;max-width:none !important}
.verdeling-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:7px}
.verdeling-toolbar button{padding:6px 10px;font-size:12px}
.verdeling-wrap{width:100%;overflow:auto;border:1px solid #ddd}
.verdeling-table{width:max-content !important;min-width:1450px !important;table-layout:fixed}
.verdeling-table th,.verdeling-table td{padding:3px 4px !important;height:30px !important;white-space:nowrap}
.verdeling-table th:nth-child(1),.verdeling-table td:nth-child(1){width:120px}
.verdeling-table th:nth-child(2),.verdeling-table td:nth-child(2){width:300px}
.verdeling-table th:nth-child(3),.verdeling-table td:nth-child(3){width:145px}
.verdeling-table th:nth-child(4),.verdeling-table td:nth-child(4),
.verdeling-table th:nth-child(5),.verdeling-table td:nth-child(5),
.verdeling-table th:nth-child(6),.verdeling-table td:nth-child(6),
.verdeling-table th:nth-child(7),.verdeling-table td:nth-child(7){width:110px}
.verdeling-table th:nth-child(8),.verdeling-table td:nth-child(8){width:95px}
.verdeling-table th:nth-child(9),.verdeling-table td:nth-child(9){width:48px;text-align:center}
.verdeling-table th:nth-child(10),.verdeling-table td:nth-child(10){width:34px;text-align:center}
.verdeling-table input{width:100% !important;box-sizing:border-box;height:25px !important;padding:4px 5px !important;font-size:11px !important}
.verdeling-table input[type="checkbox"]{width:14px !important;height:14px !important}
.verdeling-table .kv-budget{text-align:right}

/* v45 - dropdowns bij Verdeling klanten */
.verdeling-table select{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  height:25px !important;
  padding:3px 5px !important;
  font-size:11px !important;
}

/* v46 - afgeleid projectjaar */
.verdeling-table th:nth-child(3),.verdeling-table td:nth-child(3){width:55px !important;text-align:center}
.verdeling-table .kv-jaar{font-weight:600;background:#f7f7f7}


/* v47 - compacte projectnummers en budgetopmaak */
.verdeling-table th:nth-child(1),
.verdeling-table td:nth-child(1){
  width:96px !important;
}
.verdeling-table .kv-projectnummer{
  font-family:inherit !important;
  padding-left:3px !important;
  padding-right:3px !important;
}
.verdeling-table .kv-budget{
  text-align:right !important;
}


/* v48 - type kolom + Excel-achtige filters */
.verdeling-table th:nth-child(3),
.verdeling-table td:nth-child(3){width:52px !important;text-align:center}
.verdeling-table th:nth-child(4),
.verdeling-table td:nth-child(4){width:48px !important;text-align:center}
.verdeling-table .kv-type,
.verdeling-table .kv-jaar{
  background:#f7f7f7;
  font-weight:600;
}
.verdeling-table .filter-row th{
  padding:2px 3px !important;
  background:#f2f2f2 !important;
  border-top:1px solid #ddd !important;
}
.verdeling-table .filter-row input,
.verdeling-table .filter-row select{
  width:100% !important;
  height:23px !important;
  min-height:23px !important;
  padding:2px 4px !important;
  font-size:9px !important;
  box-sizing:border-box !important;
}
.verdeling-table th.sortable{
  cursor:pointer !important;
  user-select:none !important;
  position:relative !important;
  padding-right:15px !important;
}
.verdeling-table th.sortable.sort-asc::after{
  content:"▲";
  position:absolute;
  right:4px;
  font-size:8px;
}
.verdeling-table th.sortable.sort-desc::after{
  content:"▼";
  position:absolute;
  right:4px;
  font-size:8px;
}
.filter-clear{
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  border:1px solid #ccc !important;
  background:#fff !important;
  color:#666 !important;
  border-radius:3px !important;
  cursor:pointer !important;
}


/* v49 - veldbreedte volgt inhoud (+2px) */
.verdeling-table tbody input:not([type="checkbox"]),
.verdeling-table tbody select{
  width:auto !important;
  max-width:none !important;
  min-width:28px !important;
}
.verdeling-table td{
  overflow:visible !important;
}


/* v50 - vaste, rustige kolombreedtes Verdeling klanten */
.verdeling-table{
  table-layout:fixed !important;
  width:max-content !important;
  min-width:0 !important;
}

/* 1 Projectnr. */
.verdeling-table th:nth-child(1),
.verdeling-table td:nth-child(1){
  width:108px !important;
  min-width:108px !important;
  max-width:108px !important;
}

/* 2 Projectomschrijving */
.verdeling-table th:nth-child(2),
.verdeling-table td:nth-child(2){
  width:285px !important;
  min-width:285px !important;
  max-width:285px !important;
}

/* 3 Jaar */
.verdeling-table th:nth-child(3),
.verdeling-table td:nth-child(3){
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  text-align:center !important;
}

/* 4 Type */
.verdeling-table th:nth-child(4),
.verdeling-table td:nth-child(4){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}

/* 5 Zoeknaam */
.verdeling-table th:nth-child(5),
.verdeling-table td:nth-child(5){
  width:140px !important;
  min-width:140px !important;
  max-width:140px !important;
}

/* 6 Accountant */
.verdeling-table th:nth-child(6),
.verdeling-table td:nth-child(6){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}

/* 7 Manager */
.verdeling-table th:nth-child(7),
.verdeling-table td:nth-child(7){
  width:95px !important;
  min-width:95px !important;
  max-width:95px !important;
}

/* 8 Controleleider */
.verdeling-table th:nth-child(8),
.verdeling-table td:nth-child(8){
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
}

/* 9 Assistent */
.verdeling-table th:nth-child(9),
.verdeling-table td:nth-child(9){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}

/* 10 Budget */
.verdeling-table th:nth-child(10),
.verdeling-table td:nth-child(10){
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

/* 11 Actief */
.verdeling-table th:nth-child(11),
.verdeling-table td:nth-child(11){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}

/* 12 verwijderen */
.verdeling-table th:nth-child(12),
.verdeling-table td:nth-child(12){
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  text-align:center !important;
}

/* Alle velden vullen hun kolom exact; dus overal gelijk per categorie */
.verdeling-table tbody input:not([type="checkbox"]),
.verdeling-table tbody select,
.verdeling-table .filter-row input,
.verdeling-table .filter-row select{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Projectomschrijving mag visueel wat ruimer lezen */
.verdeling-table .kv-projectomschrijving{
  padding-left:6px !important;
  padding-right:6px !important;
}

/* Projectnummer juist compact */
.verdeling-table .kv-projectnummer{
  padding-left:4px !important;
  padding-right:4px !important;
  font-size:9px !important;
}
.functie-verdeling-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-bottom:12px !important;
}
.functie-verdeling-head h2{
  margin:0 0 3px !important;
  font-size:17px !important;
}
.functie-verdeling-total{
  white-space:nowrap !important;
  padding:7px 10px !important;
  border:1px solid #ddd !important;
  border-radius:5px !important;
  background:#fafafa !important;
  font-size:12px !important;
}
.functie-verdeling-total b{
  margin-left:5px !important;
  font-size:14px !important;
}
.functie-verdeling-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.functie-omzet-panel{
  min-width:0 !important;
  border:1px solid #ddd !important;
  background:#fff !important;
  border-radius:6px !important;
  overflow:hidden !important;
}
.functie-omzet-panel h3{
  margin:0 !important;
  padding:7px 9px !important;
  background:#f6f6f6 !important;
  border-bottom:1px solid #ddd !important;
  font-size:13px !important;
}
.functie-omzet-table{
  width:100% !important;
  border-collapse:collapse !important;
  font-size:11px !important;
}
.functie-omzet-table th,
.functie-omzet-table td{
  padding:5px 7px !important;
  border-bottom:1px solid #ececec !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.functie-omzet-table tbody tr:last-child td{
  border-bottom:0 !important;
}
.functie-omzet-table .num{
  text-align:right !important;
}
.functie-omzet-table tbody tr:hover{
  background:#fff8f0 !important;
}
@media(max-width:1000px){
  .functie-verdeling-grid{
    grid-template-columns:1fr !important;
  }
}


/* v55 - meer ruimte tussen header en beheer */
.planning-admin-page .beheer-main{
  margin-top:16px !important;
}


/* v57 - managerdrempel */
.manager-threshold-setting{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:7px 8px !important;
  margin-bottom:10px !important;
  border:1px solid #ddd !important;
  border-radius:6px !important;
  background:#fafafa !important;
  font-size:11px !important;
}
.manager-threshold-input{
  display:flex !important;
  align-items:center !important;
  gap:3px !important;
}
.manager-threshold-input input{
  width:92px !important;
  box-sizing:border-box !important;
}
.verdeling-table td.manager-required-cell{
  background:#fff2cc !important;
}
.verdeling-table td.manager-required-cell .kv-manager{
  background:#fff2cc !important;
  border-color:#e6c84f !important;
}


/* v58 - subopties binnen Beheer > Opties */
.opties-card{
  max-width:980px !important;
}
.optie-subtabs{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  margin-bottom:10px !important;
  padding-bottom:7px !important;
  border-bottom:1px solid #ddd !important;
}
.optie-subtabs a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:4px 10px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#333 !important;
  text-decoration:none !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.optie-subtabs a.active{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:#fff !important;
}
.optie-subpanel{
  max-width:520px !important;
}
.optie-subpanel h2{
  margin:0 0 8px !important;
  font-size:15px !important;
}
.manager-subpanel{
  max-width:300px !important;
}
.manager-subpanel .manager-threshold-setting{
  display:block !important;
  margin:0 !important;
  padding:8px !important;
}
.manager-threshold-input input{
  width:105px !important;
  text-align:right !important;
}


/* v59 - manager inzet */
.verdeling-table td.manager-required-cell,
.verdeling-table td.manager-required-cell .kv-manager{
  background:#fff2cc !important;
}
.verdeling-table td.manager-manual-cell,
.verdeling-table td.manager-manual-cell .kv-manager{
  background:#f4cccc !important;
}
.verdeling-table .manager-inzet-cell{
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}
.verdeling-table .manager-inzet-cell input[type="checkbox"]{
  width:14px !important;
  height:14px !important;
  margin:0 auto !important;
}

/* Vanaf Manager schuiven de kolomnummers 1 positie op door Inzet */
.verdeling-table th:nth-child(8),
.verdeling-table td:nth-child(8){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}
.verdeling-table th:nth-child(9),
.verdeling-table td:nth-child(9){
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
}
.verdeling-table th:nth-child(10),
.verdeling-table td:nth-child(10){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}
.verdeling-table th:nth-child(11),
.verdeling-table td:nth-child(11){
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}
.verdeling-table th:nth-child(12),
.verdeling-table td:nth-child(12){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}
.verdeling-table th:nth-child(13),
.verdeling-table td:nth-child(13){
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  text-align:center !important;
}

/* v-projecten - Projecten (exacte kopie van Verdeling klanten CSS hierboven, eigen tabelklasse) */
.projecten-table{width:max-content !important;min-width:1450px !important;table-layout:fixed}

.projecten-table th,.projecten-table td{padding:3px 4px !important;height:30px !important;white-space:nowrap}

.projecten-table th:nth-child(1),.projecten-table td:nth-child(1){width:120px}

.projecten-table th:nth-child(2),.projecten-table td:nth-child(2){width:300px}

.projecten-table th:nth-child(3),.projecten-table td:nth-child(3){width:145px}

.projecten-table th:nth-child(4),.projecten-table td:nth-child(4),
.projecten-table th:nth-child(5),.projecten-table td:nth-child(5),
.projecten-table th:nth-child(6),.projecten-table td:nth-child(6),
.projecten-table th:nth-child(7),.projecten-table td:nth-child(7){width:110px}

.projecten-table th:nth-child(8),.projecten-table td:nth-child(8){width:95px}

.projecten-table th:nth-child(9),.projecten-table td:nth-child(9){width:48px;text-align:center}

.projecten-table th:nth-child(10),.projecten-table td:nth-child(10){width:34px;text-align:center}

.projecten-table input{width:100% !important;box-sizing:border-box;height:25px !important;padding:4px 5px !important;font-size:11px !important}

.projecten-table input[type="checkbox"]{width:14px !important;height:14px !important}

.projecten-table .pr-budget{text-align:right}


/* v45 - dropdowns bij Verdeling klanten */
.projecten-table select{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  height:25px !important;
  padding:3px 5px !important;
  font-size:11px !important;
}


/* v46 - afgeleid projectjaar */
.projecten-table th:nth-child(3),.projecten-table td:nth-child(3){width:55px !important;text-align:center}

.projecten-table .pr-jaar{font-weight:600;background:#f7f7f7}



/* v47 - compacte projectnummers en budgetopmaak */
.projecten-table th:nth-child(1),
.projecten-table td:nth-child(1){
  width:96px !important;
}

.projecten-table .pr-projectnummer{
  font-family:inherit !important;
  padding-left:3px !important;
  padding-right:3px !important;
}

.projecten-table .pr-budget{
  text-align:right !important;
}



/* v48 - type kolom + Excel-achtige filters */
.projecten-table th:nth-child(3),
.projecten-table td:nth-child(3){width:52px !important;text-align:center}

.projecten-table th:nth-child(4),
.projecten-table td:nth-child(4){width:48px !important;text-align:center}

.projecten-table .pr-type,
.projecten-table .pr-jaar{
  background:#f7f7f7;
  font-weight:600;
}

.projecten-table .filter-row th{
  padding:2px 3px !important;
  background:#f2f2f2 !important;
  border-top:1px solid #ddd !important;
}

.projecten-table .filter-row input,
.projecten-table .filter-row select{
  width:100% !important;
  height:23px !important;
  min-height:23px !important;
  padding:2px 4px !important;
  font-size:9px !important;
  box-sizing:border-box !important;
}

.projecten-table th.sortable{
  cursor:pointer !important;
  user-select:none !important;
  position:relative !important;
  padding-right:15px !important;
}

.projecten-table th.sortable.sort-asc::after{
  content:"▲";
  position:absolute;
  right:4px;
  font-size:8px;
}

.projecten-table th.sortable.sort-desc::after{
  content:"▼";
  position:absolute;
  right:4px;
  font-size:8px;
}



/* v49 - veldbreedte volgt inhoud (+2px) */
.projecten-table tbody input:not([type="checkbox"]),
.projecten-table tbody select{
  width:auto !important;
  max-width:none !important;
  min-width:28px !important;
}

.projecten-table td{
  overflow:visible !important;
}



/* v50 - vaste, rustige kolombreedtes Verdeling klanten */
.projecten-table{
  table-layout:fixed !important;
  width:max-content !important;
  min-width:0 !important;
}


/* 1 Projectnr. */
.projecten-table th:nth-child(1),
.projecten-table td:nth-child(1){
  width:108px !important;
  min-width:108px !important;
  max-width:108px !important;
}


/* 2 Projectomschrijving */
.projecten-table th:nth-child(2),
.projecten-table td:nth-child(2){
  width:285px !important;
  min-width:285px !important;
  max-width:285px !important;
}


/* 3 Jaar */
.projecten-table th:nth-child(3),
.projecten-table td:nth-child(3){
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  text-align:center !important;
}


/* 4 Type */
.projecten-table th:nth-child(4),
.projecten-table td:nth-child(4){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}


/* 5 Zoeknaam */
.projecten-table th:nth-child(5),
.projecten-table td:nth-child(5){
  width:140px !important;
  min-width:140px !important;
  max-width:140px !important;
}


/* 6 Accountant */
.projecten-table th:nth-child(6),
.projecten-table td:nth-child(6){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}


/* 7 Manager */
.projecten-table th:nth-child(7),
.projecten-table td:nth-child(7){
  width:95px !important;
  min-width:95px !important;
  max-width:95px !important;
}


/* 8 Controleleider */
.projecten-table th:nth-child(8),
.projecten-table td:nth-child(8){
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
}


/* 9 Assistent */
.projecten-table th:nth-child(9),
.projecten-table td:nth-child(9){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}


/* 10 Budget */
.projecten-table th:nth-child(10),
.projecten-table td:nth-child(10){
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}


/* 11 Actief */
.projecten-table th:nth-child(11),
.projecten-table td:nth-child(11){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}


/* 12 verwijderen */
.projecten-table th:nth-child(12),
.projecten-table td:nth-child(12){
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  text-align:center !important;
}


/* Alle velden vullen hun kolom exact; dus overal gelijk per categorie */
.projecten-table tbody input:not([type="checkbox"]),
.projecten-table tbody select,
.projecten-table .filter-row input,
.projecten-table .filter-row select{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* Projectomschrijving mag visueel wat ruimer lezen */
.projecten-table .pr-projectomschrijving{
  padding-left:6px !important;
  padding-right:6px !important;
}


/* Projectnummer juist compact */
.projecten-table .pr-projectnummer{
  padding-left:4px !important;
  padding-right:4px !important;
  font-size:9px !important;
}

.projecten-table td.manager-required-cell{
  background:#fff2cc !important;
}

.projecten-table td.manager-required-cell .pr-manager{
  background:#fff2cc !important;
  border-color:#e6c84f !important;
}



/* v59 - manager inzet */
.projecten-table td.manager-required-cell,
.projecten-table td.manager-required-cell .pr-manager{
  background:#fff2cc !important;
}

.projecten-table td.manager-manual-cell,
.projecten-table td.manager-manual-cell .pr-manager{
  background:#f4cccc !important;
}

.projecten-table .manager-inzet-cell{
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}

.projecten-table .manager-inzet-cell input[type="checkbox"]{
  width:14px !important;
  height:14px !important;
  margin:0 auto !important;
}


/* Vanaf Manager schuiven de kolomnummers 1 positie op door Inzet */
.projecten-table th:nth-child(8),
.projecten-table td:nth-child(8){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}

.projecten-table th:nth-child(9),
.projecten-table td:nth-child(9){
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
}

.projecten-table th:nth-child(10),
.projecten-table td:nth-child(10){
  width:105px !important;
  min-width:105px !important;
  max-width:105px !important;
}

.projecten-table th:nth-child(11),
.projecten-table td:nth-child(11){
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

.projecten-table th:nth-child(12),
.projecten-table td:nth-child(12){
  width:52px !important;
  min-width:52px !important;
  max-width:52px !important;
  text-align:center !important;
}

.projecten-table th:nth-child(13),
.projecten-table td:nth-child(13){
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  text-align:center !important;
}

/* v64 - Dashboards */
.dashboard-card{max-width:none!important}
.dashboard-subtabs{margin-bottom:10px!important}
.dashboard-placeholder{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #ddd;border-radius:4px;background:#f5f5f5;color:#aaa;font-size:11px;font-weight:700}
.dashboard-panel h2{margin:0 0 2px!important;font-size:15px!important}
.dashboard-note{margin-bottom:8px!important}
.dashboard-tablewrap{max-height:calc(100vh - 230px);overflow:auto!important}
.dashboard-planning-table{width:auto!important;min-width:100%!important}
.dashboard-planning-table th,.dashboard-planning-table td{white-space:nowrap!important}
.dashboard-planning-table th:first-child,.dashboard-planning-table td:first-child{min-width:180px!important}
.dashboard-planning-table th:nth-child(2),.dashboard-planning-table td:nth-child(2){min-width:120px!important}
.dashboard-planning-table .num{text-align:right!important;min-width:72px!important}


/* v66 - Functies onder Opties + uurtarieven + dashboard euro's */
.functies-subpanel{
  max-width:760px !important;
}
.functies-compact-table .rate-col{
  width:115px !important;
  text-align:right !important;
}
.functie-rate-input{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:4px !important;
}
.functie-rate-input input{
  width:78px !important;
  height:25px !important;
  box-sizing:border-box !important;
  text-align:right !important;
  font-size:11px !important;
}


/* v67 - dashboard vergelijkingen */
.dashboard-main-tabs,
.dashboard-compare-tabs{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  flex-wrap:wrap !important;
}
.dashboard-main-tabs{
  margin-bottom:8px !important;
}
.dashboard-compare-tabs{
  margin-bottom:12px !important;
  padding-bottom:8px !important;
  border-bottom:1px solid #ddd !important;
}
.dashboard-main-tabs a,
.dashboard-compare-tabs a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:4px 10px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:4px !important;
  background:#fff !important;
  color:#333 !important;
  text-decoration:none !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.dashboard-main-tabs a.active,
.dashboard-compare-tabs a.active{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:#fff !important;
}
.dashboard-comparison-table .num{
  text-align:right !important;
  min-width:105px !important;
}
.dashboard-empty{
  max-width:650px !important;
  padding:18px !important;
  border:1px dashed #ccc !important;
  border-radius:6px !important;
  background:#fafafa !important;
}
.dashboard-empty h2{
  margin:0 0 7px !important;
}
.dashboard-empty p{
  margin:0 !important;
  line-height:1.45 !important;
}


/* v68 - budgetpercentages en fasevergelijking */
.opties-table .budget-pct-col{
  width:95px !important;
  text-align:right !important;
}
.budget-pct-input{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:3px !important;
}
.budget-pct-input input{
  width:62px !important;
  text-align:right !important;
}
.budget-pct-total-row td{
  background:#f7f7f7 !important;
  border-top:2px solid #ddd !important;
}
.budget-pct-ok{
  color:#2d6a35 !important;
  font-weight:700 !important;
}
.budget-pct-bad{
  color:#a61b1b !important;
  font-weight:700 !important;
}
.dashboard-warning{margin:8px 0 10px !important;}
.dashboard-comparison-table thead tr:first-child th{
  text-align:center !important;
}
.dashboard-comparison-table th,
.dashboard-comparison-table td{
  min-width:92px !important;
}
.dashboard-comparison-table th:first-child,
.dashboard-comparison-table td:first-child{
  min-width:165px !important;
}
.dashboard-comparison-table th:nth-child(2),
.dashboard-comparison-table td:nth-child(2){
  min-width:115px !important;
}


/* v72 - compact Planning vs Budget */
.compact-dashboard-wrap{
  max-height:calc(100vh - 225px) !important;
  overflow:auto !important;
}
.dashboard-compact-comparison{
  width:max-content !important;
  min-width:100% !important;
  font-size:9px !important;
}
.dashboard-compact-comparison th,
.dashboard-compact-comparison td{
  padding:3px 5px !important;
  height:34px !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
}
.dashboard-compact-comparison .sticky-dashboard-client{
  position:sticky !important;
  left:0 !important;
  z-index:3 !important;
  min-width:145px !important;
  max-width:145px !important;
  background:#fff !important;
}
.dashboard-compact-comparison thead .sticky-dashboard-client{
  z-index:5 !important;
  background:#f6f6f6 !important;
}
.dashboard-compact-comparison .cl-col{
  min-width:70px !important;
  max-width:85px !important;
}
.dashboard-compact-comparison .phase-col{
  min-width:105px !important;
  max-width:115px !important;
}
.dashboard-compact-comparison .total-col{
  min-width:115px !important;
  max-width:125px !important;
  position:sticky !important;
  right:0 !important;
  z-index:2 !important;
  background:#fafafa !important;
  border-left:2px solid #ddd !important;
}
.dashboard-compact-comparison thead .total-col{
  z-index:5 !important;
  background:#f0f0f0 !important;
}
.dashboard-compact-comparison tbody tr:hover td{
  background:#fff8f0 !important;
}
.dashboard-compact-comparison tbody tr:hover .sticky-dashboard-client,
.dashboard-compact-comparison tbody tr:hover .total-col{
  background:#fff8f0 !important;
}


/* v73 - compacter dashboard + drag sort opties + arceeropties */
.dashboard-compact-comparison{
  font-size:9px !important;
}
.dashboard-compact-comparison th,
.dashboard-compact-comparison td{
  padding:2px 4px !important;
  height:30px !important;
}
.dashboard-compact-comparison .cl-col{
  min-width:52px !important;
  max-width:60px !important;
}
.dashboard-compact-comparison .phase-col{
  min-width:96px !important;
  max-width:104px !important;
}

.opties-table .option-drag-col{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  text-align:center !important;
}
.option-sort-row.dragging{opacity:.5}
.option-sort-row .drag-handle{cursor:grab !important}

.optie-subpanel-row{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.arceer-subpanel{max-width:420px !important}
.arceer-table{width:auto !important}
.arceer-table th,.arceer-table td{padding:5px 8px !important}
.arceer-input-wrap{display:flex;align-items:center;gap:4px}
.arceer-input-wrap input{width:68px !important;text-align:right !important}
.arceer-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;margin-right:6px;vertical-align:middle;border:1px solid #bbb}
.arceer-swatch.arceer_groen{background:#d9ead3}
.arceer-swatch.arceer_geel{background:#fff2cc}
.arceer-swatch.arceer_oranje{background:#fce5cd}
.arceer-swatch.arceer_rood{background:#f4cccc}
/* Zelfde "blokjes"-opmaak als de kleurkeuze bij Voortgang > Dropdownlijsten
   (.progress-dropdown-swatch), zodat beide plekken er identiek uitzien. */

/* v74 - gegroepeerd dashboard */
.dashboard-grouped-comparison{width:max-content!important;min-width:100%!important;font-size:8px!important}
.dashboard-grouped-comparison th,.dashboard-grouped-comparison td{padding:2px 4px!important;height:27px!important;white-space:nowrap!important}
.dashboard-grouped-comparison .sticky-dashboard-client{position:sticky!important;left:0!important;z-index:4!important;min-width:120px!important;background:#fff!important}
.dashboard-grouped-comparison thead .sticky-dashboard-client{background:#f4f4f4!important}
.dashboard-grouped-comparison .cl-col{min-width:45px!important;max-width:52px!important}
.dashboard-grouped-comparison .phase-col{min-width:64px!important;max-width:74px!important}
.dashboard-grouped-comparison .total-col{min-width:70px!important;border-right:2px solid #bbb!important}
.dashboard-grouped-comparison .group-head{text-align:center!important;font-size:9px!important;font-weight:800!important;border-left:2px solid #bbb!important}
.dashboard-grouped-comparison .analysis-cell.ratio-green{background:#d9ead3!important}
.dashboard-grouped-comparison .analysis-cell.ratio-yellow{background:#fff2cc!important}
.dashboard-grouped-comparison .analysis-cell.ratio-orange{background:#fce5cd!important}
.dashboard-grouped-comparison .analysis-cell.ratio-red{background:#f4cccc!important}
.grouped-dashboard-wrap{overflow:auto!important;max-height:calc(100vh - 220px)!important}

/* v75 - verwijderknop opties altijd zichtbaar */
.opties-table .option-delete-col{
  width:38px!important;min-width:38px!important;max-width:38px!important;
  text-align:center!important;overflow:visible!important;
}
.opties-table .visible-delete-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:24px!important;height:24px!important;padding:0!important;margin:0 auto!important;
  border:1px solid #d6d6d6!important;border-radius:4px!important;
  background:#fff!important;color:#a61b1b!important;font-size:17px!important;
  line-height:1!important;font-weight:700!important;cursor:pointer!important;
  visibility:visible!important;opacity:1!important;
}
.opties-table .visible-delete-btn:hover{background:#fbe9e9!important;border-color:#d9a0a0!important}


/* v76 - dashboards vrijwel volledig scherm + compacter */
.dashboard-fullscreen-main{
  width:calc(100vw - 18px) !important;
  max-width:none !important;
  margin-left:9px !important;
  margin-right:9px !important;
  box-sizing:border-box !important;
}
.dashboard-fullscreen-main .dashboard-card{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.dashboard-fullscreen-main .dashboard-panel{
  width:100% !important;
  max-width:none !important;
}
.dashboard-fullscreen-main .grouped-dashboard-wrap{
  width:100% !important;
  max-width:none !important;
  max-height:calc(100vh - 205px) !important;
}

/* nog kleinere dashboardtabel */
.dashboard-grouped-comparison{
  font-size:7.5px !important;
  line-height:1 !important;
}
.dashboard-grouped-comparison th,
.dashboard-grouped-comparison td{
  padding:1px 3px !important;
  height:23px !important;
  line-height:1.05 !important;
}
.dashboard-grouped-comparison tbody td{
  font-size:7.5px !important;
}
.dashboard-grouped-comparison tbody .sticky-dashboard-client{
  font-size:8px !important;
}
.dashboard-grouped-comparison .sticky-dashboard-client{
  min-width:108px !important;
  max-width:120px !important;
}
.dashboard-grouped-comparison .cl-col{
  min-width:36px !important;
  max-width:44px !important;
  width:40px !important;
}
.dashboard-grouped-comparison .phase-col{
  min-width:51px !important;
  max-width:62px !important;
  font-size:7px !important;
  font-weight:700 !important;
}
.dashboard-grouped-comparison .total-col{
  min-width:57px !important;
  max-width:66px !important;
}
.dashboard-grouped-comparison .group-head{
  font-size:11px !important;
  line-height:1.15 !important;
  padding:5px 3px !important;
  letter-spacing:.1px !important;
}
/* Zelfde specificiteitsprobleem als bij de zebra-striping hierboven: de
   algemene ".beheer-main table th"-basisregel verderop in dit bestand
   (font-size 10px) heeft toevallig exact dezelfde specificiteit als deze
   regel en staat later in het bestand, dus won hij de titels van Planning/
   Interim/EJC/Afronding/Overig/Totaal - terwijl Klant/CL wél op 7px bleven
   omdat die via een specifiekere regel liepen. Vandaar ook hier de extra
   ".grouped-dashboard-wrap"-klasse: maakt deze regel ondubbelzinnig
   specifieker, ongeacht bestandsvolgorde. */
.grouped-dashboard-wrap .dashboard-grouped-comparison thead tr:nth-child(2) th{
  font-size:7px !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
}
.dashboard-panel > h2{
  font-size:14px !important;
  margin:0 0 6px !important;
}

/* Opties zonder Actief kolom */
.opties-table{
  width:auto !important;
}
.opties-table .option-delete-col{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
}

/* v78 - Klant en CL gelijk aan fase-subkoppen */
.dashboard-grouped-comparison thead .sticky-dashboard-client,
.dashboard-grouped-comparison thead .cl-col{
  font-size:7px !important;
  font-weight:700 !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
}

/* v79 - Algemeen boven Klant/CL; Klant en CL op fasekopregel */
.dashboard-grouped-comparison .general-head{
  text-align:center !important;
}
.dashboard-grouped-comparison thead tr:nth-child(2) .sticky-dashboard-client,
.dashboard-grouped-comparison thead tr:nth-child(2) .cl-col{
  font-size:7px !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
  height:23px !important;
  vertical-align:middle !important;
}


/* v80 - strakkere dashboardverdeling */
.dashboard-grouped-comparison{
  border-collapse:collapse !important;
}
.dashboard-grouped-comparison th,
.dashboard-grouped-comparison td{
  padding-left:2px !important;
  padding-right:2px !important;
}

/* Klant iets ruimer, CL smal */
.dashboard-grouped-comparison .sticky-dashboard-client{
  min-width:112px !important;
  max-width:124px !important;
  padding-left:6px !important;
}
.dashboard-grouped-comparison .cl-col{
  min-width:34px !important;
  max-width:40px !important;
  width:37px !important;
  padding-left:3px !important;
  padding-right:3px !important;
}

/* scheidingslijn na CL loopt volledig door */
.dashboard-grouped-comparison thead .cl-col,
.dashboard-grouped-comparison tbody .cl-col{
  border-right:2px solid #aaa !important;
}

/* eerste kolom van elk blok wat lucht aan de linkerkant */
.dashboard-grouped-comparison .group-start-cell{
  border-left:2px solid #aaa !important;
  padding-left:6px !important;
}

/* fasekolommen dichter op elkaar */
.dashboard-grouped-comparison .phase-col{
  min-width:46px !important;
  max-width:54px !important;
  width:120px !important;
}
.dashboard-grouped-comparison td.num{
  min-width:46px !important;
}
.dashboard-grouped-comparison .total-col{
  min-width:54px !important;
  max-width:60px !important;
}

/* analyseblok: echte cel-arcering volgens Arceeropties */
.dashboard-grouped-comparison .analysis-cell.ratio-green{
  background:#d9ead3 !important;
  color:#1f4f25 !important;
}
.dashboard-grouped-comparison .analysis-cell.ratio-yellow{
  background:#fff2cc !important;
  color:#725f00 !important;
}
.dashboard-grouped-comparison .analysis-cell.ratio-orange{
  background:#fce5cd !important;
  color:#8f4800 !important;
}
.dashboard-grouped-comparison .analysis-cell.ratio-red{
  background:#f4cccc !important;
  color:#8f1717 !important;
}
.dashboard-grouped-comparison .analysis-cell.ratio-none{
  background:#fff !important;
  color:#333 !important;
}


/* v81 - dashboard header, zebra en filters */
.dashboard-grouped-comparison .general-head{
  border-left:0 !important;
}
.dashboard-grouped-comparison thead .sticky-dashboard-client{
  background:#fff !important;
}
.dashboard-grouped-comparison .dashboard-subhead-row th{
  font-weight:800 !important;
}
/* Deze regels moeten het winnen van de algemene ".beheer-main table td"-
   basisregel verderop in dit bestand (die ALLE tabelcellen standaard wit
   maakt). Die basisregel heeft door zijn ".beheer-main"-tak toevallig
   dezelfde specificiteit als de eerdere versie van deze zebra-regel had,
   waardoor - puur omdat die basisregel verderop in het bestand staat - hij
   de zebra-streping alsnog overschreef op elke kolom behalve de Klant-kolom
   (die kreeg zijn kleur via een aparte, wél specifiekere regel). Vandaar de
   extra ".grouped-dashboard-wrap"-klasse hieronder: die maakt deze regels
   ondubbelzinnig specifieker, ongeacht de volgorde in het bestand. */
.grouped-dashboard-wrap .dashboard-grouped-comparison tbody tr:nth-child(even) td{
  background:#e9ecee !important;
}
.grouped-dashboard-wrap .dashboard-grouped-comparison tbody tr:nth-child(even) .sticky-dashboard-client{
  background:#e9ecee !important;
}
.grouped-dashboard-wrap .dashboard-grouped-comparison tbody tr:nth-child(odd) td{
  background:#fff !important;
}
.grouped-dashboard-wrap .dashboard-grouped-comparison tbody tr:nth-child(odd) .sticky-dashboard-client{
  background:#fff !important;
}

/* Analyse-arcering blijft leidend, maar het zebrapatroon loopt nu wel door
   in de Analyse-kolommen: even rijen krijgen een net iets donkerdere tint
   van dezelfde kleur, zodat je een rij nog steeds over de volle breedte kan
   volgen in plaats van dat de streping bij de Analyse-kolommen ophoudt. */
.dashboard-grouped-comparison tbody tr:nth-child(odd) td.analysis-cell.ratio-green{background:#d9ead3 !important}
.dashboard-grouped-comparison tbody tr:nth-child(odd) td.analysis-cell.ratio-yellow{background:#fff2cc !important}
.dashboard-grouped-comparison tbody tr:nth-child(odd) td.analysis-cell.ratio-orange{background:#fce5cd !important}
.dashboard-grouped-comparison tbody tr:nth-child(odd) td.analysis-cell.ratio-red{background:#f4cccc !important}
.dashboard-grouped-comparison tbody tr:nth-child(odd) td.analysis-cell.ratio-none{background:#fff !important}
.dashboard-grouped-comparison tbody tr:nth-child(even) td.analysis-cell.ratio-green{background:#c7dfbe !important}
.dashboard-grouped-comparison tbody tr:nth-child(even) td.analysis-cell.ratio-yellow{background:#f5e6b3 !important}
.dashboard-grouped-comparison tbody tr:nth-child(even) td.analysis-cell.ratio-orange{background:#f8d7b0 !important}
.dashboard-grouped-comparison tbody tr:nth-child(even) td.analysis-cell.ratio-red{background:#ecbcbc !important}
.dashboard-grouped-comparison tbody tr:nth-child(even) td.analysis-cell.ratio-none{background:#e9ecee !important}

.dashboard-filter-row th{
  padding:1px 2px !important;
  background:#f2f2f2 !important;
  height:22px !important;
}
.dashboard-filter{
  width:100% !important;
  min-width:0 !important;
  height:18px !important;
  padding:1px 2px !important;
  box-sizing:border-box !important;
  font-size:7px !important;
}


/* v82 - dashboard strakker, gelijkmatig verdeeld en compacte filters */
.dashboard-grouped-comparison{
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed !important;
}

/* Klant / CL compact, rest gelijkmatig */
.dashboard-grouped-comparison .sticky-dashboard-client{
  width:145px !important;
  min-width:145px !important;
  max-width:145px !important;
}
.dashboard-grouped-comparison .cl-col{
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
}

/* alle fase- en totaalkolommen dezelfde breedte */
.dashboard-grouped-comparison .phase-col,
.dashboard-grouped-comparison .total-col,
.dashboard-grouped-comparison tbody td.num{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

/* bedragen en koppen centreren */
.dashboard-grouped-comparison th.num,
.dashboard-grouped-comparison td.num{
  text-align:center !important;
}
.dashboard-grouped-comparison .phase-col,
.dashboard-grouped-comparison .total-col{
  text-align:center !important;
}

/* geen extra breedte/padding bij totaal */
.dashboard-grouped-comparison .total-col{
  border-right:2px solid #bbb !important;
  padding-left:2px !important;
  padding-right:2px !important;
}

/* eerste kolom van blok alleen subtiele scheiding */
.dashboard-grouped-comparison .group-start-cell{
  border-left:2px solid #aaa !important;
  padding-left:2px !important;
}

/* compacte filterregel, gelijk aan Verdeling klanten */
.dashboard-filter-row th{
  height:20px !important;
  padding:1px 2px !important;
  background:#f2f2f2 !important;
}
.dashboard-filter{
  width:100% !important;
  height:18px !important;
  min-height:18px !important;
  padding:1px 3px !important;
  border:1px solid #d0d0d0 !important;
  border-radius:3px !important;
  box-sizing:border-box !important;
  font-size:7px !important;
  line-height:1 !important;
}
.dashboard-filter::placeholder{
  font-size:7px !important;
}
/* fasekopregel nog compacter - zelfde specificiteitsfix als hierboven, deze
   regel verloor het anders altijd van de ".beheer-main table th"-basisregel. */
.grouped-dashboard-wrap .dashboard-grouped-comparison .dashboard-subhead-row th{
  height:19px !important;
  padding:1px 2px !important;
  font-size:7px !important;
  text-align:center !important;
}

/* groepskoppen duidelijk maar niet hoog */
.dashboard-grouped-comparison .group-head{
  height:22px !important;
  padding:2px 3px !important;
  font-size:9px !important;
}

/* cellen compacter */
.dashboard-grouped-comparison tbody td{
  height:22px !important;
  padding:1px 2px !important;
  font-size:7.5px !important;
}

/* v83 - klantkolom op inhoud */
.dashboard-grouped-comparison .sticky-dashboard-client{
  width:1% !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:nowrap !important;
  padding-left:6px !important;
  padding-right:8px !important;
}


/* v84 - klantkolom werkelijk op inhoud afgestemd */
.dashboard-grouped-comparison .sticky-dashboard-client{
  width:var(--dashboard-klant-width) !important;
  min-width:var(--dashboard-klant-width) !important;
  max-width:var(--dashboard-klant-width) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding-left:6px !important;
  padding-right:8px !important;
}
.dashboard-grouped-comparison .cl-col{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
}


/* v85 - dashboard vult volledige breedte */
.grouped-dashboard-wrap{
  width:100% !important;
  max-width:none !important;
  overflow:auto !important;
}
.dashboard-grouped-comparison{
  width:100% !important;
  min-width:100% !important;
  max-width:none !important;
  table-layout:fixed !important;
}

/* Algemeen blijft compact; de overige kolommen delen de rest van de breedte */
.dashboard-grouped-comparison .sticky-dashboard-client{
  width:var(--dashboard-klant-width) !important;
  min-width:var(--dashboard-klant-width) !important;
  max-width:var(--dashboard-klant-width) !important;
}
.dashboard-grouped-comparison .cl-col{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
}

/* alle overige kolommen gelijkmatig de resterende ruimte geven */
.dashboard-grouped-comparison .phase-col,
.dashboard-grouped-comparison .total-col,
.dashboard-grouped-comparison tbody td.num{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

/* iets ruimere spreiding zodat rechter witruimte verdwijnt */
.dashboard-grouped-comparison th.num,
.dashboard-grouped-comparison td.num{
  padding-left:4px !important;
  padding-right:4px !important;
}


.dashboard-client-filter-wrap{
  display:flex !important;
  align-items:center !important;
  gap:2px !important;
  width:100% !important;
}
.dashboard-client-filter-wrap .dashboard-filter{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.dashboard-inline-clear{
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  padding:0 !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1 !important;
}

/* volledige breedte nu zonder technische eindkolom */
.dashboard-grouped-comparison{
  width:100% !important;
  min-width:100% !important;
}

/* v88 - kolombreedtes dashboard verfijnd. Klantkolom NIET meer op een vaste
   165px - dat overschreef de content-afgestemde breedte die hierboven (v84/
   v85) al via de --dashboard-klant-width variabele werd berekend (per rij
   op maat, zie $dashboardKlantBreedte in beheer-modules/planning.php: min
   105px, max 190px). Dus weer terug naar die variabele, zodat de kolom echt
   precies zo breed is als de langste klantnaam nodig heeft. */
.dashboard-grouped-comparison .sticky-dashboard-client{
  width:var(--dashboard-klant-width,165px) !important;
  min-width:var(--dashboard-klant-width,165px) !important;
  max-width:var(--dashboard-klant-width,165px) !important;
}
.dashboard-grouped-comparison .cl-col{
  width:100px !important;
  min-width:100px !important;
  max-width:100px !important;
  padding-left:2px !important;
  padding-right:2px !important;
}
.dashboard-grouped-comparison .phase-col,
.dashboard-grouped-comparison .total-col,
.dashboard-grouped-comparison tbody td.num{
  min-width:0 !important;
  max-width:none !important;
}
.dashboard-grouped-comparison th.num,
.dashboard-grouped-comparison td.num{
  padding-left:2px !important;
  padding-right:2px !important;
}

/* v92 - Analyse klant */
.client-analysis-toolbar{display:flex;align-items:center;gap:8px;margin:8px 0}
.client-analysis-toolbar label{font-size:9px;font-weight:700}
.client-analysis-toolbar select{margin-left:5px;min-width:220px;height:26px;font-size:9px}
.client-analysis{width:100%;font-size:8px}
.client-analysis-title,.client-section-title{background:#333;color:#fff;text-align:center;font-weight:800;padding:4px 6px;margin-top:7px}
.client-analysis-title{font-size:11px}
.client-meta{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #ccc}
.client-meta>div{padding:5px 6px;border-right:1px solid #ddd;background:#fafafa}
.client-meta b,.client-meta span{display:block}
.client-meta span{margin-top:2px}
.client-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.client-kpi{border:1px solid #bbb;text-align:center;padding:6px;background:#fafafa;position:relative;overflow:hidden}
.client-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--kpi-pct,0%);background:#cfe3f7;z-index:0;transition:width .3s ease}
.client-kpi.kpi-over::before{background:#f5c6b8}
.client-kpi>*{position:relative;z-index:1}
.client-kpi b{display:block;text-transform:uppercase;font-size:8px}
.client-kpi strong{display:block;font-size:16px;margin:3px 0}
.client-kpi span{font-size:8px}
.client-phase-table{width:100%;border-collapse:collapse;table-layout:fixed}
.client-phase-table th,.client-phase-table td{border:1px solid #bbb;padding:3px;text-align:center}
.client-phase-table th{background:#ed6b21;color:#fff;font-weight:800}
.client-phase-table th:first-child,.client-phase-table td:first-child{text-align:left;width:14%}
.client-phase-table .client-total td{font-weight:800;background:#e7e7e7}
.client-phase-table .client-budget td{font-weight:700}
.client-empty{border:1px solid #ccc;padding:8px;background:#fafafa;color:#666}

/* "Nog geplande uren" optioneel gegroepeerd (Medewerker/Fase/Weeknummer) via
   native <details>/<summary> - elke groep is zelf open/dicht te klappen. */
.client-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#333;color:#fff;margin-top:7px;padding:0 6px}
.client-section-title-row .client-section-title{margin:0;padding:4px 0;background:none}
.client-groep-tabs{font-size:8px;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}
.client-groep-tabs a{color:#fff;opacity:.65;text-decoration:none;padding:2px 5px;border-radius:3px}
.client-groep-tabs a:hover{opacity:1}
.client-groep-tabs a.active{opacity:1;background:#ed6b21;font-weight:800}
.client-toekomst-groep{border:1px solid #ccc;border-top:none;background:#fff}
.client-toekomst-groep summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:12px 1fr 160px;align-items:center;gap:10px;padding:5px 8px;background:#f1f2f3;font-weight:800;font-size:9px}
.client-toekomst-groep summary::-webkit-details-marker{display:none}
.client-toekomst-groep summary::before{content:'▸';font-size:8px}
.client-toekomst-groep[open] summary::before{content:'▾'}
.client-toekomst-groep-naam{text-align:center}
.client-toekomst-groep-totaal{font-weight:700;opacity:.8;text-align:right;white-space:nowrap}
.client-toekomst-totaal-regel{text-align:right;font-weight:800;padding:6px 8px;border:1px solid #ccc;border-top:none;background:#e7e7e7;font-size:9px}

/* v93 - Analyse klant uitgebreid */
.client-future-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:8px;
}
.client-future-table th,
.client-future-table td{
  border:1px solid #bbb;
  padding:3px 5px;
}
.client-future-table th{
  background:#ed6b21;
  color:#fff;
  font-weight:800;
}
.client-future-table .num{text-align:right}
.client-future-table .client-total td{
  background:#e7e7e7;
  font-weight:800;
}
.client-empty-row{
  text-align:center;
  color:#666;
  padding:8px !important;
}
.client-phase-table .client-analysis-row td{
  background:#f7f7f7;
  font-weight:700;
}
.client-phase-table .client-difference td{
  background:#fafafa;
  font-weight:700;
}
.client-phase-table .client-difference td.negative{
  color:#a61b1b;
  background:#f4cccc;
}


/* v94 - uniforme typografie binnen Analyse klant
   Dashboard-/analyseknoppen bewust ongemoeid gelaten. */
.client-analysis{
  font-size:12px !important;
}
.client-analysis table,
.client-analysis table th,
.client-analysis table td,
.client-phase-table,
.client-phase-table th,
.client-phase-table td,
.client-future-table,
.client-future-table th,
.client-future-table td{
  font-size:12px !important;
  line-height:1.2 !important;
}
.client-phase-table th,
.client-phase-table td,
.client-future-table th,
.client-future-table td{
  padding:4px 6px !important;
}
.client-meta,
.client-meta b,
.client-meta span{
  font-size:12px !important;
}
.client-kpi b,
.client-kpi span{
  font-size:12px !important;
}
.client-kpi strong{
  font-size:18px !important;
}
.client-section-title{
  font-size:12px !important;
}
.client-empty,
.client-empty-row{
  font-size:12px !important;
}
.employee-analysis{width:100%}
.employee-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ccc;margin-bottom:8px;font-size:12px}
.employee-meta>div{padding:5px 7px;border-right:1px solid #ddd;background:#fafafa}
.employee-meta b,.employee-meta span{display:block}
.employee-meta span{margin-top:2px}
.employee-analysis-table{width:100%;border-collapse:collapse;font-size:12px}
.employee-analysis-table th,.employee-analysis-table td{border:1px solid #c9c9c9;padding:4px 6px}
.employee-analysis-table th{background:#ed6b21;color:#fff;font-weight:800;text-align:center;white-space:nowrap}
.employee-analysis-table th:first-child,.employee-analysis-table td:first-child{text-align:left;min-width:180px}
.employee-analysis-table td.num{text-align:right;white-space:nowrap}
.employee-analysis-table tbody tr:nth-child(even) td{background:#f3f3f3}
.employee-analysis-table .employee-total-row td{background:#e3e3e3!important;font-weight:800}

/* v96 - selectie direct naast Analyse 4 */
.dashboard-main-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dashboard-inline-select{
  height:28px;min-width:180px;max-width:280px;
  padding:3px 28px 3px 9px;border:1px solid #cfcfcf;border-radius:14px;
  background:#fff;font-size:11px;font-weight:600;color:#222
}


/* v97 - compacte dropdowns naast analyseknoppen */
.dashboard-inline-select{
  height:35px !important;
  min-width:0 !important;
  width:auto !important;
  max-width:260px !important;
  padding:4px 28px 4px 12px !important;
  border:1px solid #d3d3d3 !important;
  border-radius:6px !important;
  background:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:#222 !important;
  line-height:1 !important;
}

/* zwarte titelbalken analyse klant/medewerker vervallen */
.client-analysis-title{
  display:none !important;
}


/* v98 - dropdown exact dezelfde hoogte als analyseknoppen */
.dashboard-inline-select{
  box-sizing:border-box !important;
  height:35px !important;
  min-height:35px !important;
  max-height:35px !important;
  margin:0 !important;
  padding:0 28px 0 10px !important;
  font-size:9px !important;
  line-height:33px !important;
  vertical-align:middle !important;
}

/* v99 - Analyse klant passend zonder horizontale scrollbar */
.client-analysis .tablewrap{width:100%!important;max-width:100%!important;overflow-x:visible!important}
.client-phase-table,.client-future-table{width:100%!important;max-width:100%!important;table-layout:fixed!important}
.client-phase-table th,.client-phase-table td,.client-future-table th,.client-future-table td{min-width:0!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere!important}

/* v99 - Drukanalyse */
.pressure-analysis{width:100%;font-size:11px}
.pressure-period{display:flex;justify-content:center;align-items:center;gap:12px;margin:5px 0 8px;font-size:11px}
.pressure-section-title,.pressure-chart-title{background:#333;color:#fff;text-align:center;font-weight:800;padding:4px 6px}
.pressure-table-wrap{width:100%;overflow-x:auto;margin-bottom:10px}
.pressure-table{width:100%;min-width:1180px;border-collapse:collapse;table-layout:fixed;font-size:9px}
.pressure-table th,.pressure-table td{border:1px solid #c8c8c8;padding:3px 4px;vertical-align:top}
.pressure-table th{background:#ed6b21;color:#fff;text-align:center;font-weight:800}
.pressure-table .pressure-name-col{width:120px}
.pressure-table td:first-child{background:#f4f4f4}
.pressure-date{font-size:9px}
.pressure-clients{line-height:1.2}
.pressure-chart-block{margin:10px 0 16px;border:1px solid #ccc}
.pressure-chart{width:100%;min-height:290px;background:#fff}
.pressure-grid{stroke:#d3d3d3;stroke-width:1}
.pressure-axis,.pressure-x,.pressure-legend{font-size:9px;fill:#444}

/* v100 - beide drukgrafieken naast elkaar onderaan */
.pressure-charts-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  width:100%;
  margin-top:12px;
}
.pressure-charts-row .pressure-chart-block{
  min-width:0;
  margin:0 0 16px;
}
.pressure-charts-row .pressure-chart{
  min-width:0;
}
@media (max-width:900px){
  .pressure-charts-row{grid-template-columns:1fr}
}

/* v102 - dashboardmodule binnen viewport houden */
.dashboard-fullscreen-main{
  width:calc(100% - 20px) !important;
  max-width:calc(100% - 20px) !important;
  margin-left:10px !important;
  margin-right:10px !important;
  box-sizing:border-box !important;
}
.dashboard-fullscreen-main .dashboard-card{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.dashboard-fullscreen-main .dashboard-panel{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.grouped-dashboard-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.dashboard-grouped-comparison{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

/* v103 - Analyse planning: alleen interne verticale scrollbar */
body:has(.dashboard-fullscreen-main){
  overflow-y:hidden !important;
}

.dashboard-fullscreen-main{
  height:calc(100vh - 105px) !important;
  max-height:calc(100vh - 105px) !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.dashboard-fullscreen-main .dashboard-card{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

.dashboard-fullscreen-main .dashboard-panel{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
}

.grouped-dashboard-wrap{
  height:calc(100vh - 205px) !important;
  max-height:calc(100vh - 205px) !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}


/* v104 - interne scrollbar volledig zichtbaar tot onderaan */
.dashboard-fullscreen-main{
  height:calc(100vh - 118px) !important;
  max-height:calc(100vh - 118px) !important;
  padding-bottom:8px !important;
}

.dashboard-fullscreen-main .dashboard-card{
  height:100% !important;
  max-height:100% !important;
  padding-bottom:6px !important;
  box-sizing:border-box !important;
}

.dashboard-fullscreen-main .dashboard-panel{
  min-height:0 !important;
  padding-bottom:4px !important;
  box-sizing:border-box !important;
}

.grouped-dashboard-wrap{
  height:calc(100vh - 228px) !important;
  max-height:calc(100vh - 228px) !important;
  padding-bottom:6px !important;
  box-sizing:border-box !important;
  overflow-y:scroll !important;
  scrollbar-gutter:stable !important;
}


/* v105 - extra ademruimte onder laatste rij Analyse planning */
.grouped-dashboard-wrap{
  height:calc(100vh - 240px) !important;
  max-height:calc(100vh - 240px) !important;
  padding-bottom:18px !important;
  scroll-padding-bottom:18px !important;
  box-sizing:border-box !important;
}

/* echte ruimte ná de tabel, zodat laatste rij niet tegen de onderrand staat */
.grouped-dashboard-wrap::after{
  content:"";
  display:block;
  height:16px;
  min-height:16px;
  width:100%;
}


/* v106 - scrollbar fysiek los van de onderrand */
.dashboard-fullscreen-main .dashboard-panel{
  padding-bottom:22px !important;
  box-sizing:border-box !important;
}

.grouped-dashboard-wrap{
  height:calc(100vh - 258px) !important;
  max-height:calc(100vh - 258px) !important;
  padding-bottom:0 !important;
  margin-bottom:18px !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}

/* eerdere kunstmatige eindruimte niet meer gebruiken */
.grouped-dashboard-wrap::after{
  content:none !important;
  display:none !important;
}


/* v107 - correcte flexhoogte: geen verborgen laatste klanten */
body:has(.dashboard-fullscreen-main){
  overflow:hidden !important;
}

.dashboard-fullscreen-main{
  height:calc(100vh - 112px) !important;
  max-height:calc(100vh - 112px) !important;
  min-height:0 !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
  display:block !important;
}

.dashboard-fullscreen-main .dashboard-card{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

/* knoppenrijen nemen alleen hun eigen hoogte in */
.dashboard-fullscreen-main .dashboard-main-tabs,
.dashboard-fullscreen-main .dashboard-compare-tabs{
  flex:0 0 auto !important;
}

/* panel vult exact de resterende hoogte */
.dashboard-fullscreen-main .dashboard-panel{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

/* alleen dit element scrollt; hoogte komt van flex, niet van calc() */
.dashboard-fullscreen-main .grouped-dashboard-wrap{
  flex:1 1 0 !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-gutter:stable !important;
  box-sizing:border-box !important;
}

/* oude kunstmatige eindruimte definitief uit */
.dashboard-fullscreen-main .grouped-dashboard-wrap::after{
  content:none !important;
  display:none !important;
}


/* =========================================================
   v108 - ROBUUSTE DASHBOARDHOOGTE
   Geen geneste verticale scrollcontainers meer.
   De normale browserpagina verzorgt het verticale scrollen.
   ========================================================= */

html,
body,
body:has(.dashboard-fullscreen-main){
  height:auto !important;
  min-height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Dashboard mag gewoon meegroeien met de inhoud */
.dashboard-fullscreen-main{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  padding-bottom:24px !important;
}

.dashboard-fullscreen-main .dashboard-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
  padding-bottom:18px !important;
}

.dashboard-fullscreen-main .dashboard-panel{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  display:block !important;
  padding-bottom:18px !important;
}

/* Geen interne verticale scrollbar meer */
.dashboard-fullscreen-main .grouped-dashboard-wrap{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  margin-bottom:24px !important;
  padding-bottom:0 !important;
}

/* Ook generieke dashboard wrappers mogen niet knippen */
.dashboard-fullscreen-main .dashboard-tablewrap,
.dashboard-fullscreen-main .tablewrap{
  max-height:none !important;
}

/* Analyse-planning tabel blijft volledig binnen de beschikbare breedte */
.dashboard-grouped-comparison{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

/* Kopregels blijven zichtbaar tijdens normaal pagina-scrollen */
.dashboard-grouped-comparison thead tr:first-child th{
  position:sticky !important;
  top:0 !important;
  z-index:20 !important;
}
.dashboard-grouped-comparison thead tr.dashboard-subhead-row th{
  position:sticky !important;
  top:22px !important;
  z-index:19 !important;
}
.dashboard-grouped-comparison thead tr.dashboard-filter-row th{
  position:sticky !important;
  top:43px !important;
  z-index:18 !important;
}

/* achtergrond expliciet zetten zodat onderliggende regels niet doorschijnen */
.dashboard-grouped-comparison thead tr:first-child th{
  background:#fff !important;
}
.dashboard-grouped-comparison thead tr.dashboard-subhead-row th,
.dashboard-grouped-comparison thead tr.dashboard-filter-row th{
  background:#f4f4f4 !important;
}
.uren-koppeling-panel .compact-title-row{align-items:flex-start;gap:16px}
.uren-koppeling-panel .compact-title-row h2{margin-bottom:4px}
.uren-koppeling-panel .compact-title-row p{margin:0;max-width:760px}
.uren-koppeling-panel .tablewrap{overflow-x:auto}
.uren-koppeling-table{min-width:940px}
.uren-koppeling-table th:nth-child(1),.uren-koppeling-table td:nth-child(1){width:90px}
.uren-koppeling-table th:nth-child(2),.uren-koppeling-table td:nth-child(2){min-width:140px;text-align:left}
.uren-koppeling-table th:nth-child(3),.uren-koppeling-table td:nth-child(3){min-width:240px;text-align:left}
.uren-koppeling-table th:nth-child(4),.uren-koppeling-table td:nth-child(4){min-width:320px;text-align:left}
.uren-koppeling-table th:nth-child(5),.uren-koppeling-table td:nth-child(5){min-width:100px;text-align:right;white-space:nowrap}
.uren-koppeling-table select.hours-category-option{width:300px;max-width:100%;box-sizing:border-box}
.uren-koppeling-table select.hours-category-option optgroup{font-weight:700}
.uren-koppeling-table select.hours-category-option option{font-weight:400}
.uren-koppeling-row-status{display:block;margin-top:3px;color:#18794e;font-size:11px;font-weight:600}
.uren-koppeling-row-status.is-error{color:#b42318}
.client-project-linkage{margin:7px 0 9px;color:#53606c;font-size:13px}
.actual-matrix-table{width:100%;table-layout:fixed;font-size:12px}
.actual-matrix-title{width:100%;box-sizing:border-box;padding:7px 10px;background:#303030;color:#fff;text-align:center;font-size:12px;font-weight:700}
.actual-matrix-table thead th{background:#ed6b23;color:#fff;text-align:center}
.actual-matrix-table tbody tr:nth-child(even){background:#f0f0f0}
.actual-matrix-table tbody tr.client-total{background:#d9d9d9;font-weight:700;border-top:1px solid #333}
.unmatched-customer-summary{display:flex;gap:10px;margin:12px 0}
.unmatched-customer-summary>div{min-width:150px;padding:10px 12px;border:1px solid #d8e0e6;border-radius:6px;background:#f7f9fb}
.unmatched-customer-summary b,.unmatched-customer-summary span{display:block}
.unmatched-customer-summary b{font-size:18px}.unmatched-customer-summary span{color:#66727c;font-size:12px}
.klanten-zonder-zoekcode-table .num{text-align:right}
.unmatched-fullscreen-main{width:calc(100vw - 18px)!important;max-width:none!important;margin-left:9px!important;margin-right:9px!important;box-sizing:border-box!important}
.unmatched-fullscreen-main .opties-card,.unmatched-fullscreen-main .klanten-zonder-zoekcode-panel{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.unmatched-fullscreen-main .tablewrap{width:100%!important;max-width:none!important;overflow-x:auto!important}
.klanten-zonder-zoekcode-table{width:100%!important;table-layout:fixed!important}
.klanten-zonder-zoekcode-table th:nth-child(1){width:26%}.klanten-zonder-zoekcode-table th:nth-child(2){width:16%}
.klanten-zonder-zoekcode-table th:nth-child(3){width:22%}.klanten-zonder-zoekcode-table th:nth-child(4){width:6%}
.klanten-zonder-zoekcode-table th:nth-child(5){width:6%}.klanten-zonder-zoekcode-table th:nth-child(6){width:6%}
.klanten-zonder-zoekcode-table th:nth-child(7){width:7%}.klanten-zonder-zoekcode-table th:nth-child(8){width:8%}
.klanten-zonder-zoekcode-table th:nth-child(9){width:3%}
.klanten-zonder-zoekcode-table td{white-space:normal!important;overflow-wrap:anywhere!important}
.unmatched-customer-tools{margin:4px 0 10px}.unmatched-customer-tools input{width:min(520px,100%)!important;height:34px!important;box-sizing:border-box!important}
.unmatched-customer-delete{width:25px!important;height:25px!important;padding:0!important;color:#a61b1b!important;font-size:18px!important;font-weight:700!important}
.unmatched-zoeknaam-editor{display:flex;align-items:center;gap:4px}.unmatched-zoeknaam-editor input{width:100%!important;min-width:0!important;height:27px!important;box-sizing:border-box!important}
.unmatched-zoeknaam-save{flex:0 0 27px;width:27px!important;height:27px!important;padding:0!important;color:#246b2c!important;font-weight:800!important}
.deviating-project-year{color:#c40000!important;font-weight:800!important}
.current-year-panel p{max-width:720px;color:#59636d}.current-year-select{display:block;margin-top:7px;min-width:140px;height:34px}
.analysis-customer-picker{position:relative;display:inline-block;margin-left:8px;vertical-align:middle;font-size:11px}
.analysis-customer-picker summary{list-style:none;min-width:210px;padding:7px 28px 7px 10px;border:1px solid #aeb7bf;border-radius:4px;background:#fff;cursor:pointer;position:relative}
.analysis-customer-picker summary::-webkit-details-marker{display:none}.analysis-customer-picker summary:after{content:'▾';position:absolute;right:9px;color:#555}
.analysis-customer-picker[open] summary:after{content:'▴'}
.analysis-customer-options{position:absolute;z-index:50;top:calc(100% + 2px);left:0;min-width:100%;max-height:280px;overflow:auto;border:1px solid #aeb7bf;border-radius:4px;background:#fff;box-shadow:0 5px 16px #0002}
.analysis-customer-search-wrap{position:sticky;top:0;z-index:2;padding:6px;background:#fff;border-bottom:1px solid #d8dde2}.analysis-customer-search{display:block;width:100%;min-width:230px;height:30px;padding:5px 8px;border:1px solid #aeb7bf;border-radius:4px;font:inherit;box-sizing:border-box}.analysis-customer-search:focus{outline:2px solid #9fc2df;outline-offset:-1px}
.analysis-customer-options a{display:block;padding:7px 10px;color:#222;text-decoration:none;white-space:nowrap}.analysis-customer-options a:hover,.analysis-customer-options a.selected{background:#eef3f7}
.analysis-customer-options a[hidden]{display:none!important}
.dashboard-main-tabs .analysis-customer-options a{
  display:block!important;min-height:0!important;padding:7px 10px!important;
  border:0!important;border-radius:0!important;background:#fff!important;
  color:#222!important;font-size:11px!important;font-weight:400!important;
}
.dashboard-main-tabs .analysis-customer-options a:hover,
.dashboard-main-tabs .analysis-customer-options a.selected{background:#eef3f7!important;color:#222!important}
.plan-item.plan-item-locked{cursor:not-allowed!important;filter:saturate(.55);opacity:.72}
.plan-item.plan-item-locked:after{content:'🔒';margin-left:3px;font-size:9px}
.verdeling-subtabs{margin-bottom:10px}

/* v123 - één scrollcontainer voor de jaarplanning */
body.planning-page{
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
}
body.planning-page>header,
body.planning-page>.planning-statusbar{flex:0 0 auto!important}
.planning-page .planning-main{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding-bottom:6px!important;
  overflow:hidden!important;
}
.planning-page .planning-shell{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  scrollbar-gutter:auto!important;
}
.planning-page .planning-bottom-scroll{display:none!important}

/* v124 - compacter jaaroverzicht met behoud van leesbare klantblokken */
.planning-page .year-grid{--employee-width:118px!important;--weekday-col-width:20px!important;--week-width:150px!important}
.planning-page .corner-cell,.planning-page .week-head,.planning-page .weekday-col-head{min-height:44px!important;height:44px!important;box-sizing:border-box!important}
.planning-page .corner-cell{padding:6px 8px!important}
.planning-page .week-head{padding:5px 7px!important;text-align:center!important}
.planning-page .week-title{font-size:12px!important;line-height:1.1!important}
.planning-page .week-range{font-size:9px!important;margin-top:3px!important;color:#626b73!important}
/* Elke dagregel heeft een minimale hoogte van 27px (kan groter worden als
   er meerdere blokjes op een dag staan - dat mag gewoon, zie .day-items
   hieronder). Een verborgen regel (Beheer > Rechten dag uit, of
   AFAS-urencode uit) staat op display:none en telt dus voor 0px mee. Zo
   volgt de hoogte van de medewerker-/weekkolom vanzelf, puur uit normale
   block-flow, het aantal daadwerkelijk zichtbare regels - geen handmatige
   berekening nodig. Staat bijv. woensdag uit, dan is de kolom vanzelf 4
   regels hoog in plaats van 5 (of meer/minder als er op de overige dagen
   meerdere blokjes staan). */
.planning-page .week-cell,.planning-page .employee-cell,.planning-page .weekday-col{min-height:40px!important}
.planning-page .day-row{grid-template-columns:minmax(0,1fr)!important;min-height:27px!important}
/* Vaste 2e kolom (naast Medewerker) met de dagletters Ma/Di/Wo/Do/Vr, één
   keer per medewerker in plaats van herhaald in elke week. Toont alleen de
   dagen die voor deze medewerker aan staan (Beheer > Rechten), zodat de
   regels precies uitlijnen met de zichtbare dagregels in de weekkolommen
   ernaast. */
.planning-page .weekday-col-head{background:#f6f6f6!important;border-right:1px solid #ddd!important;border-bottom:1px solid #ddd!important;z-index:32!important}
.planning-page .weekday-col{
  background:#fafafa!important;
  border-right:1px solid #ddd!important;
  border-bottom:2px solid var(--plan-separator)!important;
  box-sizing:border-box!important;
  position:sticky!important;
  z-index:31!important;
}
.planning-page .weekday-col-label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:31px;
  box-sizing:border-box!important;
  font-size:8px;
  font-weight:700;
  line-height:1!important;
  color:#9aa1a6;
  border-bottom:1px solid #eee;
}
.planning-page .weekday-col-label:last-child{border-bottom:0}
.planning-page .day-items{padding:2px 5px!important;min-height:27px!important;box-sizing:border-box!important}
.planning-page .employee-cell{padding:6px 7px!important;gap:3px!important;overflow:hidden!important}
.planning-page .employee-cell b{font-size:11px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.planning-page .employee-cell small{font-size:8px!important;line-height:1.1!important;max-width:100%!important;overflow-wrap:anywhere!important}
@media(max-width:900px){.planning-page .year-grid{--employee-width:105px!important;--week-width:150px!important}}

/* v125 - doorlopende scheiding tussen medewerkers */
.planning-page .employee-cell,
.planning-page .week-cell{
  border-bottom:2px solid var(--plan-separator)!important;
  box-sizing:border-box!important;
}

/* v128 - Voortgang klanten */
.progress-page{height:100vh;overflow:hidden;background:#f4f5f7}
.progress-main{height:calc(100vh - 108px);width:100vw!important;max-width:none!important;margin:0!important;padding:8px 10px 10px!important;box-sizing:border-box}
.progress-card{height:100%;width:100%!important;max-width:none!important;display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #d6d9dc;box-shadow:0 2px 8px #0000000d;box-sizing:border-box}
.progress-page .progress-table-wrap{width:100%!important;max-width:none!important}
.progress-toolbar{display:flex;align-items:center;gap:18px;min-height:54px;padding:7px 10px;border-bottom:1px solid #d6d9dc;box-sizing:border-box}
.progress-toolbar>div:first-child{margin-right:auto}.progress-toolbar h1{margin:0;font-size:16px}.progress-toolbar span{font-size:11px;color:#69737d}
.progress-toolbar label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.progress-toolbar input[type=search]{width:310px;height:30px;padding:4px 8px}
.progress-toolbar select{height:30px;min-width:145px;padding:3px 7px}
.progress-year-tabs{display:flex!important;gap:5px!important;margin:0!important}.progress-year-tabs a{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:30px;padding:0 9px;border:1px solid #cbd0d5;border-radius:4px;background:#fff;color:#30363b;text-decoration:none;font-size:11px;font-weight:800}.progress-year-tabs a.active{border-color:var(--orange);background:var(--orange);color:#fff}
.progress-clear-filters{height:30px;padding:4px 10px;border:1px solid #cbd0d5;border-radius:4px;background:#fff;color:#394149;font-size:11px;font-weight:700}
.progress-table-wrap{flex:1 1 auto;min-height:0;overflow:auto}
.progress-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:9px;color:#202428}
.progress-table th,.progress-table td{height:29px;padding:2px 4px;border-right:1px solid var(--vhm-color-border-strong,#c8cdd1);border-bottom:1px solid #d9dde0;box-sizing:border-box;white-space:nowrap}
.progress-table thead th{position:sticky;z-index:20;text-align:center;font-weight:800}
.progress-group-row th{top:0;height:27px;background:var(--orange);color:#fff;border-bottom:1px solid #b44f00;z-index:40!important}
.progress-header-row th{top:27px;height:48px;max-width:135px;white-space:normal;line-height:1.08;background:#f07828;color:#fff}
.progress-filter-row th{top:75px;height:28px;padding:2px 3px;background:#eef0f2;color:#333;z-index:21}
.progress-header-row .sortable{cursor:pointer;padding-right:13px!important;position:sticky}.progress-header-row .sortable.sort-asc:after{content:'▲';margin-left:4px;font-size:7px}.progress-header-row .sortable.sort-desc:after{content:'▼';margin-left:4px;font-size:7px}
.progress-group-row .progress-group-client-en-opdrachtacceptatie{background:var(--orange)}
.progress-group-row .progress-group-planning{background:#d95d13}.progress-group-row .progress-group-interim{background:var(--orange)}
.progress-group-row .progress-group-ejc{background:#d95d13}.progress-group-row .progress-group-afronding{background:var(--orange)}.progress-group-row .progress-group-controle{background:#d95d13}
.progress-table td:nth-child(1),.progress-header-row th:nth-child(1){min-width:180px;width:180px;max-width:180px}
.progress-table td:nth-child(2),.progress-header-row th:nth-child(2),.progress-table td:nth-child(3),.progress-header-row th:nth-child(3),.progress-table td:nth-child(4),.progress-header-row th:nth-child(4){min-width:82px;width:82px;max-width:82px}
.progress-table td:nth-child(5),.progress-header-row th:nth-child(5){min-width:90px;width:90px;text-align:right}
.progress-table td:nth-child(n+6){min-width:116px}.progress-table td:nth-child(8),.progress-table td:nth-child(9),.progress-table td:nth-child(10){min-width:165px}
.progress-table .progress-sticky-client{position:sticky;left:0;z-index:10;background:#fff!important;overflow:hidden;text-overflow:ellipsis}
.progress-table .progress-header-row th:nth-child(1){position:sticky;left:0;z-index:45!important;background:var(--orange)!important;color:#fff!important}
.progress-table .progress-filter-row th:nth-child(1){position:sticky;left:0;z-index:44!important}
.progress-input{display:block;width:100%;height:24px;min-width:108px;padding:2px 5px;border:1px solid transparent;background:transparent;font:inherit;box-sizing:border-box}
.progress-checkbox{width:15px!important;min-width:15px!important;height:15px!important;margin:0 auto!important}.progress-select{padding-right:18px!important}
.progress-input:hover{border-color:#c6cbd0;background:#fff}.progress-input:focus{border-color:var(--orange);background:#fff;outline:0;box-shadow:0 0 0 1px var(--orange)30}
.progress-input:disabled{color:#333;opacity:1}.progress-budget{font-variant-numeric:tabular-nums}
.progress-page .autosave-state.error{color:#b42318}.progress-page .planning-nav{gap:7px!important}
.progress-row-closed td{color:#69737d}.progress-row-closed .progress-sticky-client{background:#eceff1!important}.progress-sticky-client small{display:block;margin-top:2px;color:#a23b31;font-size:8px;font-weight:800;text-transform:uppercase}

/* v133 - beheerbare voortgangsvelden en dropdownlijsten */
.voortgang-config-panel .compact-title-row p,.voortgang-dropdown-panel .compact-title-row p{margin:3px 0 10px;max-width:900px;color:#66717a}
.progress-config-table{width:100%;table-layout:fixed}.progress-config-table th:nth-child(1){width:34px}.progress-config-table th:nth-child(2){width:25%}.progress-config-table th:nth-child(3){width:22%}.progress-config-table th:nth-child(4){width:18%}.progress-config-table th:nth-child(5){width:25%}.progress-config-table th:nth-child(6){width:36px}
.progress-config-table input,.progress-config-table select{width:100%;box-sizing:border-box}.progress-field-row{cursor:grab}.progress-field-row.dragging{opacity:.45}
.planning-admin-page .progress-config-table .progress-field-row{display:table-row!important}.planning-admin-page .progress-config-table .progress-field-row>td{display:table-cell!important}
.progress-dropdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}.progress-dropdown-card{padding:10px;border:1px solid #d6dadd;border-radius:6px;background:#fafbfc}.progress-dropdown-card>div{display:flex;gap:6px}.progress-dropdown-name{flex:1;font-weight:700}
.progress-dropdown-option-list{display:grid!important;gap:4px!important;margin:8px 0!important}.progress-dropdown-option-row{display:grid!important;grid-template-columns:minmax(120px,1fr) 112px 25px!important;gap:5px!important;align-items:center!important}.progress-dropdown-option-name{width:100%!important;min-width:0!important;height:28px!important;box-sizing:border-box!important}.progress-dropdown-swatches{display:flex!important;gap:3px!important}.progress-dropdown-swatch{position:relative!important;width:20px!important;height:20px!important;padding:0!important;border:1px solid #9fa7ae!important;border-radius:4px!important}.progress-dropdown-swatch.active{outline:2px solid var(--orange)!important;outline-offset:1px!important}.progress-dropdown-swatch.active:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#222;font-size:9px;font-weight:900;text-shadow:0 1px #fff}.progress-dropdown-swatch[data-color="#343a40"].active:after{color:#fff;text-shadow:none}.progress-dropdown-option-remove{width:25px!important;height:25px!important;padding:0!important}.progress-dropdown-option-add{height:28px!important;margin:0!important;padding:3px 8px!important;border:1px solid var(--vhm-color-border-strong,#c8cdd1)!important;border-radius:4px!important;background:#fff!important;color:#333!important}.progress-dropdown-option-add:hover{border-color:var(--orange)!important}

/* v134 - uniforme compacte typografie in alle beheeronderdelen */
.planning-admin-page .beheer-main,
.planning-admin-page .beheer-main *,
.planning-admin-page .beheer-main input,
.planning-admin-page .beheer-main select,
.planning-admin-page .beheer-main textarea,
.planning-admin-page .beheer-main button,
.planning-admin-page .beheer-main label,
.planning-admin-page .beheer-main p,
.planning-admin-page .beheer-main span,
.planning-admin-page .beheer-main a,
.planning-admin-page .beheer-main th,
.planning-admin-page .beheer-main td{font-size:9px!important}
.planning-admin-page .beheer-main h1,
.planning-admin-page .beheer-main h2,
.planning-admin-page .beheer-main h3,
.planning-admin-page .beheer-main .compact-title-row h2,
.planning-admin-page .beheer-main .optie-subpanel h2{font-size:12px!important;line-height:1.2!important}
.planning-admin-page .opties-card{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.planning-admin-page .optie-subtabs{width:100%!important;max-width:none!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;box-sizing:border-box!important}
.planning-admin-page .optie-subtabs a{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap!important;font-size:9px!important;padding:4px 8px!important}
.planning-admin-page .voortgang-config-panel,.planning-admin-page .voortgang-dropdown-panel{width:100%!important;max-width:none!important}

/* v135 - voortgangsbeheer volledig breed en vaste categorie-/dropdownselecties */
.planning-admin-page .voortgang-beheer-fullscreen-main{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.planning-admin-page .voortgang-beheer-fullscreen-main .opties-card,.planning-admin-page .voortgang-beheer-fullscreen-main .optie-subpanel,.planning-admin-page .voortgang-beheer-fullscreen-main .tablewrap{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.planning-admin-page .voortgang-beheer-fullscreen-main .progress-config-table{min-width:900px!important}
.planning-admin-page .progress-field-add{grid-template-columns:minmax(260px,520px) minmax(180px,280px) 32px!important;max-width:850px!important}
.planning-admin-page .progress-field-add select{width:100%!important;min-height:30px!important;box-sizing:border-box!important}

/* v136 - meerkeuzefilters in Voortgang */
.progress-multifilter-button{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;width:100%!important;height:22px!important;min-width:0!important;padding:1px 4px!important;border:1px solid var(--vhm-color-border-strong,#c8cdd1)!important;border-radius:3px!important;background:#fff!important;color:#4b535a!important;font-size:9px!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important}
.progress-multifilter-button span{overflow:hidden;text-overflow:ellipsis}.progress-multifilter-button i{font-style:normal;font-size:8px}.progress-multifilter-button.active{border-color:var(--orange)!important;background:#fff2e8!important;color:#a64000!important}
.progress-multifilter-menu{position:fixed;z-index:1000;max-width:320px;max-height:360px;padding:6px;border:1px solid #bbc1c6;border-radius:5px;background:#fff;box-shadow:0 8px 24px #0003;box-sizing:border-box;font-size:9px}
.progress-multifilter-actions{display:grid;grid-template-columns:auto minmax(110px,1fr);gap:5px;padding-bottom:5px;border-bottom:1px solid #e0e3e5}.progress-multifilter-actions button,.progress-multifilter-actions input{height:25px;padding:2px 6px;box-sizing:border-box;font-size:9px}.progress-multifilter-actions button{border:1px solid var(--vhm-color-border-strong,#c8cdd1);background:#f7f8f9;color:#333;border-radius:3px}.progress-multifilter-actions input{width:100%;border:1px solid var(--vhm-color-border-strong,#c8cdd1);border-radius:3px}
.progress-multifilter-list{max-height:290px;overflow:auto;padding-top:4px}.progress-multifilter-list label{display:flex;align-items:center;gap:6px;min-height:24px;padding:2px 4px;border-radius:3px;cursor:pointer;white-space:normal}.progress-multifilter-list label:hover{background:#fff2e8}.progress-multifilter-list input{flex:0 0 auto;width:14px;height:14px;margin:0}.progress-multifilter-list span{overflow-wrap:anywhere}
.progress-page .progress-table th,.progress-page .progress-table td{max-width:150px!important;overflow:hidden;text-overflow:ellipsis}
.progress-page .progress-table td:nth-child(n),.progress-page .progress-table .progress-header-row th:nth-child(n){min-width:58px;width:auto;max-width:150px}
.progress-page .progress-input{min-width:0!important;max-width:100%!important}

/* v137 - categoriegestuurde compacte voortgangsweergave */
.progress-viewbar{display:flex;align-items:center;gap:5px;min-height:38px;padding:5px 10px;border-bottom:1px solid #d6d9dc;background:#fafbfc;box-sizing:border-box;overflow-x:auto;white-space:nowrap}.progress-viewbar>b{margin-right:3px;font-size:9px}.progress-viewbar button{display:inline-flex;align-items:center;gap:5px;height:27px;padding:3px 8px;border:1px solid var(--vhm-color-border-strong,#c8cdd1);border-radius:4px;background:#fff;color:#394149;font-size:9px;font-weight:700}.progress-viewbar button small{color:#77818a;font-size:8px;font-weight:600}.progress-viewbar button.active{border-color:var(--orange);background:var(--orange);color:#fff}.progress-viewbar button.active small{color:#fff}.progress-viewbar .progress-category-toggle[data-category="Algemeen"]{cursor:default}
.progress-table [hidden]{display:none!important}

/* v138 - Algemeen uitklapbaar, Zoeknaam altijd zichtbaar */
.progress-viewbar button small{display:none!important}
.progress-viewbar .progress-category-toggle[data-category="Algemeen"]{cursor:pointer!important}
.progress-status-control{display:flex;align-items:center;justify-content:center}.progress-status-control .progress-status-value{display:none!important}.progress-status-trigger{display:inline-flex;align-items:center;justify-content:center;gap:2px}.progress-status-trigger i{font-style:normal}.progress-status-trigger .progress-status-icon{display:block!important;width:auto!important;height:auto!important;min-width:0!important}.progress-status-menu{position:fixed;z-index:1002;width:126px;padding:4px;border:1px solid #bbc1c6;border-radius:6px;background:#fff;box-shadow:0 8px 24px #0003}.progress-status-menu button{display:flex;align-items:center;gap:8px;width:100%;height:27px;text-align:left}.progress-status-menu button span{display:flex;width:18px;height:18px}

/* v144 - alle lege voortgangscellen visueel Onderhanden */
.progress-table td[data-progress-field]{position:relative}.progress-empty-default{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%)}.progress-empty-default:disabled{cursor:default;opacity:.8}.progress-table td[data-has-value="1"]>.progress-empty-default,.progress-table td.editing-empty>.progress-empty-default{display:none!important}.progress-table td[data-has-value="0"]>.progress-input,.progress-table td[data-has-value="0"]>.progress-checkbox{opacity:.12}.progress-table td.editing-empty>.progress-input,.progress-table td.editing-empty>.progress-checkbox{opacity:1}

/* v145 - filterregels Fase en Type */
.progress-view-controls{flex:0 0 auto;border-bottom:1px solid #d6d9dc;background:#fafbfc}.progress-view-controls .progress-viewbar{min-height:32px;padding:3px 10px;border-bottom:1px solid #e3e5e7}.progress-view-controls .progress-viewbar:last-child{border-bottom:0}.progress-view-controls .progress-viewbar>b{flex:0 0 62px;width:62px;margin:0}.progress-view-controls .progress-viewbar button{height:25px;padding:2px 8px}.progress-typebar{overflow-x:auto}.progress-no-filter-values{color:#7a838b;font-size:9px;font-style:italic}

/* v152 - inhoudsgestuurde kolommen en verplichte toelichting bij Nee */
.progress-page .progress-table{width:max-content!important;min-width:0!important;table-layout:auto!important}.progress-page .progress-table th,.progress-page .progress-table td{box-sizing:border-box!important}
.progress-nee-popup{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0006}.progress-nee-popup[hidden]{display:none}.progress-nee-dialog{width:min(440px,calc(100vw - 40px));padding:16px;border-radius:8px;background:#fff;box-shadow:0 12px 40px #0005}.progress-nee-dialog h2{margin:0 0 5px;font-size:12px}.progress-nee-dialog p{margin:0 0 10px;font-size:9px;color:#5b646c}.progress-nee-dialog textarea{display:block;width:100%;height:110px;padding:8px;border:1px solid #bfc5ca;border-radius:5px;box-sizing:border-box;resize:vertical;font:9px Arial,sans-serif}.progress-nee-error{display:block;min-height:17px;padding-top:3px;color:#b42318;font-size:9px}.progress-nee-dialog>div{display:flex;justify-content:flex-end;gap:6px}.progress-nee-dialog button{height:28px;padding:3px 10px;border:1px solid #c6cbd0;border-radius:4px;background:#fff;font-size:9px;font-weight:700}.progress-nee-dialog button.primary{border-color:var(--orange);background:var(--orange);color:#fff}

/* v153 - echte standaardoptie Onderhanden in iedere dropdown */
.progress-table td[data-has-value="0"]>.progress-select{opacity:1!important}

/* v154 - compacte inhoudsmeting en consequente kolomscheiding */
.progress-page .progress-table th,.progress-page .progress-table td{border-right:1px solid #a9b0b6!important}.progress-page .progress-header-row th{overflow-wrap:anywhere!important}.progress-page .progress-select{width:100%!important;min-width:0!important}

/* v155 - harde berekende kolombreedtes en Nederlandse woordafbreking */
.progress-page .progress-table{table-layout:fixed!important}.progress-page .progress-table col{box-sizing:border-box}.progress-page .progress-header-row th{hyphens:auto!important;-webkit-hyphens:auto!important;word-break:normal!important;overflow-wrap:normal!important}

/* v157 - instelbare verplichte toelichtingen per dropdownoptie */
.progress-dropdown-option-row{grid-template-columns:minmax(105px,1fr) 112px 82px 25px!important}.progress-dropdown-note-label{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;font-size:9px!important;white-space:nowrap}.progress-dropdown-note-label input{width:14px!important;height:14px!important;margin:0!important}.progress-nee-dialog>label{display:grid;gap:4px;margin:0 0 9px;font-size:9px;font-weight:700}.progress-nee-dialog .progress-note-status{width:100%;height:30px;padding:3px 7px;border:1px solid #bfc5ca;border-radius:5px;background:#fff;font-size:9px}

/* v158 - compact vinkvak zonder tekst */
.progress-dropdown-option-row{grid-template-columns:minmax(105px,1fr) 112px 20px auto!important}.progress-dropdown-note-label{justify-content:center!important;width:20px!important}.progress-dropdown-option-remove{width:auto!important;height:26px!important;padding:3px 8px!important;white-space:nowrap!important}

/* v159 - zichtbare annulering en betrouwbare toelichting-prefill */
.progress-nee-dialog button[data-action="cancel"]{border-color:#9da5ac!important;background:#fff!important;color:#30363b!important;box-shadow:none!important}.progress-nee-dialog button[data-action="save"]{color:#fff!important}.progress-nee-dialog button{opacity:1!important;visibility:visible!important}

/* v161 - Review-actie, deadline en mailbevestiging */
.progress-review-mail{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 8px;padding:9px;border:1px solid #d9dde0;border-radius:6px;background:#f7f8f9}.progress-review-mail[hidden]{display:none}.progress-review-mail label{display:grid;gap:4px;margin:0;font-size:9px;font-weight:700}.progress-review-mail input[type=date],.progress-review-mail select{width:100%;height:29px;padding:3px 6px;border:1px solid #bfc5ca;border-radius:4px;background:#fff;box-sizing:border-box;font-size:9px}.progress-review-user{grid-column:1/-1}.progress-review-user:disabled{opacity:.55}
.progress-config-table th:nth-child(1){width:34px}.progress-config-table th:nth-child(2){width:22%}.progress-config-table th:nth-child(3){width:18%}.progress-config-table th:nth-child(4){width:16%}.progress-config-table th:nth-child(5){width:23%}.progress-config-table th:nth-child(6){width:90px}.progress-config-table th:nth-child(7){width:36px}.progress-field-action{display:block;width:15px!important;height:15px!important;margin:auto!important}

/* v164 - Analyse voortgang */
.progress-analysis-dashboard{display:grid;gap:14px;padding-top:8px;font-size:9px}.progress-analysis-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.progress-analysis-title>div:first-child{flex:1 1 auto}.progress-analysis-title h2{margin:0 0 3px;font-size:18px}.progress-analysis-title p{margin:0;color:#6a6a6a}.progress-analysis-title .primary{padding:8px 13px;text-decoration:none;border-radius:5px}.progress-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.progress-kpi{position:relative;overflow:hidden;min-height:92px;padding:12px 14px;border:1px solid #ddd;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0000000c}.progress-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:5px}.progress-kpi span{display:block;font-size:11px;font-weight:700;color:#555}.progress-kpi b{display:block;margin:4px 0 2px;font-size:25px;line-height:1.1;color:#222}.progress-kpi small{color:#777}.progress-kpi-green:before{background:#2e9d62}.progress-kpi-yellow:before{background:#e3aa19}.progress-kpi-red:before,.progress-kpi-alert:before{background:#d4483f}.progress-kpi-alert{background:#fff8f7}.progress-kpi-budget:before{background:var(--orange)}.progress-analysis-grid{display:grid;gap:12px}.progress-analysis-top{grid-template-columns:minmax(230px,.72fr) repeat(2,minmax(300px,1fr))}.progress-analysis-middle{grid-template-columns:minmax(440px,1.35fr) minmax(340px,.85fr)}.progress-analysis-bottom{grid-template-columns:1.2fr .8fr}.progress-chart-card{min-width:0;padding:13px}.progress-chart-card h3{margin:0 0 10px;font-size:12px}.progress-chart-card>p{margin:-6px 0 10px}.progress-donut-wrap{display:flex;align-items:center;justify-content:center;gap:20px;min-height:190px}.progress-donut{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:conic-gradient(#2e9d62 0 calc(var(--closed)*1%),#e3aa19 calc(var(--closed)*1%) calc((var(--closed) + var(--under))*1%),#d4483f calc((var(--closed) + var(--under))*1%) 100%)}.progress-donut:before{content:"";grid-area:1/1;width:98px;height:98px;border-radius:50%;background:#fff}.progress-donut>div{position:relative;grid-area:1/1;text-align:center}.progress-donut b{display:block;font-size:20px}.progress-donut span{color:#777}.progress-legend{display:grid;gap:9px}.progress-legend span{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;min-width:110px}.progress-legend i{width:9px;height:9px;border-radius:2px}.green{background:#2e9d62}.yellow{background:#e3aa19}.red{background:#d4483f}.progress-stacked-list{display:grid;gap:11px;max-height:225px;overflow:auto;padding-right:3px}.progress-stack-row>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px}.progress-stack-row span{color:#666}.progress-stack{display:flex;overflow:hidden;height:12px;border-radius:6px;background:#eee}.progress-stack i{display:block;height:100%}.progress-client-bars{display:grid;gap:5px;max-height:360px;overflow:auto;padding-right:4px}.progress-client-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 38px;align-items:center;gap:8px;min-height:19px}.progress-client-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-client-row>div,.progress-user-bars>div>div{overflow:hidden;height:10px;border-radius:5px;background:#eee}.progress-client-row i,.progress-user-bars i{display:block;height:100%;min-width:2px;border-radius:5px;background:linear-gradient(90deg,#ef7b25,#2e9d62)}.progress-client-row>b{text-align:right}.progress-field-list{display:grid;gap:1px;max-height:360px;overflow:auto}.progress-analysis-dashboard .progress-field-row{display:grid!important;grid-template-columns:minmax(130px,1fr) 42px;gap:2px 8px;padding:6px 4px!important;border-bottom:1px solid #eee}.progress-analysis-dashboard .progress-field-row>div{display:grid}.progress-analysis-dashboard .progress-field-row span,.progress-analysis-dashboard .progress-field-row small{color:#777;font-weight:400}.progress-analysis-dashboard .progress-field-row strong{grid-row:1/3;grid-column:2;text-align:right;font-size:12px}.progress-deadline-list{display:grid;gap:5px;max-height:300px;overflow:auto}.progress-deadline-row{display:grid;grid-template-columns:1fr 76px 80px;align-items:center;gap:8px;padding:7px 8px;border-left:4px solid #bbb;background:#f7f7f7;border-radius:4px}.progress-deadline-row>div{display:grid}.progress-deadline-row span{color:#666}.progress-deadline-row strong,.progress-deadline-row small{text-align:right}.progress-deadline-row.overdue{border-color:#d4483f;background:#fff0ef}.progress-deadline-row.soon{border-color:#e3aa19;background:#fff9e8}.progress-user-bars{display:grid;gap:9px}.progress-user-bars>div{display:grid;grid-template-columns:minmax(90px,135px) 1fr 25px auto;align-items:center;gap:7px}.progress-user-bars em{color:#c43b34;font-style:normal;font-weight:700}.progress-user-bars i{background:#ef7b25}@media(max-width:1100px){.progress-analysis-top{grid-template-columns:1fr 1fr}.progress-analysis-top .progress-chart-card:first-child{grid-column:1/-1}.progress-kpi-grid{grid-template-columns:repeat(2,1fr)}.progress-analysis-title{flex-wrap:wrap}}

/* v166 - compacte hoofdnavigatie */
body.planning-page > header .planning-nav,body.planning-admin-page > header .planning-nav{gap:7px!important}
body.planning-page > header .planning-nav > .planning-nav-link,body.planning-admin-page > header .planning-nav > .planning-nav-link{min-height:29px!important;padding:5px 11px!important;border:1px solid #c9c9c9!important;border-radius:5px!important;background:#fff!important;color:#303030!important;font-size:9px!important;font-weight:700!important;line-height:1!important;box-shadow:0 1px 2px #0000000a!important;opacity:1!important;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease!important}
body.planning-page > header .planning-nav > .planning-nav-link:hover,body.planning-admin-page > header .planning-nav > .planning-nav-link:hover{border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important;transform:translateY(-1px)!important}
body.planning-page > header .planning-nav > .planning-logout-link,body.planning-admin-page > header .planning-nav > .planning-logout-link{margin-left:3px!important;padding-left:11px!important;border-left:1px solid #c9c9c9!important;background:#f1f1f1!important;color:#555!important}
body.planning-page > header .planning-nav > .planning-logout-link:hover,body.planning-admin-page > header .planning-nav > .planning-logout-link:hover{border-color:#555!important;background:#444!important;color:#fff!important}

/* v167 - duidelijk herkenbare menuknoppen */
body.planning-page > header .planning-nav > .planning-nav-link,
body.planning-admin-page > header .planning-nav > .planning-nav-link{
  min-width:82px!important;
  min-height:31px!important;
  padding:7px 13px!important;
  border:1px solid #cf5d00!important;
  border-radius:4px!important;
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:0 2px 0 #b94f00,0 2px 5px #0000001f!important;
  letter-spacing:.1px!important;
}
body.planning-page > header .planning-nav > .planning-nav-link:hover,
body.planning-admin-page > header .planning-nav > .planning-nav-link:hover{
  border-color:#b94f00!important;
  background:#d96000!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 3px 0 #a94700,0 3px 7px #00000024!important;
}
body.planning-page > header .planning-nav > .planning-nav-link:active,
body.planning-admin-page > header .planning-nav > .planning-nav-link:active{
  transform:translateY(1px)!important;
  box-shadow:0 1px 0 #a94700!important;
}
body.planning-page > header .planning-nav > .planning-logout-link,
body.planning-admin-page > header .planning-nav > .planning-logout-link{
  min-width:82px!important;
  margin-left:5px!important;
  border-color:#3f4549!important;
  background:#545b60!important;
  color:#fff!important;
  box-shadow:0 2px 0 #34393d,0 2px 5px #0000001f!important;
}
body.planning-page > header .planning-nav > .planning-logout-link:hover,
body.planning-admin-page > header .planning-nav > .planning-logout-link:hover{
  border-color:#282c2f!important;
  background:#3d4347!important;
  color:#fff!important;
  box-shadow:0 3px 0 #282c2f,0 3px 7px #00000024!important;
}

/* v168 - afgerond menu met gearceerde actieve knop */
body.planning-page > header .planning-nav > .planning-nav-link,
body.planning-admin-page > header .planning-nav > .planning-nav-link{border-radius:9px!important}
body.planning-page > header .planning-nav > .planning-nav-link.active,
body.planning-admin-page > header .planning-nav > .planning-nav-link.active{
  border-color:#9f4300!important;
  background:repeating-linear-gradient(135deg,#c95500 0,#c95500 6px,#e76a0a 6px,#e76a0a 12px)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 0 #8f3b00,0 2px 5px #00000022!important;
  cursor:default!important;
}
body.planning-page > header .planning-nav > .planning-logout-link,
body.planning-admin-page > header .planning-nav > .planning-logout-link{border-radius:9px!important}




/* ===== evaluaties-overzicht.css ===== */
.eval-richt-th,.eval-richt-td{width:84px;min-width:84px;max-width:84px}
.eval-richt-select{width:76px!important;min-width:76px!important;max-width:76px!important;padding-left:8px!important;padding-right:24px!important}


/* ===== evaluaties-templates.css ===== */

.tpl-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.tpl-title-row h1{margin-bottom:4px}
.tpl-plus{width:38px;height:38px;border-radius:50%;padding:0!important;display:inline-flex;align-items:center;justify-content:center;font-size:25px!important;line-height:1;font-weight:500}
.tpl-plus-primary{flex:0 0 auto}
.tpl-toolbar{display:grid;grid-template-columns:minmax(220px,320px) minmax(260px,1fr) 44px;gap:14px;align-items:end;margin-top:18px}
.tpl-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.tpl-toolbar select,.tpl-toolbar input{width:100%}
.tpl-delete-template{align-self:end;margin-bottom:1px}
.tpl-save-state{height:18px;margin-top:7px;font-size:12px;color:#23823b}
.tpl-save-state.error{color:#b5332d}
.tpl-list{display:grid;gap:7px;margin-top:10px}
.tpl-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 42px;gap:10px;align-items:center;padding:8px 10px;border:1px solid #dde1e4;border-radius:10px;background:#fff}
.tpl-row input{width:100%;margin:0}
.tpl-order{text-align:center}
.tpl-plus-bottom{display:flex;margin:14px auto 0}
.tpl-empty{padding:12px 4px}
.score-modal input{width:100%;margin-top:7px}
@media(max-width:700px){
  .tpl-toolbar{grid-template-columns:1fr 44px}
  .tpl-name-label{grid-column:1/-1;grid-row:2}
  .tpl-row{grid-template-columns:minmax(0,1fr) 72px 42px}
}


.template-master-selects{display:grid;grid-template-columns:minmax(220px,320px) minmax(280px,520px);gap:14px;align-items:end;margin-top:18px}
.template-master-selects label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.template-master-selects select{width:100%}
.tpl-toolbar-editor{grid-template-columns:minmax(300px,1fr) 44px;margin-top:0;margin-bottom:12px}
.mail-template-editor-card{max-width:none}
.mailtpl-block-single{border:0;padding:0;background:transparent}
.mailtpl-block-single h2{margin-top:0}
.mailtpl-block-single label{display:block;font-weight:700;margin-top:16px}
.mailtpl-block-single .mailtpl-subject{width:100%;box-sizing:border-box;margin-top:6px}
.mailtpl-text-large{width:100%;min-height:380px !important;box-sizing:border-box;margin-top:6px;padding:14px;line-height:1.5;font-family:Arial,Helvetica,sans-serif;font-size:14px}
@media(max-width:760px){.template-master-selects{grid-template-columns:1fr}.tpl-toolbar-editor{grid-template-columns:1fr 44px}}


/* ===== evaluaties-statistieken.css ===== */

.statsfn-filter{display:flex;align-items:center;gap:12px;margin:14px 0 18px}
.statsfn-filter select{width:100%;max-width:390px}
.statsfn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.statsfn-card{min-width:0;padding:14px;border:1px solid #dedede;border-radius:12px;background:#fff}
.statsfn-card h3{margin:0 0 10px;font-size:14px;line-height:1.25;min-height:35px}
.statsfn-axis,.statsfn-row{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:10px}
.statsfn-axis{align-items:end;margin-bottom:3px}
.statsfn-axis-scale{position:relative;height:18px}
.statsfn-axis-scale span{position:absolute;top:0;transform:translateX(-50%);font-size:11px;line-height:1;font-weight:700;color:#4f5559}
.statsfn-row{align-items:center;min-height:27px;padding:2px 0}
.statsfn-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;font-weight:400}
.statsfn-plot{
  position:relative;height:20px;padding:3px 0;box-sizing:border-box;border-radius:7px;
  background-image:repeating-linear-gradient(to right,#dfe3e6 0,#dfe3e6 1px,transparent 1px,transparent calc(100% / 9))
}
.statsfn-bar{height:14px;min-width:3px;box-sizing:border-box;border-radius:6px;background:#ef7d00}
@media (max-width:1100px){.statsfn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.statsfn-grid{grid-template-columns:1fr}.statsfn-axis,.statsfn-row{grid-template-columns:100px minmax(0,1fr)}}


/* ===== portal.css ===== */
.portal-page,.portal-page *{box-sizing:border-box}
body.portal-page{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;background:#f3f4f5;color:#252525;font:13px Arial,sans-serif}
.portal-page .portal{width:min(720px,100%)}
.portal-page .portal-logo{display:block;width:min(245px,62vw);height:auto;margin:0 auto 20px}
.portal-page .brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px;font-size:20px;font-weight:800}
.portal-page .brand i{width:18px;height:18px;border-radius:50%;background:var(--orange)}
.portal-page .card{text-align:center}
.portal-page .card h1{font-size:23px}.portal-page .card p{margin:0;color:#6b6b6b}
.portal-page .error{margin:16px 0 0;padding:10px;border:1px solid #e2aaa6;border-radius:7px;background:#fff0ef;color:#a72822}
.portal-page .microsoft{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:240px;margin-top:22px;padding:11px 17px;border:1px solid #777;border-radius:7px;background:#fff;color:#222;text-decoration:none;font-weight:700}
.portal-page .microsoft:hover{background:#f6f6f6;border-color:#333}
.portal-page .ms{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:1px}
.portal-page .ms i:nth-child(1){background:#f25022}.portal-page .ms i:nth-child(2){background:#7fba00}.portal-page .ms i:nth-child(3){background:#00a4ef}.portal-page .ms i:nth-child(4){background:#ffb900}
.portal-page .apps{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:14px;margin-top:24px}
.portal-page .app{display:grid;gap:7px;min-height:130px;padding:22px;border:1px solid #ddd;border-radius:11px;background:#fff;color:#222;text-decoration:none;text-align:left;box-shadow:0 4px 12px #0000000b}
.portal-page .app:hover{border-color:var(--orange);transform:translateY(-1px)}.portal-page .app b{font-size:17px;color:var(--orange)}.portal-page .app span{color:#666}
.portal-page .app{grid-template-columns:72px 1fr;align-items:center;gap:17px;min-height:112px;padding:18px 20px}
.portal-page .app .app-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:16px;background:#fff3e8;color:#ed6b00}
.portal-page .app .app-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.portal-page .app b{font-size:18px}.portal-page .app-progress .app-icon{background:#edf4ee;color:#3d7550}.portal-page .app-evaluations .app-icon{background:#eef1f6;color:#52687c}.portal-page .app-dashboards .app-icon{background:#edf3f8;color:#3974a3}.portal-page .app-ideeen .app-icon{background:#f3edf8;color:#7048a3}
.portal-page .user{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.portal-page .user nav{display:flex;align-items:center;gap:10px}.portal-page .user a{color:#666}
.portal-page .manage{padding:7px 11px;border-radius:7px;background:var(--orange);color:#fff!important;text-decoration:none;font-weight:700}
.portal-page .user nav>a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:7px 13px;border:1px solid #3f4549;border-radius:9px;background:#545b60;color:#fff!important;text-decoration:none;font-size:9px;font-weight:700;box-shadow:0 2px 0 #34393d,0 2px 5px #0000001f}.portal-page .user nav>a:last-child:hover{background:#3f4549;color:#fff!important}
@media(max-width:560px){.portal-page .apps{grid-template-columns:1fr}.portal-page .user{display:grid;justify-content:center}}



body.admin-page {
  color: var(--portal-text);
  font-size: 9px;
}

.beheer-main,
.evaluatie-central-nav,
body.admin-page > main {
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.central-admin-tabs,
.module-subtabs,
.evaluation-subtabs {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 4px 0 10px !important;
}

.central-admin-tabs{padding:8px!important;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000a}

.central-admin-tabs .central-nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.central-nav-actions form { margin: 0; }
.central-nav-actions select { width: 190px; min-height: 28px; padding: 4px 8px; font-size: 9px; }

.central-admin-tabs a,
.module-subtabs a,
.evaluation-subtabs a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 11px !important;
  border: 1px solid #d1d4d6 !important;
  border-radius: 9px !important;
  background: #f1f2f3 !important;
  color: #333 !important;
  font-size: 9px !important;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

.central-admin-tabs a.active,
.module-subtabs a.active,
.evaluation-subtabs a.active {
  border-color:#a94800!important;
  background:repeating-linear-gradient(135deg,#c95500 0,#c95500 6px,#e76a0a 6px,#e76a0a 12px)!important;
  color: #fff !important;
  box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 0 #8f3b00,0 2px 5px #00000022!important;
}

.autosave-line {
  min-height: 17px;
  margin: 0 0 5px;
}

.autosave-line:has(> :empty) {
  display: none;
}

.central-admin-tabs + .module-subtabs,
.central-admin-tabs + .evaluatie-toolbar,
.autosave-line + .module-subtabs {
  margin-top: 6px !important;
}

.autosave-state,
.state {
  color: #2b7b45;
  font-weight: 700;
}

.state.error { color: #b52b25; }

body.admin-page > header { display: none !important; }
body.admin-page.planning-admin-page > header{display:flex!important}
body.admin-page>header.central-module-header{position:relative!important;display:flex!important;min-height:88px!important;padding:10px 18px!important;align-items:center!important;background:#fff!important;border-bottom:1px solid #ddd!important}
body.admin-page>header.central-module-header:before{content:"";position:absolute;left:16px;top:50%;width:205px;height:66px;transform:translateY(-50%);background:url('/planning/images/logo-vhm-audit.png') left center/contain no-repeat}
body.admin-page>header.central-module-header .planning-nav{position:absolute;right:18px;top:50%;display:flex;align-items:center;gap:7px;margin:0;transform:translateY(-50%)}
body.admin-page>header.central-module-header .planning-nav-link{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:31px;padding:7px 13px;border:1px solid #cf5d00;border-radius:9px;background:var(--orange);color:#fff;text-decoration:none;font-size:9px;font-weight:700;box-shadow:0 2px 0 #b94f00,0 2px 5px #0000001f}
body.admin-page>header.central-module-header .planning-logout-link{border-color:#3f4549;background:#545b60;box-shadow:0 2px 0 #34393d,0 2px 5px #0000001f}
.evaluatie-central-nav { padding: 12px 16px 0; }
.evaluatie-central-nav { position: relative; }
body.admin-page > main { padding: 0 16px 16px !important; }

@media (max-width: 800px) {
  .central-admin-tabs .central-nav-actions { width: 100%; margin-left: 0; }
  .central-nav-actions { flex-wrap: wrap; }
  .central-nav-actions form { flex: 1 1 190px; }
  .central-nav-actions select { width: 100%; }
}

.central-access-card { padding: 8px 10px !important; }

.central-access-card table { width: 100%; min-width: 840px; table-layout: fixed; border-collapse: collapse; }
.central-access-card th,
.central-access-card td { overflow:hidden;padding:7px;border-bottom:1px solid #e5e5e5;text-align:left;white-space:nowrap;text-overflow:ellipsis; }
.central-access-card th { overflow:hidden;padding:6px 4px;background:var(--portal-orange);color:#fff;text-align:center;white-space:normal;line-height:1.05;overflow-wrap:anywhere; }
.central-access-card th:first-child,.central-access-card td:first-child{width:190px;text-align:left}.central-access-card th:nth-child(2),.central-access-card td:nth-child(2){width:210px;text-align:left}.central-access-card .toggle{width:63px;text-align:center}
.central-access-card .toggle input { width: 18px; height: 18px; accent-color: var(--portal-orange); cursor: pointer; }
.central-access-card .toggle input.module-right-indicator { accent-color: var(--portal-blue); pointer-events: none; }
.toggle input.managed-right{accent-color:var(--portal-blue)!important;cursor:pointer}
/* Blauw is uitsluitend voor BEHEER-rechten (kunnen rechten van anderen
   toekennen). Analyse-/kijkrechten (waaronder "Verdeling per functie" en
   "Schrijven" bij Planning/Voortgang, en bij Evaluaties ook
   "Statistieken"/"Evaluatieoverzicht" - dat zijn allemaal geen
   beheerfunctionaliteit) zijn oranje - minder "gevaarlijk". */
.dashboard-analysis-right,
.employee-write,.werkelijke-uren-code-opnemen,.employee-workday{accent-color:var(--portal-orange)!important;cursor:pointer}
.werkelijke-uren-code-row-dubbel{background:var(--plan-conflict-bg,#f8d7da)!important}
.werkelijke-uren-code-dubbel-badge{display:inline-block;margin-left:4px;padding:0 5px;border-radius:9px;background:var(--plan-conflict-rand,#b3261e);color:#fff;font-size:9px;font-weight:700;vertical-align:middle}
.evaluation-lezen-col{display:none}.er-tab{accent-color:var(--portal-blue)!important}
.module-subtabs,.evaluation-subtabs{width:max-content;max-width:100%;padding:5px!important;border:1px solid var(--vhm-color-border,#d8dde1)!important;border-radius:11px!important;background:#e9edf0!important;box-shadow:inset 0 1px 2px #0000000a!important}
.module-subtabs a,.evaluation-subtabs a{border-color:transparent!important;background:transparent!important;color:#46515a!important}
.module-subtabs a.active,.evaluation-subtabs a.active{border-color:#526572!important;background:#526572!important;color:#fff!important;box-shadow:0 1px 3px #00000020!important}
.central-access-card th.toggle,.central-access-card td.toggle{width:76px!important;min-width:76px!important;max-width:76px!important;padding-left:0!important;padding-right:0!important;text-align:center!important}
.central-access-card td.toggle input{display:block!important;margin:0 auto!important}
.central-access-card .inactive-user{opacity:.62}.central-access-card .inactive-user small{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:8px;background:#e5e5e5;color:#555;font-size:8px}.central-access-card input:disabled{cursor:not-allowed}
tr.saving { opacity: .55; }

@media (max-width: 650px) {
  .central-access-card .email { display: none; }
  .central-access-card .toggle { width: auto; }
}

/* ===== definitief uniform beheercontract ===== */
body.admin-page{background:#efedea!important;color:#252525!important;font:9px Arial,sans-serif!important}
body.admin-page>header{display:none!important}
body.admin-page.planning-admin-page>header,
body.admin-page>header.central-module-header{position:relative!important;display:flex!important;min-height:88px!important;padding:10px 18px!important;align-items:center!important;background:#fff!important;border-bottom:1px solid #ddd!important;box-sizing:border-box!important}
body.admin-page>header.central-module-header:before{content:""!important;position:absolute!important;left:16px!important;top:50%!important;width:205px!important;height:66px!important;transform:translateY(-50%)!important;background:url('/planning/images/logo-vhm-audit.png') left center/contain no-repeat!important}
body.admin-page>header.central-module-header .planning-nav{position:absolute!important;right:18px!important;top:50%!important;display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;transform:translateY(-50%)!important}
body.admin-page>header.central-module-header .planning-nav-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:82px!important;min-height:31px!important;padding:7px 13px!important;border:1px solid #cf5d00!important;border-radius:9px!important;background:var(--orange)!important;color:#fff!important;text-decoration:none!important;font-size:9px!important;font-weight:700!important;box-shadow:0 2px 0 #b94f00,0 2px 5px #0000001f!important}
body.admin-page>header.central-module-header .planning-logout-link{border-color:#3f4549!important;background:#545b60!important;box-shadow:0 2px 0 #34393d,0 2px 5px #0000001f!important}
body.admin-page>.beheer-main,
body.admin-page>.evaluatie-central-nav,
body.admin-page>main{width:calc(100% - 32px)!important;max-width:1400px!important;margin:0 auto!important;box-sizing:border-box!important}
.evaluatie-central-nav{padding:0 0 0!important}
body.admin-page>main{padding:0 0 16px!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.central-admin-tabs{display:flex!important;align-items:center!important;gap:8px!important;margin:4px 0 10px!important;padding:8px!important;border:1px solid #dedede!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px #0000000a!important}
.central-admin-tabs a,.module-subtabs a,.evaluation-subtabs a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:6px 11px!important;border:1px solid #d1d4d6!important;border-radius:9px!important;background:#f1f2f3!important;color:#333!important;font-size:9px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important}
.central-admin-tabs a.active,.module-subtabs a.active,.evaluation-subtabs a.active{border-color:#a94800!important;background:repeating-linear-gradient(135deg,#c95500 0,#c95500 6px,#e76a0a 6px,#e76a0a 12px)!important;color:#fff!important;box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 0 #8f3b00,0 2px 5px #00000022!important}
.module-subtabs,.evaluation-subtabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 10px!important}
body.admin-page main>.card,body.admin-page .opties-card{width:100%!important;margin:0 0 10px!important;padding:10px 12px!important;border:1px solid #ddd!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px #0000000a!important;box-sizing:border-box!important}
body.admin-page main table,body.admin-page .beheer-main table{width:100%;border-collapse:collapse}
body.admin-page main table th,body.admin-page .beheer-main table th,.central-access-card th{padding:6px 7px!important;border-bottom:1px solid #d7dadd!important;background:#f1f2f3!important;color:#303438!important;text-align:left!important;font-size:9px!important;font-weight:800!important;white-space:normal!important;line-height:1.1!important}
body.admin-page main table td,body.admin-page .beheer-main table td,.central-access-card td{padding:6px 7px!important;border-bottom:1px solid #e1e3e5!important;background:#fff!important;color:#252525!important;font-size:9px!important;vertical-align:middle!important}
body.admin-page main table td.pressure-clients,body.admin-page .beheer-main table td.pressure-clients,.central-access-card td.pressure-clients{vertical-align:top!important}
.central-access-card th.toggle,.central-access-card td.toggle{text-align:center!important}
body.admin-page main table th.toggle,body.admin-page .beheer-main table th.toggle,.central-access-card table th.toggle{width:52px!important;max-width:52px!important;text-align:center!important}
body.admin-page main table td.toggle,body.admin-page .beheer-main table td.toggle,.central-access-card table td.toggle{width:52px!important;max-width:52px!important;text-align:center!important}
body.admin-page main table td.toggle input,body.admin-page .beheer-main table td.toggle input,.central-access-card table td.toggle input{display:block!important;margin:0 auto!important}
.locked-toggle{accent-color:#c7c7c7!important;opacity:.85;cursor:not-allowed!important}
/* Toegang > Rechten heeft nu maar 6 vinkjeskolommen (i.p.v. veel meer bij
   bv. Planning/Voortgang) en dus ruim voldoende plek voor bredere kolommen,
   zodat de koptekst ("Planning", "Voortgang", ...) niet meer midden in het
   woord afbreekt. 96px bleek voor het langste woord ("Toegangbeheer") nog
   niet genoeg, dus naar 130px als nieuwe standaardbreedte. Alleen voor deze
   tabel - de andere beheerschermen met meer kolommen (Planning/Voortgang/
   Dashboards/Evaluaties) blijven op de smallere breedte staan. */
.central-access-card table th.toggle,.central-access-card table td.toggle{width:130px!important;max-width:130px!important}
.locked-toggle:hover{cursor:not-allowed!important}
/* Rechtentabellen met maar een paar kolommen (Evaluaties, Voortgang) trekken
   de Medewerker-kolom anders helemaal uit elkaar omdat de tabel altijd
   width:100% krijgt - de vinkjes belanden dan ver naar rechts met een lege
   vlakte ertussen. Deze tabellen laten we daarom hun natuurlijke (smallere)
   breedte houden, met een nette vaste breedte voor de naamkolom. */
body.admin-page main table.rechten-table-compact,body.admin-page .beheer-main table.rechten-table-compact{width:auto!important;min-width:320px!important}
body.admin-page main table.rechten-table-compact th:first-child,body.admin-page .beheer-main table.rechten-table-compact th:first-child{width:200px!important;max-width:200px!important}
body.admin-page main table.rechten-table-compact td:first-child,body.admin-page .beheer-main table.rechten-table-compact td:first-child{width:200px!important;max-width:200px!important}
/* Dashboards > Rechten blijft wel de volle breedte gebruiken (veel
   kolommen), maar de Medewerker-kolom mag daarbij niet uitrekken - anders
   ontstaat er een kloof tussen de naam en de ernaast liggende Functie-kolom.
   Vaste breedte voor kolom 1, zodat kolom 2 er direct achteraan sluit. */
body.admin-page main table.dashboards-rechten-table th:first-child,body.admin-page .beheer-main table.dashboards-rechten-table th:first-child{width:150px!important;max-width:150px!important}
body.admin-page main table.dashboards-rechten-table td:first-child,body.admin-page .beheer-main table.dashboards-rechten-table td:first-child{width:150px!important;max-width:150px!important}
body.admin-page input,body.admin-page select,body.admin-page textarea,body.admin-page button{font:9px Arial,sans-serif}
body.admin-page select,body.admin-page input[type=text],body.admin-page input[type=email],body.admin-page input[type=number],body.admin-page input[type=date],body.admin-page textarea{min-height:30px;padding:5px 7px;border:1px solid var(--vhm-color-border-strong,#c8cdd1);border-radius:6px;background:#fff;box-sizing:border-box}
@media(max-width:800px){body.admin-page>header.central-module-header:before{width:145px!important;height:50px!important}.central-admin-tabs{flex-wrap:wrap!important}body.admin-page>.beheer-main,body.admin-page>.evaluatie-central-nav,body.admin-page>main{width:calc(100% - 20px)!important}}
.evaluation-app-page{margin:0!important;background:#efedea!important;color:#252525;font:12px Arial,sans-serif}
.evaluation-app-page>header.central-module-header{position:relative;display:flex;min-height:88px;padding:10px 18px;align-items:center;background:#fff;border-bottom:1px solid #ddd;box-sizing:border-box}
.evaluation-app-page>header.central-module-header:before{content:"";position:absolute;left:16px;top:50%;width:205px;height:66px;transform:translateY(-50%);background:url('/planning/images/logo-vhm-audit.png') left center/contain no-repeat}
.evaluation-app-page>header.central-module-header .planning-nav{position:absolute;right:18px;top:50%;display:flex;align-items:center;gap:7px;margin:0;transform:translateY(-50%)}
.evaluation-app-page>header.central-module-header .planning-nav-link{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:31px;padding:7px 13px;border:1px solid #cf5d00;border-radius:9px;background:var(--orange);color:#fff;text-decoration:none;font-size:9px;font-weight:700;box-shadow:0 2px 0 #b94f00,0 2px 5px #0000001f;box-sizing:border-box}
.evaluation-app-page>header.central-module-header .planning-logout-link{border-color:#3f4549;background:#545b60;box-shadow:0 2px 0 #34393d,0 2px 5px #0000001f}
.evaluation-app-page>main{width:min(1400px,calc(100% - 32px));margin:16px auto!important;padding:0!important}
.evaluation-app-page>main>h1{margin:0 0 12px;font-size:20px;color:#2f3437}
.evaluation-app-page .card{border:1px solid #ddd!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px #0000000a!important}
@media(max-width:800px){.evaluation-app-page>header.central-module-header:before{width:145px;height:50px}.evaluation-app-page>header.central-module-header .planning-nav{right:10px}.evaluation-app-page>main{width:calc(100% - 20px)}}
.evaluation-app-page>header.central-module-header{position:relative!important;display:flex!important;min-height:88px!important;height:88px!important;padding:10px 18px!important;align-items:center!important;background:linear-gradient(135deg,#fff 35%,#fff8e9 72%,#fff1cf 100%)!important;border-bottom:1px solid #e3d8be!important;box-shadow:0 5px 18px #d9a62d1a!important;box-sizing:border-box!important}
.evaluation-app-page>header.central-module-header:before{content:""!important;position:absolute!important;left:16px!important;top:50%!important;width:205px!important;height:66px!important;transform:translateY(-50%)!important;background:url('/planning/images/logo-vhm-audit.png') left center/contain no-repeat!important}
.evaluation-app-page>header.central-module-header .planning-nav{position:absolute!important;right:18px!important;top:50%!important;display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;transform:translateY(-50%)!important}
.evaluation-app-page>main{width:min(1400px,calc(100% - 32px))!important;margin:16px auto!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.evaluation-app-page>main>h1{margin:0 0 12px!important;font-size:18px!important;line-height:1.15!important;color:#2f3437!important}
.evaluation-app-page .card{padding:14px 16px!important;margin-bottom:12px!important;border-radius:12px!important}
.evaluation-app-page .card h2{margin:0 0 12px!important;font-size:17px!important;line-height:1.2!important}
.evaluation-app-page .card p,.evaluation-app-page .card td,.evaluation-app-page .card span{font-size:11px!important;line-height:1.4!important}
.evaluation-app-page .button,.evaluation-app-page .dashboard-status-button,.evaluation-app-page .year-result-button{min-width:0!important;padding:7px 11px!important;border-radius:16px!important;font-size:9px!important;line-height:1.15!important;font-weight:700!important;box-shadow:none!important}
.evaluation-app-page .year-result-button{border-color:#238636!important;background:#238636!important;color:#fff!important}.evaluation-app-page .year-result-button:hover{background:#1b6b2a!important}
.evaluation-app-page .buddy-task-list>div{min-height:42px!important;padding:8px 0!important}
.evaluation-app-page .dashboard-status-buttons .button,.evaluation-app-page .buddy-task-list>div>.button,.evaluation-app-page .dashboard-evaluation-row .button{width:280px!important;min-width:0!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:700px){.evaluation-app-page .dashboard-status-buttons .button,.evaluation-app-page .buddy-task-list>div>.button,.evaluation-app-page .dashboard-evaluation-row .button{width:100%!important}}
@media(max-width:800px){.evaluation-app-page>header.central-module-header{min-height:72px!important;height:72px!important}.evaluation-app-page>header.central-module-header:before{left:10px!important;width:145px!important;height:50px!important}.evaluation-app-page>header.central-module-header .planning-nav{right:10px!important}.evaluation-app-page>main{width:calc(100% - 20px)!important}}
.planning-month-select-wrap{display:none;align-items:center;gap:7px;font-size:9px;font-weight:700}.planning-month-select-wrap select{min-width:125px;height:29px;padding:4px 28px 4px 9px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;color:#333;font-size:9px;font-weight:700}
@media(max-width:1250px){.planning-statusbar .month-jump{display:none!important}.planning-statusbar .planning-month-select-wrap{display:flex!important}.planning-statusbar .planning-monthbar{width:auto!important;min-width:0!important}}
body.planning-page .corner-cell span{font-size:11px!important;font-weight:700!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important}
body.planning-page h1,body.planning-admin-page h1,body.admin-page h1,body.progress-page h1,body.evaluation-app-page h1{font-size:18px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
body.planning-page h2,body.planning-admin-page h2,body.admin-page h2,body.progress-page h2,body.evaluation-app-page h2{font-size:16px!important;line-height:1.25!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
body.planning-page h3,body.planning-admin-page h3,body.admin-page h3,body.progress-page h3,body.evaluation-app-page h3{font-size:13px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
body.planning-page th,body.planning-admin-page th,body.admin-page th,body.progress-page th,body.evaluation-app-page th{font-size:9px!important;line-height:1.15!important;letter-spacing:0!important;text-transform:none!important}
body.planning-page button,body.planning-admin-page button,body.admin-page button,body.progress-page button,body.evaluation-app-page button{letter-spacing:0!important;text-transform:none!important}

/* v15 - portaalacties, rechten sorteren en dashboardfilters */
.portal-page .manage{
  box-shadow:0 2px 0 #b94f00,0 2px 5px #0000001f!important;
  transition:transform .14s ease,background .14s ease,box-shadow .14s ease!important;
}
.portal-page .manage:hover{background:#d85f00!important;transform:translateY(-1px)}
.rights-sortable thead th[data-rights-sort]{position:relative;padding-right:17px!important;cursor:pointer!important;user-select:none}
.rights-sortable thead th[data-rights-sort]::after{content:'↕';position:absolute;right:5px;top:50%;transform:translateY(-50%);color:#899198;font-size:9px;font-weight:400}
.rights-sortable thead th[data-rights-sort].sort-asc::after{content:'▲';color:var(--orange)}
.rights-sortable thead th[data-rights-sort].sort-desc::after{content:'▼';color:var(--orange)}
.rights-sortable thead th[data-rights-sort]:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.dashboard-compare-tabs{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important}
.dashboard-compare-tabs .dashboard-clear-filters{min-height:28px!important;margin-left:2px!important;padding:5px 11px!important;border:1px solid #aeb4b9!important;border-radius:7px!important;background:#fff!important;color:#42484d!important;font-size:9px!important;font-weight:700!important;box-shadow:0 1px 2px #00000012!important;cursor:pointer!important}
.dashboard-compare-tabs .dashboard-clear-filters:hover{border-color:var(--orange)!important;color:#d85f00!important;background:#fff8f1!important}
body.admin-page .dashboard-grouped-comparison thead th.group-head{vertical-align:middle!important;text-align:center!important}
.hours-dump-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.hours-dump-heading h2{margin:0 0 4px}.hours-dump-heading p{margin:0}.hours-dump-pagination{display:flex;justify-content:flex-end;gap:8px;margin:7px 0}.hours-dump-pagination a{padding:5px 9px;border:1px solid #aeb7bf;border-radius:4px;background:#fff;text-decoration:none;color:#243746}.hours-dump-wrap{max-height:70vh}.hours-dump-table{width:max-content!important;min-width:100%;font-size:9px}.hours-dump-table th,.hours-dump-table td{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hours-dump-table thead{position:sticky;top:0;z-index:4}.hours-dump-filter-row input{width:110px;min-width:70px;height:25px;padding:3px 5px;font-size:9px;box-sizing:border-box}
.hours-dump-summary{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.hours-dump-summary b{font-size:15px;color:#174a2b}.hours-dump-summary span{color:var(--vhm-color-muted,#667085)}
.afas-sync-notice{margin-bottom:10px}.afas-sync-notice b{color:#7a5d00}
.projecten-table .pr-type-leeg{background:#f4cccc!important;color:#a10000!important}
.afas-tabel-table{width:auto!important;min-width:0!important;table-layout:auto}.afas-tabel-table th,.afas-tabel-table td{max-width:220px;width:1%}.afas-tabel-table .hours-dump-filter-row input{width:100%;min-width:36px}
.hours-link-category{margin-top:16px}.hours-link-category h3{margin:0 0 3px;padding:7px 10px;border-left:4px solid #376d8f;background:#edf4f8;font-size:13px}.hours-link-category p{margin:5px 0 7px}.hours-link-category[hidden]{display:none!important}
.progress-quick-search{display:block;width:100%;min-width:0;height:23px;padding:3px 6px;border:1px solid var(--vhm-color-border-strong,#c8cdd1);border-radius:4px;background:#fff;color:#30363b;font:9px Arial,sans-serif;box-sizing:border-box}
.progress-quick-search:focus{border-color:var(--orange);outline:1px solid var(--orange)}

/* v16 - uniforme, compacte interactie- en filterlaag */
body.admin-page main>.card,body.admin-page .opties-card,.evaluation-app-page .card{padding:9px 11px!important}
body.admin-page main table th,body.admin-page .beheer-main table th,.central-access-card th{padding:5px 6px!important}
body.admin-page main table td,body.admin-page .beheer-main table td,.central-access-card td{padding:5px 6px!important}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),body.admin-page select,.evaluation-app-page input:not([type="checkbox"]):not([type="radio"]),.evaluation-app-page select{min-height:var(--ui-control-height);padding:4px 7px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);font-size:9px;box-sizing:border-box}
body.admin-page input:focus,body.admin-page select:focus,.evaluation-app-page input:focus,.evaluation-app-page select:focus{border-color:var(--ui-focus)!important;outline:1px solid var(--ui-focus)!important;outline-offset:0}
.filter-toolbar,.verdeling-toolbar,.employee-sortbar,.statsfn-filter{display:flex!important;flex-wrap:wrap;align-items:flex-end!important;gap:7px!important}
.filter-toolbar{margin:6px 0 8px}.verdeling-toolbar{min-height:34px;margin:4px 0 7px}.verdeling-toolbar .filter-reset{margin-left:auto}
.employee-sortbar,.statsfn-filter{margin:7px 0 10px!important;padding:7px 8px;border:1px solid #dde1e4;border-radius:8px;background:var(--ui-filter-bg)}
.employee-sortbar label,.statsfn-filter label{display:grid;gap:3px;margin:0!important;font-size:9px;font-weight:700;color:#4b535a}
.employee-sortbar input,.employee-sortbar select,.statsfn-filter select{height:var(--ui-filter-height)!important;min-height:var(--ui-filter-height)!important;padding:3px 6px!important}
.employee-sortbar input[type="search"]{width:180px}.employee-sortbar .filter-reset{align-self:flex-end}
:is(.col-filter,.dashboard-filter,.progress-quick-search,.progress-multifilter-button,.unmatched-customer-tools input[type="search"]){height:var(--ui-filter-height)!important;min-height:var(--ui-filter-height)!important;padding:3px 6px!important;border:1px solid var(--ui-border)!important;border-radius:5px!important;background:#fff!important;color:#343a40!important;font:9px Arial,sans-serif!important;box-sizing:border-box!important}
:is(.col-filter,.dashboard-filter,.progress-quick-search,.unmatched-customer-tools input[type="search"]):focus{border-color:var(--ui-focus)!important;outline:1px solid var(--ui-focus)!important}
:is(.col-filter,.dashboard-filter,.progress-quick-search,.unmatched-customer-tools input[type="search"])::placeholder{color:#858c92;opacity:1}
.filter-reset{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:var(--ui-control-height)!important;height:var(--ui-control-height)!important;padding:4px 10px!important;border:1px solid #aeb4b9!important;border-radius:7px!important;background:#fff!important;color:#42484d!important;font-size:9px!important;font-weight:700!important;line-height:1!important;white-space:nowrap;box-shadow:0 1px 2px #00000012!important;cursor:pointer!important}
.filter-reset:hover{border-color:var(--ui-focus)!important;background:#fff8f1!important;color:#d85f00!important}
.filter-row th,.dashboard-filter-row th,.progress-filter-row th{background:var(--ui-filter-bg)!important}
.verdeling-table th.sortable,.projecten-table th.sortable,.progress-header-row th.sortable,.hours-dump-table th.sortable,.dashboard-grouped-comparison th.sortable{position:relative!important;padding-right:16px!important;cursor:pointer!important;user-select:none}
.verdeling-table th.sortable::after,.projecten-table th.sortable::after,.progress-header-row th.sortable::after,.hours-dump-table th.sortable::after,.dashboard-grouped-comparison th.sortable::after{content:'↕'!important;position:absolute;right:5px;top:50%;margin:0!important;transform:translateY(-50%);color:#899198;font-size:8px!important;font-weight:400}
.verdeling-table th.sortable.sort-asc::after,.projecten-table th.sortable.sort-asc::after,.progress-header-row th.sortable.sort-asc::after,.hours-dump-table th.sortable.sort-asc::after,.dashboard-grouped-comparison th.sortable.sort-asc::after{content:'▲'!important;color:var(--ui-focus)}
.verdeling-table th.sortable.sort-desc::after,.projecten-table th.sortable.sort-desc::after,.progress-header-row th.sortable.sort-desc::after,.hours-dump-table th.sortable.sort-desc::after,.dashboard-grouped-comparison th.sortable.sort-desc::after{content:'▼'!important;color:var(--ui-focus)}
.hours-dump-table th.sortable a{color:inherit;text-decoration:none;display:block}
.hours-dump-table th.sortable a:hover{text-decoration:underline}
/* Klant/CL in Analyse planning klikbaar gemaakt naar Analyse klant/medewerker -
   zelfde onopvallende stijl als de rest van de tabel, alleen een duidelijke
   hover zodat je ziet dat het een link is. */
.dashboard-cell-link{color:inherit!important;text-decoration:none!important;cursor:pointer}
.dashboard-cell-link:hover{text-decoration:underline!important;color:var(--orange)!important}
.dashboard-compare-tabs .filter-reset{margin-left:2px!important}

/* v17 - Voortgang blijft binnen het venster; horizontale breedte zit alleen in de tabel */
body.progress-page{width:100%!important;max-width:100vw!important;min-width:0!important;overflow:hidden!important}
body.progress-page>header{width:100%!important;max-width:100vw!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
body.progress-page>header .planning-nav{position:absolute!important;right:18px!important;top:50%!important;display:flex!important;align-items:center!important;gap:7px!important;width:auto!important;max-width:calc(100vw - 245px)!important;margin:0!important;transform:translateY(-50%)!important;visibility:visible!important;opacity:1!important}
body.progress-page>header .planning-nav-link{position:static!important;display:inline-flex!important;visibility:visible!important;opacity:1!important;transform:none!important}
.progress-page .progress-main{width:100%!important;max-width:100vw!important;min-width:0!important;height:calc(100dvh - 88px)!important;overflow:hidden!important}
.progress-page .progress-card{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.progress-page .progress-toolbar{flex:0 0 auto!important;min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;gap:7px 12px!important}
.progress-page .progress-toolbar>div:first-child{flex:1 1 260px!important;min-width:220px!important;margin-right:0!important}
.progress-page .progress-year-tabs{flex:0 0 auto!important}
.progress-page .progress-view-controls,.progress-page .progress-viewbar{width:100%!important;max-width:100%!important;min-width:0!important}
.progress-page .progress-table-wrap{flex:1 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:auto!important;overscroll-behavior:contain!important}
.progress-page .progress-table{max-width:none!important}
.progress-page .progress-table thead{position:sticky!important;top:0!important;z-index:50!important}
.progress-page .progress-table thead th{position:relative!important;top:auto!important}
.progress-page .progress-group-row th{z-index:4!important}
.progress-page .progress-header-row th{z-index:3!important}
.progress-page .progress-filter-row th{z-index:2!important}
.progress-page .progress-table .progress-header-row th:first-child,.progress-page .progress-table .progress-filter-row th:first-child{position:sticky!important;left:0!important;top:auto!important;z-index:6!important}
@media(max-width:760px){body.progress-page>header .planning-nav{right:10px!important;max-width:calc(100vw - 180px)!important}.progress-page .progress-toolbar>div:first-child{flex-basis:100%!important}.progress-page .progress-toolbar{align-items:flex-start!important}}

/* v461 Projecten: de oude zichtbare kolom Zoeknaam is verwijderd. De tabel heeft daarom
   exact 12 zichtbare kolommen. Houd kop, filterrij, datarijen en kolombreedtes één-op-één
   gelijk zodat de onderliggende cellen niet meer één positie opschuiven. */
.projecten-table th:nth-child(1),.projecten-table td:nth-child(1){width:100px!important;min-width:100px!important;max-width:100px!important} /* Projectnr. */
.projecten-table th:nth-child(2),.projecten-table td:nth-child(2){width:220px!important;min-width:220px!important;max-width:220px!important} /* Projectomschrijving */
.projecten-table th:nth-child(3),.projecten-table td:nth-child(3){width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center!important} /* Jaar */
.projecten-table th:nth-child(4),.projecten-table td:nth-child(4){width:36px!important;min-width:36px!important;max-width:36px!important;text-align:center!important} /* Type */
.projecten-table th:nth-child(5),.projecten-table td:nth-child(5){width:130px!important;min-width:130px!important;max-width:130px!important} /* Accountant */
.projecten-table th:nth-child(6),.projecten-table td:nth-child(6){width:80px!important;min-width:80px!important;max-width:80px!important} /* Manager */
.projecten-table th:nth-child(7),.projecten-table td:nth-child(7){width:40px!important;min-width:40px!important;max-width:40px!important;text-align:center!important} /* Inzet */
.projecten-table th:nth-child(8),.projecten-table td:nth-child(8){width:90px!important;min-width:90px!important;max-width:90px!important} /* Controleleider */
.projecten-table th:nth-child(9),.projecten-table td:nth-child(9){width:80px!important;min-width:80px!important;max-width:80px!important} /* Assistent */
.projecten-table th:nth-child(10),.projecten-table td:nth-child(10){width:80px!important;min-width:80px!important;max-width:80px!important} /* Budget */
.projecten-table th:nth-child(11),.projecten-table td:nth-child(11){width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center!important} /* Actief */
.projecten-table th:nth-child(12),.projecten-table td:nth-child(12){width:30px!important;min-width:30px!important;max-width:30px!important;text-align:center!important} /* Verwijderen */
.projecten-table{min-width:0!important}

/* Afwijkend jaar in Projecten: dikgedrukt + rood, consistent met rood elders in de
   planningsmodule (zelfde kleur als .deviating-project-year), met extra specificiteit zodat
   dit zeker wint van de algemene .pr-jaar-achtergrondstyling. */
.projecten-table .pr-jaar.deviating-project-year{color:#c40000!important;font-weight:800!important}

/* Accountant bij Projecten toont voortaan alleen de voornaam (net als bij Verdeling
   klanten) — geen extra CSS nodig, dit wordt al zo aangeleverd vanuit de AFAS-vulling. */

/* Projectnr., Projectomschrijving, Accountant en Budget komen bij Projecten
   rechtstreeks uit AFAS en zijn niet meer bewerkbaar (readonly/disabled) — duidelijk
   grijs tonen zodat dit ook visueel klopt. */
.projecten-table input[readonly]{background:#f4f4f4!important;color:#555!important;cursor:not-allowed!important}
.projecten-table select:disabled{cursor:not-allowed!important}

/* Jaarplan & Buddyformulier */
.bf-kwartaal-card h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bf-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;background:#eee;color:#555}
.bf-status-badge.bf-status-open{background:#fff3cd;color:var(--vhm-color-warning,#8a6400)}
.bf-status-badge.bf-status-concept{background:#ffe2c2;color:#a05a00}
.bf-status-badge.bf-status-klaar_om_te_lezen{background:#e6d9ff;color:#5a2ea6}
.bf-status-badge.bf-status-vrijgegeven{background:#ffe2c2;color:#a05a00}
.bf-status-badge.bf-status-klaar_voor_review{background:#e6d9ff;color:#5a2ea6}
.bf-status-badge.bf-status-definitief{background:#d9f2df;color:#1f7a3d}
.bf-deadline-label{font-size:11px;font-weight:400;color:#a05a00}
.bf-leerdoel-blok{border:1px solid #e2e2e2;border-radius:8px;padding:12px;margin-bottom:12px;background:#fafafa}
.bf-leerdoel-blok label{display:block;margin-bottom:8px}
.bf-leerdoel-blok input[type="text"],.bf-leerdoel-blok textarea{width:100%;box-sizing:border-box}
.bf-leerdoel-referentie{margin:0;padding-left:18px}
.bf-leerdoel-referentie li{margin-bottom:8px}
.bf-nieuw-leerdoel{margin-bottom:12px}
.bf-nieuw-leerdoel summary{cursor:pointer;font-weight:700;margin-bottom:8px}
.bf-leerdoel-status-table{width:100%;border-collapse:collapse;margin:10px 0}
.bf-leerdoel-status-table th,.bf-leerdoel-status-table td{border:1px solid #e2e2e2;padding:6px 8px;text-align:left;font-size:12px}
.bf-checkbox-label{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:600}
.bf-thema-blok{border-top:1px solid #eee;padding-top:12px;margin-top:12px}
.bf-thema-blok label{display:block;margin-bottom:8px}
.bf-thema-blok textarea{width:100%;box-sizing:border-box}
.bf-status-actions{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bf-status-actions form{margin:0;display:inline-flex}
.bf-vorig-jaar{background:#fbfbfb}
.bf-inline-form label{display:flex;align-items:center;gap:8px}
.bf-titel-jaar{font-weight:inherit;font-size:inherit}
.evaluation-app-page .card h2 .bf-titel-jaar,.evaluation-app-page h2 .bf-titel-jaar{font-size:inherit!important;font-weight:inherit!important;font-family:inherit!important}
.bf-leerdoel-toevoegen-btn{margin-top:2px;margin-bottom:10px}
.bf-leerdoel-rij{display:flex;align-items:center;gap:8px}
.bf-leerdoel-rij input[type="text"]{flex:0 1 280px;min-width:0;width:auto}
.bf-toelichting-dialog{width:min(560px,92vw);border:1px solid #d5d9dc;border-radius:8px;padding:16px;box-shadow:0 12px 34px #0003}
.bf-toelichting-dialog::backdrop{background:#0006}
.bf-toelichting-dialog label{display:block;margin-bottom:10px;font-weight:700}
.bf-toelichting-dialog textarea{width:100%;box-sizing:border-box;font-weight:400;margin-top:6px}
.bf-veld-uitleg{display:block;font-weight:400;font-size:11px;margin-top:2px}
.bf-subtiele-link{font-size:11px;color:#8a8f94;text-decoration:underline;font-weight:500}
.bf-subtiele-link:hover{color:var(--orange)}
.bf-feedback-ontvangen{background:#f2f2f2;color:#666;border-radius:6px;padding:8px 10px;margin-top:8px;font-size:12px;white-space:pre-wrap}
.bf-feedback-meta{display:block;margin-top:4px;font-size:9px;color:#8a8f94}
.bf-feedback-btn{margin:8px 0}
.bf-feedback-dialog{width:min(480px,92vw)}
.bf-collega-resultaten{display:flex;flex-direction:column;border:1px solid #d5d9dc;border-radius:6px;max-height:180px;overflow-y:auto;margin:-4px 0 10px}
.bf-collega-resultaat-item{display:block!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;text-align:left!important;padding:6px 10px!important;border:0!important;border-radius:4px!important;background:#fff!important;color:#333!important;font:400 12px Arial,sans-serif!important;box-shadow:none!important;cursor:pointer!important}
.bf-collega-resultaat-item:hover{background:#f4f4f4!important;color:#333!important}
.bf-collega-geselecteerd{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.bf-collega-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;border-radius:14px;background:#eef2f5;font-size:11px;font-weight:600;color:#333}
.bf-collega-chip-remove{border:0;background:transparent;color:#8a8f94;font-size:14px;line-height:1;cursor:pointer;padding:0 4px}
.bf-collega-chip-remove:hover{color:#c9342f}
.ideeen-notificatie{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ideeen-notificatie-paneel{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ideeen-notificatie-select,.ideeen-notificatie-functie{width:auto;max-width:140px;height:26px;min-height:0;margin-top:0;font-size:9px}.ideeen-notificatie-chips{display:flex;flex-wrap:wrap;gap:4px;min-height:0}.managed-right{accent-color:var(--portal-blue)!important}
.bf-leerdoel-toevoegen-btn,.bf-aanpassen-link,.bf-verwijder-link{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;font:600 11px Arial,sans-serif!important;border-radius:4px!important;box-shadow:none!important;text-decoration:none!important;text-align:left!important;white-space:nowrap!important;cursor:pointer!important}
.bf-leerdoel-toevoegen-btn{padding:3px 9px!important;background:transparent!important;border:1px solid #cbd0d4!important;color:#555!important}
.bf-leerdoel-toevoegen-btn:hover{background:#f4f4f4!important;color:#333!important}
.bf-leerdoelen-lijst{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.bf-leerdoel-preview{margin:6px 0 4px;font-size:12px;color:#444;white-space:pre-wrap}
.bf-aanpassen-link,.bf-verwijder-link{border:0!important;background:transparent!important;padding:0!important;color:#9aa1a7!important;text-decoration:underline!important;font-weight:400!important}
.bf-aanpassen-link:hover{color:var(--orange)!important}
.bf-verwijder-link{color:#c9342f!important}
.bf-verwijder-link:hover{color:#901f19!important}
.bf-leerdoel-rij{flex-wrap:wrap}
.bf-leerdoel-rij select.bf-leerdoel-status-select{width:auto!important;padding:4px 8px;font-size:11px;border-radius:6px;flex:0 0 auto}
.bf-toelichting-aanpassen-link{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;font:700 11px Arial,sans-serif!important;color:var(--orange2)!important;text-decoration:underline!important;box-shadow:none!important;cursor:pointer!important;flex:0 0 auto}
.bf-toelichting-aanpassen-link:hover{color:var(--orange)!important}
.bf-toelichting-vereist{color:var(--orange2)!important;font-weight:700!important}
.bf-veld-fout{border-color:#c9342f!important}
input.bf-veld-fout,textarea.bf-veld-fout{border:2px solid #c9342f!important;background:#fff5f5!important}
.bf-leerdoel-blok.bf-veld-fout{padding:8px;border:1px solid #c9342f;background:#fff5f5;border-radius:6px}
button.bf-veld-fout,.bf-aanpassen-link.bf-veld-fout{border:1px solid #c9342f!important;border-radius:4px!important;padding:3px 8px!important;background:#fff5f5!important}
.bf-veld-fout-notice{margin-bottom:8px}

/* Leesbaarheid buddyformulier: duidelijke oranje kopjes per onderdeel/thema,
   en kleinere, duidelijk "vergrendelde" weergave van al ingevulde/geblokkeerde tekst. */
.bf-kwartaal-card h3{color:var(--orange2);font-size:15px;font-weight:800;margin:24px 0 10px;padding-bottom:6px;border-bottom:2px solid #ffe2c2;letter-spacing:.2px}
.bf-kwartaal-card form>h3:first-of-type{margin-top:6px}
.bf-thema-blok{border-top:0;padding-top:0;margin-top:22px}
.bf-thema-blok h4{color:var(--orange2);font-size:14px;font-weight:800;margin:0 0 4px;padding:8px 12px;background:#fff6ec;border-radius:6px}
.bf-thema-blok label{font-weight:700;color:#333;font-size:13px}
.bf-thema-blok label textarea,.bf-thema-blok label .bf-periode-label{font-weight:400}
.bf-periode-label{font-weight:400;color:#9aa1a7;font-size:11px}
.bf-leerdoel-status-table thead th{background:#fff6ec;color:var(--orange2);font-weight:800}
.bf-leerdoel-preview{margin:4px 0;padding:8px 10px;font-size:12px;line-height:1.55;color:#555;white-space:normal;background:#f4f4f4;border-left:3px solid #e2e2e2;border-radius:0 4px 4px 0}
.bf-leerdoel-preview b{display:block;margin-bottom:2px;color:#333;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.bf-preview-regel{margin:0 0 8px}
.bf-preview-regel:last-child{margin-bottom:0}
.bf-preview-regel b{display:inline;margin-bottom:0;color:#333;font-size:12px;text-transform:none;letter-spacing:normal}
.bf-groter-kop{font-size:17px!important}
.bf-kwartaal-card h3.bf-groter-kop + p.muted{margin-top:-8px}
.bf-leerdoel-nr{flex:0 0 auto;font-size:12px;color:#333;white-space:nowrap}
.bf-leerdoel-onderwerp-tekst{flex:0 1 280px;min-width:0;font-weight:600;color:#333}
.bf-thema-periode-blok{border-top:1px solid #eee;padding-top:12px;margin-top:12px}
.bf-thema-periode-blok:first-of-type{border-top:0;padding-top:0;margin-top:6px}
.bf-periode-kop{margin:0 0 6px;font-size:12px;font-weight:800;color:var(--orange2);text-transform:uppercase;letter-spacing:.3px}
.bf-periode-actie-rij{border-top:1px solid #eee;padding-top:14px;margin-top:14px}
.bf-periode-actie-rij:first-of-type{border-top:0;padding-top:0;margin-top:0}
.bf-periode-actie-kop{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bf-veld-fout-notice{margin-top:20px}
.bf-actie-gelukt-notice{margin:10px 0 0}
.bf-leerdoel-titelrij{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.bf-veld-fout-notice .bf-fout-lijst{margin:6px 0 0;padding-left:20px}
.bf-veld-fout-notice .bf-fout-lijst li{margin-bottom:2px}

/* Vinkje "Het buddygesprek heeft face-to-face plaatsgevonden", vlak boven de
   statusknoppen van een kwartaal. */
.bf-gesprek-vinkje-label{display:flex!important;align-items:center;gap:8px;font:600 13px Arial,sans-serif;color:#333;margin:0 0 10px;cursor:pointer}
.bf-gesprek-vinkje-label input{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;flex:0 0 auto;cursor:pointer}
.bf-gesprek-vinkje-label.bf-veld-fout{color:#901f19;border:1px solid #f0b3ae;background:#fff5f5;padding:6px 10px;border-radius:4px}
.question.bf-veld-fout{border:2px solid #c9342f!important;background:#fff5f5!important}

/* "Lees verder" inklap-mechanisme voor lange tekstblokken (toelichtingen, ontvangen
   feedback). Wordt door JS alleen toegepast als de tekst daadwerkelijk hoger is dan
   de ingeklapte hoogte; korte teksten blijven gewoon volledig zichtbaar. */
.bf-inklapbaar{position:relative;max-height:6.6em;overflow:hidden;transition:max-height .2s ease}
.bf-inklapbaar.bf-uitgeklapt{max-height:none}
.bf-inklapbaar.bf-heeft-lees-meer:not(.bf-uitgeklapt)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(to bottom,rgba(244,244,244,0) 0%,rgba(244,244,244,.95) 75%)}
.bf-feedback-ontvangen.bf-inklapbaar.bf-heeft-lees-meer:not(.bf-uitgeklapt)::after{background:linear-gradient(to bottom,rgba(242,242,242,0) 0%,rgba(242,242,242,.95) 75%)}
.bf-lees-meer-btn{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;margin:6px 0 0!important;font:700 11px Arial,sans-serif!important;color:var(--orange2)!important;text-decoration:underline!important;box-shadow:none!important;cursor:pointer!important}
.bf-lees-meer-btn:hover{color:var(--orange)!important}



/* Bijzondere dagen: alleen layout/gedrag; kleur, font, border en radius komen uit .vhm-status. */
.planning-page .special-day-item{
  display:flex!important;
  align-items:center!important;
  margin-bottom:1px!important;
  box-sizing:border-box!important;
  cursor:default!important;
  user-select:none!important;
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* Uitgezette werkdag (Beheer > Rechten): deze regel (dag) wordt volledig
   verborgen in de planning, zodat het rooster alleen de dagen toont waarop
   de medewerker daadwerkelijk werkt - vrijdag is bijv. de 5e regel in een
   weekkolom. Staat er toch al een (handmatig toegevoegde) planning op, dan
   blijft die regel gewoon zichtbaar - zie de $dagVerborgen-logica in
   index.php, die deze class dan niet toevoegt. Zodra er client-side
   alsnog iets op gepland wordt, verwijdert planning.js deze class weer
   (cell.classList.remove('day-row-off')), waardoor de regel meteen
   opnieuw verschijnt zonder page-reload. */
.planning-page .day-row.day-row-off{
  display:none!important;
}

/* Op één regel zetten: (a) overboeking - meer dan 8 uur op één dag gepland
   (bijv. 2x 8 uur), of (b) een bijzondere dag (feestdag/kantoordag) waarop
   ook echt werk staat gepland. In beide gevallen blijven alle balkjes
   zichtbaar, staan ze naast elkaar op één regel i.p.v. onder elkaar, en
   krijgen ze allemaal (dus ook het feestdag-balkje) evenveel ruimte: 1
   gedeeld door het aantal balkjes op die regel - geen vaste/kleinere maat. */
.planning-page .day-items.day-items-conflict{
  flex-wrap:nowrap!important;
}
.planning-page .day-items.day-items-conflict .plan-item,
.planning-page .day-items.day-items-conflict .special-day-item{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.planning-page .plan-item.plan-item-conflict .plan-item-name,
.planning-page .plan-item.plan-item-aandacht .plan-item-name,
.planning-page .day-items.day-items-conflict .special-day-item{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
/* Aandacht gebruikt bewust exact dezelfde volledig-rode stijl als conflict
   (zo gevraagd) - dat overschrijft dus ook de definitief/concept-kleur
   zolang aandacht aanstaat. Het wijzigen naar definitief/concept blijft
   intussen gewoon werken (de status wordt normaal opgeslagen); je ziet die
   kleur alleen pas terug zodra aandacht weer wordt uitgezet. */
/* v74 - Logging (Dashboards): filters per kolomkop en klikbare sortering,
   in dezelfde stijl als de Voortgang-tabel - i.p.v. de losse filterbalk
   boven de tabel. Elke kolomfilter is een gewone, native <select> die via
   het HTML "form"-attribuut aan het externe formulier #loggingFilterForm
   hangt (de tabel hoeft dan niet in dat formulier genest te zijn) en bij
   wijziging zichzelf verstuurt. Bewust GEEN zelfgebouwd uitklappaneel meer
   (dat bleek onbetrouwbaar qua zichtbaarheid/positionering) - een native
   select tekent de browser zelf, dus die kan nooit "onder" de tabel
   verdwijnen. Sortering blijft server-side (GET-navigatie), omdat de log
   onbeperkt kan doorgroeien - alles in de browser filteren zoals bij
   Voortgang zou betekenen dat de hele, steeds groter wordende log in één
   keer geladen moet worden. */
.hours-dump-filter-row th{background:var(--ui-filter-bg,#eef0f2);padding:4px 5px}
.hours-dump-filter-row select{width:100%;height:24px;padding:1px 4px;border:1px solid #ccd1d4;border-radius:4px;font-size:9px;box-sizing:border-box;background:#fff;color:#4a545c}
.logging-filter-reset-cell{text-align:right}
.logging-filter-reset{font-size:9px;color:#7a848b;text-decoration:underline;cursor:pointer;white-space:nowrap}

.outlook-subpanel .optie-melding{margin:10px 0;}
.outlook-accounts-table td.outlook-fout-cel{color:var(--danger,#c9342f);font-size:13px}
.outlook-acties{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  flex-wrap:wrap;
}
.outlook-acties .button{padding:8px 16px}
#outlookSyncStatus{font-size:13px}

/* v61 - Voortgang: herziene review-actiepopup (deadline+gebruiker naast
   elkaar, automatische reminder-vinkjes i.p.v. het losse "stuur
   bevestiging"-vinkje), medewerker zichtbaar bij Deadlines */
.progress-review-mail{display:block}
.progress-review-mail[hidden]{display:none}
.progress-review-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.progress-review-row label{display:grid;gap:4px;margin:0;font-size:9px;font-weight:700}
.progress-review-row input[type=date],.progress-review-row select{width:100%;height:29px;padding:3px 6px;border:1px solid #bfc5ca;border-radius:4px;background:#fff;box-sizing:border-box;font-size:9px}
.progress-review-reminders{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:9px;padding-top:9px;border-top:1px solid #e3e6e8}
.progress-review-reminders-label{flex-basis:100%;margin:0 0 1px;font-size:9px;font-weight:700;color:#5b646c}
.progress-review-reminders label{display:flex!important;align-items:center;gap:4px;margin:0;font-size:9px;font-weight:400}
.progress-review-reminders input{width:14px;height:14px;margin:0}
.progress-deadline-row span.progress-deadline-user{color:var(--orange);font-weight:700}

/* v63 - Voortgang: datumveld toont automatisch Onderhanden/n.v.t./Datum als
   dropdown (met popup voor de echte datum), Deadlines-tabblad in Beheer >
   Voortgang (naast Dropdownlijsten) */
/* Voortgang-acties: centrale 4-standen kleurcodering op resterende dagen:
   rood=verlopen, oranje=0-6 dagen, geel=7-14 dagen, groen=>14 dagen. */
.voortgang-deadlines-table td.deadlines-days{font-weight:700}
.voortgang-deadlines-table tr.groen td{background:#eaf7ee}
.voortgang-deadlines-table tr.groen td.deadlines-days{color:#1e7a37}
.voortgang-deadlines-table tr.geel td{background:#fff9e8}
.voortgang-deadlines-table tr.geel td.deadlines-days{color:#b68900}
.voortgang-deadlines-table tr.oranje td{background:#fff1e0}
.voortgang-deadlines-table tr.oranje td.deadlines-days{color:#c9660a}
.voortgang-deadlines-table tr.rood td{background:#fde8e8}
.voortgang-deadlines-table tr.rood td.deadlines-days{color:#c9342f}
.voortgang-deadlines-table .deadlines-actions-col{width:44px;text-align:center}
button.voortgang-deadline-delete{appearance:none;-webkit-appearance:none;display:inline-flex!important;align-items:center;justify-content:center;width:26px!important;height:26px!important;min-width:26px;padding:0!important;margin:0 auto;border:0!important;border-radius:999px!important;background:var(--danger,var(--vhm-color-danger,#a8382f))!important;color:#fff!important;font:800 15px/1 Arial,sans-serif;box-shadow:none!important;cursor:pointer}
button.voortgang-deadline-delete:hover{background:#7f2a23!important}

/* v67 - Homepagina: aantal eigen deadlines onder de Voortgang-tegel, en
   "Mijn deadlines" als eigen pagina binnen Voortgang (nav.php) */
.portal-page .app-label{display:flex;flex-direction:column;gap:3px}
.portal-page .app-deadlines-hint{font-size:12px;font-weight:600;color:#888}
.portal-page .app-progress .app-deadlines-hint{color:#4f8a63}

   naast het bestaande Rechten-tabblad */

/* v64 - Dropdownlijsten: max. 4 kaarten per rij i.p.v. overlappende 5 */
.progress-dropdown-grid{grid-template-columns:repeat(3,minmax(260px,1fr))!important}
@media(max-width:1100px){.progress-dropdown-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}
@media(max-width:640px){.progress-dropdown-grid{grid-template-columns:1fr!important}}

/* Module Ideeën - indienformulier (portal-page achtige, smalle kaart) en
   het beheeroverzicht/instellingen (brede admin-tabel). */
.ideeen-status{display:inline-block;padding:2px 8px;border:1px solid currentColor;border-radius:999px;font-size:9px;font-weight:600;text-transform:none;line-height:1.25}
.ideeen-status-nieuw{background:#fff8f1;color:#d96a12}
.ideeen-status-bezig{background:#fffbea;color:#9a7a16}
.ideeen-status-klaar{background:#f0f8f3;color:#36815a}
.ideeen-mijn-card h2{margin:0 0 10px;font-size:14px}
.ideeen-lijst{display:grid;gap:10px}
.ideeen-rij{padding:10px 12px;border:1px solid #e4e4e4;border-radius:8px;background:#fafafa}
.ideeen-rij-hoofd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.ideeen-rij p{margin:0;white-space:pre-line}
.ideeen-filters{display:flex;align-items:flex-end;gap:16px;margin-bottom:10px;flex-wrap:wrap}
.ideeen-filters label{margin:0;font-size:9px;font-weight:700}
.ideeen-filters select{margin-top:3px}
.ideeen-status-filter{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0}
.ideeen-status-filter legend{float:left;margin:0 4px 0 0;padding:0;font-size:9px;font-weight:700}
.ideeen-status-filter-optie{display:inline-flex!important;align-items:center;gap:4px;margin:0!important;font-size:9px!important;font-weight:500!important;white-space:nowrap}
.ideeen-status-filter-optie input{margin:0}
.ideeen-meldingen-lijst{display:grid;gap:14px}
.ideeen-melding-kaart{box-sizing:border-box;padding:14px;border:1px solid #e4e4e4;border-radius:8px;background:#fff}
.ideeen-melding-meta{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #edf0f2}
.ideeen-meta-veld{display:flex;flex-direction:column;gap:2px}
.ideeen-meta-veld.ideeen-meta-status{flex-direction:row;align-items:center;gap:7px}
.ideeen-melding-meta .ideeen-meta-label{display:block;margin:0;color:#7a848c;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ideeen-meta-waarde{color:#30373d;font-size:9px;font-weight:600}
.ideeen-meta-veld .ideeen-status-select{box-sizing:border-box;height:26px;min-height:0;margin-top:0;font-size:9px}
.ideeen-meta-verwijderen{margin-left:auto}
.ideeen-melding-body{display:flex;gap:16px;align-items:stretch}
.ideeen-melding-kolom{flex:1;min-width:0;box-sizing:border-box;display:flex;flex-direction:column}
.ideeen-kolom-label{margin:0 0 6px;color:#7a848c;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ideeen-omschrijving-cel,.ideeen-reactie-veld{box-sizing:border-box;width:100%;height:100px;min-height:0;padding:9px 10px;font-size:9px;line-height:1.45;overflow-y:auto}
.ideeen-omschrijving-cel{border:1px solid #d8dee3;border-radius:7px;background:#fbfcfd;color:#4f5961;white-space:pre-line;overflow-wrap:anywhere}
.ideeen-reactie-tonen{margin-top:6px;padding:6px 8px;border-radius:6px;background:#eaf6ee;color:#2e6b45;font-size:9px;white-space:pre-line}
.ideeen-reactie-veld{margin-top:0;font-family:inherit;resize:none}
.ideeen-melding-acties{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f2}
.ideeen-melding-acties .ideeen-notificatie{margin-top:0}
@media(max-width:720px){.ideeen-melding-body{flex-direction:column}.ideeen-melding-meta{align-items:flex-start}}
.ideeen-categorieen-table input{margin:0}
.ideeen-categorie-toevoegen-form{display:flex;gap:8px;margin-top:10px}

/* v205 - zoekbare medewerker, deadlineblok en Closed-melding */
.progress-popup-value .progress-note-employee-search{width:100%;height:30px;padding:3px 7px;border:1px solid #bfc5ca;border-radius:5px;background:#fff;font-size:9px;box-sizing:border-box}
.progress-review-notify,.progress-review-complete-notify{display:flex!important;grid-template-columns:16px 1fr!important;align-items:center!important;gap:6px!important;margin:2px 0 8px!important;font-size:9px!important;font-weight:700!important}
.progress-review-notify input,.progress-review-complete-notify input{width:14px!important;height:14px!important;margin:0!important}
.progress-review-mail{margin:0 0 8px!important}
.progress-review-notification-options{display:block}
.progress-review-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.progress-review-reminders{margin-top:8px}
.progress-review-auto-user{display:block;padding-top:18px;font-size:9px;font-weight:700}
.progress-review-notify[hidden],.progress-review-complete-notify[hidden]{display:none!important}

/* v206 - zoekbare echte dropdown voor medewerkerwaarden in actiepopup */
.progress-note-employee-combo{position:relative;width:100%}
.progress-note-employee-combo[hidden]{display:none!important}
.progress-note-employee-search{width:100%;box-sizing:border-box}
.progress-note-employee-options{position:absolute;z-index:1005;left:0;right:0;top:calc(100% + 2px);max-height:230px;overflow:auto;padding:4px;background:#fff;border:1px solid #bbc1c6;border-radius:6px;box-shadow:0 8px 24px #0003}
.progress-note-employee-options[hidden]{display:none!important}
.progress-note-employee-option{display:block;width:100%;padding:7px 9px;border:0;border-radius:4px;background:#fff;color:#222;text-align:left;font:inherit;cursor:pointer}
.progress-note-employee-option:hover,.progress-note-employee-option:focus{background:#f1f3f4;outline:none}

/* v207 - optieveld als vier exclusieve vinkboxen */
.progress-note-employee-choice{display:grid;gap:6px;width:100%}
.progress-note-employee-choice[hidden]{display:none!important}
.progress-note-employee-choice>label{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:2px 0;font-weight:600!important}
.progress-note-employee-choice>label input{width:14px!important;height:14px!important;margin:0!important;flex:0 0 auto}
.progress-note-employee-choice .progress-note-employee-combo{margin-top:2px}

/* v208 - optieveld als dropdown; medewerkerlijst pas tonen tijdens typen */
.progress-note-employee-mode{width:100%;height:30px;padding:3px 7px;border:1px solid #bfc5ca;border-radius:5px;background:#fff;font-size:9px;box-sizing:border-box}


/* v211 - actiepopup: halfbreed optieveld + medewerker ernaast */
.progress-popup-value .progress-note-employee-choice{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:10px;
  row-gap:0;
  align-items:start;
  width:100%;
}
.progress-popup-value .progress-note-employee-choice[hidden]{display:none!important}
.progress-popup-value .progress-note-employee-mode{grid-column:1;min-width:0;width:100%}
.progress-popup-value .progress-note-employee-combo{grid-column:2;min-width:0;width:100%;margin-top:0!important}
.progress-popup-value .progress-note-employee-combo[hidden]{display:none!important}

/* Zoekresultaten gedragen zich als één nette dropdownlijst. */
.progress-note-employee-options{
  padding:0!important;
  overflow:hidden auto!important;
  border:1px solid #b8bec4!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(0,0,0,.16)!important;
}
.progress-note-employee-option{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:7px 9px!important;
  border:0!important;
  border-bottom:1px solid #e7e9eb!important;
  border-radius:0!important;
  background:#fff!important;
  color:#222!important;
  text-align:left!important;
  font:inherit!important;
  font-weight:400!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.progress-note-employee-option:last-child{border-bottom:0!important}
.progress-note-employee-option:hover,
.progress-note-employee-option:focus,
.progress-note-employee-option:active{
  background:#eef2f5!important;
  color:#222!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Deadline compacter; herinneringen sluiten direct onder de deadline aan. */
.progress-review-row{grid-template-columns:minmax(0,220px)!important;gap:0!important}
.progress-review-reminders{margin-top:4px!important;padding-top:5px!important;gap:6px 10px!important}
.progress-review-reminders-label{margin-bottom:0!important}

@media (max-width:640px){
  .progress-popup-value .progress-note-employee-choice{grid-template-columns:1fr;row-gap:6px}
  .progress-popup-value .progress-note-employee-combo{grid-column:1}
}


/* v212 - IN_MAIL: normale dropdown + optionele medewerkerzoeker ernaast */
.progress-popup-value .progress-note-value-row{display:grid;grid-template-columns:1fr;gap:10px;align-items:start;width:100%}
.progress-popup-value .progress-note-value-row:has(.progress-note-employee-combo:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.progress-popup-value .progress-note-status,.progress-popup-value .progress-note-current{min-width:0;width:100%;box-sizing:border-box}
.progress-popup-value .progress-note-employee-combo{min-width:0;width:100%;margin:0!important}
@media(max-width:640px){.progress-popup-value .progress-note-value-row:has(.progress-note-employee-combo:not([hidden])){grid-template-columns:1fr}}

/* v217 - bestaande medewerker: in popup alleen de medewerkerkeuze tonen. */
.progress-popup-value .progress-note-value-row.progress-existing-assignment{grid-template-columns:1fr!important}
.progress-popup-value .progress-note-value-row.progress-existing-assignment .progress-note-employee-combo{grid-column:1/-1!important}

/* v230 - test: vaste kolombreedte van 120px op voortgangstabel */
.progress-page .progress-table col{
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
}
.progress-page .progress-table th,
.progress-page .progress-table td{
  width:120px!important;
  min-width:120px!important;
  max-width:120px!important;
}
.progress-page .progress-table .progress-header-row th{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  -webkit-hyphens:auto!important;
  line-height:1.05!important;
}
.progress-page .progress-table .progress-input,
.progress-page .progress-table .progress-select,
.progress-page .progress-table .progress-multifilter-button,
.progress-page .progress-table .progress-quick-search{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}


/* v233 - voortgangskolommen: inhoud bepaalt breedte, maximaal 120px.
   Koptekst bepaalt de kolombreedte niet en mag afbreken. */
.progress-page .progress-table{
  width:max-content!important;
  table-layout:auto!important;
}
.progress-page .progress-table col{
  width:auto!important;
  min-width:0!important;
  max-width:120px!important;
}
.progress-page .progress-table th,
.progress-page .progress-table td{
  width:auto!important;
  min-width:0!important;
  max-width:120px!important;
}
.progress-page .progress-table td{
  white-space:nowrap!important;
}
.progress-page .progress-table .progress-header-row th{
  width:1%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
}
.progress-page .progress-table .progress-input,
.progress-page .progress-table select,
.progress-page .progress-table input{
  width:auto!important;
  min-width:0!important;
  max-width:120px!important;
  box-sizing:border-box!important;
}

/* v393 - meer leesruimte in halve-dagblokken: de verwijderknop neemt pas
   visueel ruimte in wanneer het blok actief wordt gebruikt. */
.planning-page .plan-item-half{
  padding-left:4px!important;
  padding-right:4px!important;
}
.planning-page .plan-item .plan-item-name{
  text-overflow:clip!important;
}
.planning-page .plan-item .delete-item{
  opacity:0;
  transition:opacity .12s ease;
}
.planning-page .plan-item:hover .delete-item,
.planning-page .plan-item:focus-within .delete-item,
.planning-page .plan-item.item-selected .delete-item,
.planning-page .plan-item .delete-item:focus-visible{
  opacity:1;
}

/* v396 - optioneel dynamisch uitklappen van de planning */
.planning-expand-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:29px;
  margin:0;
  padding:5px 8px;
  box-sizing:border-box;
  border:1px solid #c9c9c9;
  border-radius:5px;
  background:#fff;
  color:#303030;
  font-size:9px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.planning-expand-toggle:hover{border-color:var(--orange);background:#fff7f0;color:#d85f00}
.planning-expand-toggle input{width:13px;height:13px;margin:0;accent-color:var(--orange);cursor:pointer}


/* v322 - beperkt Planning-recht 'Arceren': readonly voor alle normale
   bewerkingen, maar de drie statusknoppen en toegestane klantblokken blijven
   aanklikbaar. */
.planning-readonly.planning-status-only .planning-status-btn{display:inline-flex !important}
.planning-readonly.planning-status-only .plan-item.status-editable-item{cursor:pointer !important}
.planning-readonly.planning-status-only .plan-item.status-editable-item.item-selected{
  outline:2px solid var(--orange) !important;
  outline-offset:1px !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.7) !important;
}


/* v323 - deep-link vanuit Voortgang-taakmail */
.progress-page td.progress-deeplink-target{
  position:relative;
  z-index:3;
  outline:3px solid var(--orange) !important;
  outline-offset:-2px;
  box-shadow:0 0 0 4px rgba(239,108,0,.16) !important;
  transition:box-shadow .2s ease,outline-color .2s ease;
}


/* v334 - Voortgang direct in de bewaarde filterstand tonen.
   Voorkomt de zichtbare sprong 'alles -> filters -> popup' bij refresh/deeplink. */
html.progress-initializing .progress-page .progress-card{
  visibility:hidden !important;
}


/* v353 - BEHEER > RECHTEN: kolombreedte volgt de titelinhoud.
   Geen kunstmatige width:1% meer: dat maakte lange koppen letter voor letter.
   Rechtenkolommen krijgen hun natuurlijke titelbreedte, met 150px als maximum.
   Alleen korte dagkoppen mogen extra compact zijn. */
body.admin-page table.permissions-matrix-table,
body.admin-page .beheer-main table.permissions-matrix-table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto!important;
  border-collapse:collapse;
}
body.admin-page table.permissions-matrix-table th,
body.admin-page table.permissions-matrix-table td,
body.admin-page .beheer-main table.permissions-matrix-table th,
body.admin-page .beheer-main table.permissions-matrix-table td{box-sizing:border-box}

body.admin-page table.permissions-matrix-table th:first-child,
body.admin-page table.permissions-matrix-table td:first-child{
  width:220px!important;max-width:220px!important;text-align:left!important;
}
body.admin-page table.permissions-matrix-table th:nth-child(2),
body.admin-page table.permissions-matrix-table td:nth-child(2){
  width:210px!important;max-width:210px!important;text-align:left!important;
}

/* Rechten: natuurlijke breedte op basis van koptekst; max 150px.
   Normale woordafbreking: nooit meer midden in elk woord/letter voor letter. */
body.admin-page table.permissions-matrix-table th:nth-child(n+3),
body.admin-page table.permissions-matrix-table td:nth-child(n+3){
  width:auto!important;
  max-width:150px!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
body.admin-page table.permissions-matrix-table td.toggle{white-space:nowrap!important}

/* Planning heeft vijf zeer korte weekdagkolommen: die hoeven niet dezelfde
   ruimte te krijgen als inhoudelijke rechtenkoppen. */
body.admin-page table.permissions-matrix-table.planning-rights-matrix th.day-right,
body.admin-page table.permissions-matrix-table.planning-rights-matrix td.day-right{
  width:38px!important;min-width:38px!important;max-width:38px!important;
  padding-left:3px!important;padding-right:3px!important;
}

/* Centraal Toegang > Rechten: drie informatiekolommen vóór de rechten. */
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info th:first-child,
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info td:first-child{
  width:180px!important;max-width:180px!important;
}
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info th:nth-child(2),
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info td:nth-child(2){
  width:240px!important;max-width:240px!important;text-align:left!important;
}
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info th:nth-child(3),
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info td:nth-child(3){
  width:170px!important;max-width:170px!important;text-align:left!important;
}
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info th:nth-child(n+4),
body.admin-page table.permissions-matrix-table.permissions-matrix-three-info td:nth-child(n+4){
  width:auto!important;max-width:150px!important;text-align:center!important;
  white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
  padding-left:8px!important;padding-right:8px!important;
}
body.admin-page .tablewrap:has(> table.permissions-matrix-table){overflow-x:hidden!important}


/* v355 - Toegang > Back-ups: uitsluitend statusweergave, geen downloadacties. */
.backup-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  margin-bottom:12px;
}
.backup-summary-grid>div{
  border:1px solid #e2e2e2;
  border-radius:7px;
  background:#fafafa;
  padding:9px 11px;
}
.backup-summary-grid span{display:block;font-size:9px;color:#666;margin-bottom:3px}
.backup-summary-grid b{font-size:13px}
.backup-status-table{width:100%;table-layout:auto}
.backup-status-table th:nth-child(1),.backup-status-table td:nth-child(1){width:95px}
.backup-status-table th:nth-child(2),.backup-status-table td:nth-child(2){width:75px}
.backup-status-table th:nth-child(3),.backup-status-table td:nth-child(3){width:85px}
.backup-status-table th:nth-child(4),.backup-status-table td:nth-child(4){width:85px}
.backup-status-table th:nth-child(5),.backup-status-table td:nth-child(5){width:75px}
.backup-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:700}
.backup-status.ok{background:#eaf6ee;color:#237a46}
.backup-status.error{background:#fdeaea;color:#a32d2d}
.backup-error-cell{white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.backup-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}



/* v363 - Planning: Mijn klanten + maandkeuze rechts */
.planning-my-clients-btn{
  background:#fff !important;
  border:1px solid #cfcfcf !important;
  color:#333 !important;
}
.planning-my-clients-btn:hover,
.planning-my-clients-btn.active{
  background:#eef4fb !important;
  border-color:#7f9dbd !important;
}
.planning-my-clients-mode .plan-item.my-clients-hidden{
  display:none !important;
}
.planning-my-clients-mode .day-row.plan-cell.my-clients-occupied{
  background:#e1e4e8 !important;
  cursor:not-allowed !important;
}
.planning-my-clients-mode .day-row.plan-cell.my-clients-partly-occupied{
  background:#f0f1f2 !important;
}
.planning-month-select-wrap{margin-left:auto!important}
@media(max-width:1250px){
  .planning-statusbar .planning-monthbar{
    left:auto!important;
    right:16px!important;
    transform:translateY(-50%)!important;
  }
  .planning-statusbar .planning-month-select-wrap{margin-left:0!important}
}


/* v364 - Mijn klanten naast Home; alleen echte Analyse-planningklanten */
body.planning-page > header .planning-nav > button.planning-nav-link{
  font-family:inherit!important;cursor:pointer!important;position:static!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;margin:0!important;width:auto!important;
}
body.planning-page > header .planning-nav > .planning-my-clients-btn.active{
  border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important;
}

/* v365 - Mijn klanten toont uitsluitend klantprojecten.
   Kantoordag/verlof/bijzondere uren worden inhoudelijk verborgen; bezette
   tijd blijft alleen als grijze cel zichtbaar. */
.planning-my-clients-mode .special-day-item.my-clients-hidden{display:none!important}
.planning-my-clients-mode .day-row.has-special-day:not(.my-clients-occupied):not(.my-clients-partly-occupied){background:#fff!important}
/* Planning modal: alleen nog inhoud-specifieke keuzevelden; de modalbasis staat in vhm-ui.css. */
#itemModal .modal-checkbox-grid{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center}
#itemModal .modal-checkbox-grid .modal-choice{display:inline-flex;align-items:center;gap:3px;margin:0;font-size:9px;font-weight:400;white-space:nowrap;cursor:pointer}
#itemModal .modal-checkbox-grid .modal-choice input{width:auto;min-width:0;margin:0}
#itemModal .modal-function-grid{padding:6px 8px;border:1px solid #e4e7ec;border-radius:7px;background:#fafafa}
#itemModal .modal-status-grid .modal-choice,#itemModal .modal-hours-grid .modal-choice{font-weight:700}
#itemModal .modal-collega-suggesties-label{font-size:9px;font-weight:800}
#itemModal .modal-extra-date-box,#itemModal .modal-week-box,#itemModal .modal-suggestie-chip,#itemModal .bf-collega-chip{font-size:9px}

/* Planning modal: checkboxregels (inhoud-specifiek). */
#itemModal .modal-checkbox-grid{display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:7px 18px!important}
#itemModal .modal-checkbox-grid label.modal-choice{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;min-width:0!important;gap:5px!important;margin:0!important;padding:0!important;font-size:9px!important;font-weight:400!important;line-height:1.35!important;white-space:nowrap!important}
#itemModal .modal-checkbox-grid label.modal-choice > input[type="checkbox"]{display:inline-block!important;flex:0 0 auto!important;width:13px!important;height:13px!important;min-width:13px!important;max-width:13px!important;margin:0!important;padding:0!important;vertical-align:middle!important}
#itemModal .modal-hours-grid label.modal-choice,#itemModal .modal-status-grid label.modal-choice{font-weight:700!important}
#itemModal .modal-function-grid{display:flex!important;flex-flow:row wrap!important;gap:7px 18px!important;padding:8px 10px!important;background:#fafafa!important;border:1px solid #e4e7ec!important;border-radius:7px!important}
@media(max-width:520px){#itemModal .modal-checkbox-grid,#itemModal .modal-function-grid{gap:7px 12px!important}}


.functies-compact-table .abbr-col{width:130px}
.functies-compact-table .functie-afkorting{width:110px;max-width:110px;box-sizing:border-box}


/* Planning modal: Uren/Optie-inhoud en placeholder. */
#itemModal #customerSearch::placeholder{font-size:9px!important;font-weight:400!important}
#itemModal .modal-hours-option-row{display:flex!important;align-items:flex-start!important;gap:34px!important;margin:7px 0 10px!important}
#itemModal .modal-hours-option-row>.modal-choice-section{margin:0!important}
#itemModal .modal-hours-option-row>#modalOptieLabel{flex:1 1 auto!important}
#itemModal #modalMultiAdd>.modal-choice-section:first-of-type{margin-top:5px!important}
#itemModal #modalEmployeeChips:empty{display:none!important}
@media(max-width:520px){#itemModal .modal-hours-option-row{gap:20px!important}}


/* v370 - Uren en Optie compact op één regel, titels erboven. */
#itemModal .modal-hours-option-row{gap:20px!important}
#itemModal .modal-hours-grid{flex-wrap:nowrap!important;gap:5px 9px!important}
#itemModal #modalOptieBoxes{flex-wrap:nowrap!important;gap:5px 9px!important}
#itemModal .modal-hours-option-row .modal-checkbox-grid label.modal-choice{gap:3px!important}
@media(max-width:520px){
  #itemModal .modal-hours-option-row{gap:14px!important}
  #itemModal #modalOptieBoxes{flex-wrap:wrap!important;gap:5px 9px!important}
}

/* Planning modal: gekoppelde medewerkers. */
#itemModal #modalLinkedEmployeeChips:empty{display:none!important}
#itemModal .modal-linked-employees{margin-top:4px!important}
#itemModal .modal-linked-employee-chip{opacity:.85}

/* v377: Urendump columns fit content, capped at 150px. */
.hours-dump-table th,.hours-dump-table td{width:auto!important;max-width:150px!important;}
.hours-dump-filter-row input{width:100%!important;max-width:150px!important;}
/* v379: Urendump zo compact mogelijk; inhoud bepaalt breedte, 150px is alleen het maximum. */
#hoursDumpTable{width:auto!important;min-width:0!important;table-layout:auto!important}
#hoursDumpTable th,#hoursDumpTable td{width:1%!important;min-width:0!important;max-width:150px!important}
#hoursDumpTable .hours-dump-filter-row input{width:100%!important;min-width:32px!important;max-width:150px!important}

/* v381 - Planning: filter op meerdere klanten en medewerkers. */
.planning-filter-control{position:relative;display:inline-flex;align-items:center}
body.planning-page > header .planning-filter-control > .planning-filter-btn{
  min-height:29px!important;padding:5px 11px!important;border:1px solid #c9c9c9!important;border-radius:5px!important;
  background:#fff!important;color:#303030!important;font-family:inherit!important;font-size:9px!important;font-weight:700!important;
  line-height:1!important;box-shadow:0 1px 2px #0000000a!important;cursor:pointer!important;
}
body.planning-page > header .planning-filter-control > .planning-filter-btn:hover,
body.planning-page > header .planning-filter-control > .planning-filter-btn.active{
  border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important;
}
.planning-filter-popover{
  position:absolute;z-index:2000;top:calc(100% + 6px);left:0;width:245px;max-height:330px;padding:9px;
  border:1px solid #cfd4dc;border-radius:7px;background:#fff;box-shadow:0 8px 24px #0002;
}
.planning-filter-search{width:100%;height:30px;box-sizing:border-box;margin:0 0 7px;padding:5px 8px;border:1px solid #c9cfd8;border-radius:5px;font:9px inherit}
.planning-filter-options{max-height:270px;overflow:auto}
.planning-filter-option{display:flex;align-items:center;gap:6px;margin:0;padding:5px 3px;font-size:9px;line-height:1.25;cursor:pointer}
.planning-filter-option:hover{background:#f5f6f8}
.planning-filter-option input{width:13px;height:13px;margin:0;flex:0 0 auto}
.planning-filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-filter-option .deviating-project-year{flex:0 0 auto}
body.planning-page > header .planning-clear-filters-btn{color:#8a4a00!important}
.planning-employee-filter-hidden{display:none!important}
.planning-customer-filter-hidden{display:none!important}
@media(max-width:760px){
  .planning-filter-popover{position:fixed;left:10px!important;right:10px!important;top:60px!important;width:auto;max-width:none}
}

/* v382 - compacte Planning-navigatie: maand + filters rechts in statusbalk. */
.planning-statusbar .planning-monthbar{left:auto!important;right:16px!important;transform:translateY(-50%)!important;justify-content:flex-end!important;gap:6px!important}
.planning-statusbar .planning-month-select-wrap{display:flex!important}
.planning-statusbar .planning-month-select-wrap select,.planning-statusbar .planning-filter-btn,.planning-statusbar .planning-clear-filters-btn{height:29px!important;min-height:29px!important;box-sizing:border-box!important;padding:5px 10px!important;border:1px solid #c9c9c9!important;border-radius:5px!important;background:#fff!important;color:#303030!important;font-family:inherit!important;font-size:9px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important}
.planning-statusbar .planning-filter-btn:hover,.planning-statusbar .planning-filter-btn.active{border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important}
.planning-statusbar .planning-clear-filters-btn{color:#8a4a00!important}
@media(max-width:760px){.planning-statusbar{padding-bottom:45px!important}.planning-statusbar .planning-monthbar{top:auto!important;bottom:6px!important;right:10px!important;left:10px!important;transform:none!important;justify-content:flex-end!important}.planning-statusbar .planning-filter-popover{top:auto!important}}

/* v383 - uniforme navigatie, filters en compacte Planning-dropdowns. */
/* Het visuele VHM-logo in moduleheaders was historisch een pseudo-element.
   Deze transparante link ligt exact over dat logo zodat het overal Home is. */
.portal-header-logo-link{
  position:absolute!important;left:16px!important;top:50%!important;z-index:120!important;
  width:205px!important;height:66px!important;transform:translateY(-50%)!important;
  display:block!important;text-decoration:none!important;background:transparent!important;
}
.planning-home-link{min-width:38px!important;width:38px!important;padding-left:0!important;padding-right:0!important;font-size:19px!important;line-height:1!important}
.planning-home-link span{font-size:19px!important;line-height:1!important;transform:translateY(-1px)}
.planning-logout-link{text-transform:uppercase!important}
.portal-logo-link{display:inline-block;text-decoration:none}

/* Geselecteerde module/pagina: dezelfde gearceerde actieve knop als Voortgang. */
.planning-nav .planning-nav-link.active{
  border-color:#9f4300!important;
  background:repeating-linear-gradient(135deg,#c95500 0,#c95500 6px,#e76a0a 6px,#e76a0a 12px)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 0 #8f3b00,0 2px 5px #00000022!important;
}

/* Filters wissen is overal één component; ook links zoals Logging volgen exact dezelfde knopstijl. */
a.filter-reset{text-decoration:none!important}
.logging-filter-reset.filter-reset{font-size:9px!important;color:#42484d!important;text-decoration:none!important}
.planning-clear-filters-btn.filter-reset{margin:0!important}

/* Planning: maand en filters als rustige, echte dropdown-controls zonder schaduw. */
.planning-statusbar{overflow:visible!important;z-index:80!important}
.planning-statusbar .planning-monthbar{
  top:50%!important;right:16px!important;left:auto!important;bottom:auto!important;
  transform:translateY(-50%)!important;align-items:center!important;justify-content:flex-end!important;
  gap:6px!important;z-index:3000!important;
}
.planning-statusbar .planning-month-select-wrap{display:flex!important;align-items:center!important;margin:0!important}
.planning-statusbar .planning-month-select-wrap select,
.planning-statusbar .planning-filter-btn{
  height:29px!important;min-height:29px!important;margin:0!important;box-sizing:border-box!important;
  border:1px solid #bfc5ca!important;border-radius:5px!important;background-color:#fff!important;
  color:#30363b!important;font-family:inherit!important;font-size:9px!important;font-weight:700!important;
  line-height:27px!important;box-shadow:none!important;cursor:pointer!important;vertical-align:middle!important;
}
.planning-statusbar .planning-month-select-wrap select{
  min-width:94px!important;padding:0 28px 0 10px!important;text-align:center!important;text-align-last:center!important;
}
.planning-statusbar .planning-filter-btn{
  position:relative!important;min-width:92px!important;padding:0 26px 0 10px!important;text-align:left!important;
}
.planning-statusbar .planning-filter-btn::after{
  content:'▾';position:absolute;right:9px;top:50%;transform:translateY(-52%);font-size:9px;color:#626a70;pointer-events:none;
}
.planning-statusbar .planning-filter-btn[aria-expanded="true"]::after{content:'▴'}
.planning-statusbar .planning-filter-btn:hover,
.planning-statusbar .planning-filter-btn.active{border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important;box-shadow:none!important}

/* Popovers liggen boven de vaste weekkoppen/planningtabel en worden door JS
   fixed onder de aangeklikte knop geplaatst. */
.planning-filter-popover{
  position:fixed!important;z-index:20000!important;width:245px!important;max-height:330px!important;
  padding:9px!important;border:1px solid #c6ccd2!important;border-radius:6px!important;
  background:#fff!important;box-shadow:none!important;box-sizing:border-box!important;
}
.planning-filter-search{box-shadow:none!important}

@media(max-width:800px){.portal-header-logo-link{left:10px!important;width:145px!important;height:50px!important}}
@media(max-width:760px){
  .planning-statusbar{padding-bottom:45px!important}
  .planning-statusbar .planning-monthbar{top:auto!important;bottom:6px!important;right:10px!important;left:10px!important;transform:none!important;justify-content:flex-end!important}
}

/* v384 - Planning filteroverlays + uniforme filterreset + signoff-icoon. */
.planning-filter-popover[hidden]{display:none!important}
.planning-filter-popover:not([hidden]){display:block!important}

/* Exact dezelfde Filters wissen-knop als Voortgang, op alle pagina's. */
button.filter-reset,
a.filter-reset,
.progress-clear-filters,
.planning-clear-filters-btn.progress-clear-filters{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:4px 10px!important;
  border:1px solid #cbd0d5!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#394149!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
button.filter-reset:hover,
a.filter-reset:hover,
.progress-clear-filters:hover,
.planning-clear-filters-btn.progress-clear-filters:hover{
  border-color:#b2b8be!important;
  background:#f7f7f7!important;
  color:#394149!important;
}

/* Universeel uitlog/power-icoon. */
.signoff-icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:700}
.planning-logout-link{min-width:34px!important;padding-left:8px!important;padding-right:8px!important;text-transform:none!important}
#portalHomeLogout .signoff-icon{font-size:18px}

/* v386 - Planningfilter dropdowns compact en normaal gewicht. */
.planning-filter-popover{
  width:210px!important;max-height:285px!important;padding:6px!important;border-radius:5px!important;
  font-size:9px!important;font-weight:400!important;
}
.planning-filter-popover .planning-filter-search{
  display:block!important;width:100%!important;height:20px!important;min-height:20px!important;
  margin:0 0 4px!important;padding:1px 5px!important;box-sizing:border-box!important;
  border:1px solid #cbd0d5!important;border-radius:3px!important;background:#fff!important;color:#30363b!important;
  font-family:inherit!important;font-size:9px!important;font-weight:400!important;line-height:16px!important;box-shadow:none!important;
}
.planning-filter-popover .planning-filter-options{max-height:245px!important;overflow:auto!important}
.planning-filter-popover label.planning-filter-option{
  display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:3px 2px!important;
  font-family:inherit!important;font-size:9px!important;font-weight:400!important;line-height:1.15!important;cursor:pointer!important;
}
.planning-filter-popover label.planning-filter-option span{font-size:9px!important;font-weight:400!important;line-height:1.15!important}
.planning-filter-popover label.planning-filter-option input{width:12px!important;height:12px!important;margin:0!important;flex:0 0 auto!important}
.planning-filter-popover label.planning-filter-option[hidden]{display:none!important}
.planning-filter-popover label.planning-filter-option .deviating-project-year{flex:0 0 auto!important;font-weight:800!important}

/* v412 - klantteamfilter en bezettingsweergave in Planning. */
.planning-filter-actions{margin:0 0 4px;padding:0 0 4px;border-bottom:1px solid #e2e5e9}
.planning-filter-popover label.planning-filter-action{
  display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:3px 2px!important;
  font-size:9px!important;font-weight:600!important;line-height:1.15!important;cursor:pointer!important;
}
.planning-filter-popover label.planning-filter-action input{width:12px!important;height:12px!important;margin:0!important;flex:0 0 auto!important}
.planning-customer-filter-active .day-row.plan-cell.planning-filter-occupied{background:#e1e4e8!important;cursor:not-allowed!important}
.planning-customer-filter-active .day-row.plan-cell.planning-filter-partly-occupied{background:#f0f1f2!important}
.planning-customer-filter-active .special-day-item.planning-customer-filter-hidden{display:none!important}
.planning-customer-filter-active .day-row.has-special-day:not(.planning-filter-occupied):not(.planning-filter-partly-occupied){background:#fff!important}

/* v387 - Voortgang meerkeuzefilters visueel gelijk aan de compacte Planningfilters. */
.progress-multifilter-menu{
  width:210px!important;max-width:210px!important;max-height:285px!important;padding:6px!important;
  border:1px solid #c6ccd2!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important;
  box-sizing:border-box!important;font-family:inherit!important;font-size:9px!important;font-weight:400!important;
}
.progress-multifilter-actions{
  display:flex!important;align-items:center!important;gap:4px!important;padding:0 0 4px!important;
  border-bottom:0!important;
}
.progress-multifilter-actions input[type="search"]{
  order:1!important;display:block!important;flex:1 1 auto!important;width:100%!important;height:20px!important;min-height:20px!important;
  margin:0!important;padding:1px 5px!important;border:1px solid #cbd0d5!important;border-radius:3px!important;
  background:#fff!important;color:#30363b!important;font-family:inherit!important;font-size:9px!important;font-weight:400!important;
  line-height:16px!important;box-shadow:none!important;box-sizing:border-box!important;
}
.progress-multifilter-actions button{
  order:2!important;flex:0 0 auto!important;height:20px!important;min-height:20px!important;margin:0!important;padding:1px 5px!important;
  border:1px solid #cbd0d5!important;border-radius:3px!important;background:#fff!important;color:#30363b!important;
  font-family:inherit!important;font-size:9px!important;font-weight:400!important;line-height:16px!important;box-shadow:none!important;
}
.progress-multifilter-list{max-height:245px!important;overflow:auto!important;padding-top:0!important}
.progress-multifilter-list label{
  display:flex!important;align-items:center!important;gap:5px!important;min-height:0!important;margin:0!important;padding:3px 2px!important;
  border-radius:0!important;font-family:inherit!important;font-size:9px!important;font-weight:400!important;line-height:1.15!important;
  cursor:pointer!important;white-space:normal!important;
}
.progress-multifilter-list label:hover{background:#f5f6f8!important}
.progress-multifilter-list label span{font-size:9px!important;font-weight:400!important;line-height:1.15!important;overflow-wrap:anywhere!important}
.progress-multifilter-list label input{width:12px!important;height:12px!important;margin:0!important;flex:0 0 auto!important}

/* v388 - Voortgang Jaar/Fase/Type als compacte dropdowns, gelijk aan Planning. */
.progress-page .progress-toolbar-compact{
  display:flex!important;align-items:center!important;min-height:43px!important;padding:6px 10px!important;
  gap:8px!important;flex-wrap:nowrap!important;overflow:visible!important;
}
.progress-page .progress-toolbar-compact>.autosave-state{margin-right:auto!important}
.progress-page .progress-top-filters{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;margin-left:auto!important}
.progress-page .progress-year-select-wrap{display:flex!important;align-items:center!important;margin:0!important}
.progress-page .progress-year-select-wrap select,
.progress-page .progress-top-filter-btn{
  height:29px!important;min-height:29px!important;margin:0!important;box-sizing:border-box!important;
  border:1px solid #bfc5ca!important;border-radius:5px!important;background:#fff!important;color:#30363b!important;
  font-family:inherit!important;font-size:9px!important;font-weight:700!important;line-height:27px!important;
  box-shadow:none!important;cursor:pointer!important;
}
.progress-page .progress-year-select-wrap select{min-width:82px!important;padding:0 27px 0 9px!important;text-align:center!important;text-align-last:center!important}
.progress-page .progress-top-filter-btn{position:relative!important;min-width:88px!important;padding:0 25px 0 10px!important;text-align:left!important}
.progress-page .progress-top-filter-btn::after{content:'▾';position:absolute;right:8px;top:50%;transform:translateY(-52%);font-size:9px;color:#626a70;pointer-events:none}
.progress-page .progress-top-filter-btn[aria-expanded="true"]::after{content:'▴'}
.progress-page .progress-top-filter-btn:hover,
.progress-page .progress-top-filter-btn.active{border-color:var(--orange)!important;background:#fff7f0!important;color:#d85f00!important}
.progress-page .progress-filter-sources{display:none!important}
.progress-page .progress-top-filter-menu{z-index:20000!important;box-shadow:none!important}
.progress-page .progress-top-filter-menu .progress-multifilter-actions input{font-size:9px!important;font-weight:400!important}
@media(max-width:760px){
  .progress-page .progress-toolbar-compact{flex-wrap:wrap!important}
  .progress-page .progress-top-filters{width:100%!important;justify-content:flex-end!important;flex-wrap:wrap!important}
}

/* v389 - compacte home/logout en managerkleuren Voortgang */
.planning-nav .planning-home-link,
.planning-nav .planning-logout-link{
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:30px!important;
  min-height:30px!important;
  box-sizing:border-box!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.planning-nav .planning-home-link>span{font-size:15px!important;line-height:1!important;font-weight:400!important}
.planning-nav .planning-logout-link .signoff-icon{font-size:15px!important;line-height:1!important;font-weight:600!important}
.progress-table td.manager-required-cell{background:#fff2cc!important}
.progress-table td.manager-manual-cell{background:#f4cccc!important}


/* v987: compacte voortgangprojectkolom. */
.progress-client-label{display:flex;align-items:center;gap:3px;min-width:0;width:100%}
.progress-client-label>b{flex:1 1 auto;min-width:0}
.bf-feedback-kop{margin-top:10px;margin-bottom:4px}.bf-feedback-kop strong{display:block;font-size:12px;color:#333}.bf-feedback-kop .bf-feedback-meta{margin-top:1px}

/* v453: ontvangen feedback als zelfstandig, rustig onderdeel van Buddyformulier */
.bf-feedback-sectie .bf-groter-kop{margin-bottom:12px}
.bf-feedback-periode+.bf-feedback-periode{margin-top:16px;padding-top:14px;border-top:1px solid #e6e9ec}
.bf-feedback-item+.bf-feedback-item{margin-top:10px}
.bf-feedback-sectie .bf-feedback-kop{margin:0 0 4px}
.bf-feedback-sectie .bf-feedback-kop strong{font-size:12px;line-height:1.25}
.bf-feedback-sectie .bf-feedback-meta{font-size:9px;line-height:1.25;color:#7b848c}
.bf-feedback-sectie .bf-feedback-ontvangen{margin-top:4px}

/* v455: context bij opgevraagde feedback */
.bf-feedback-aanvraag{margin-top:7px;padding:7px 9px;background:#fafafa;border-left:2px solid #d8dde2;border-radius:3px;color:#5f666d;font-size:11px;line-height:1.4}
.bf-feedback-label{display:block;margin-bottom:3px;font-size:9px;font-weight:700;color:#6f777e}
.bf-feedback-label-antwoord{margin-top:8px;margin-bottom:0}

/* v457: verplichte concrete feedbackvraag */
.bf-feedback-vraag-ongeldig{border-color:#c9342f!important;background:#fff5f4!important;box-shadow:0 0 0 1px #c9342f22!important}
.bf-feedback-vraag-fout{display:block;margin-top:5px;color:#c9342f;font-size:11px;font-weight:600}
.bf-feedback-vraag-fout[hidden]{display:none!important}

/* v471 - Projecten voorstel */
.project-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 18px}.project-kpis p{margin:0;padding:12px;border:1px solid #e1e4e7;border-radius:10px;background:#fafbfb}.project-team-chips{display:flex;flex-wrap:wrap;gap:7px}.project-team-chips span{padding:6px 9px;border-radius:999px;background:#eef1f3;font-size:11px}.project-log-row{padding:10px 0;border-bottom:1px solid #e7e9eb}.project-log-row small{display:block;color:#75808a;margin-top:2px}.project-admin-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.project-admin-form label,.project-admin-form input,.project-admin-form select,.project-admin-form textarea{width:100%}.app-projecten .app-icon svg{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@media(max-width:700px){.project-kpis,.project-admin-form .form-grid{grid-template-columns:1fr}}
/* v477 - duidelijke scheiding: operationele module-instellingen oranje, beheerrechten blauw. */
.operational-right{accent-color:var(--portal-orange)!important;cursor:pointer}
.er-tab[data-right="statistieken"],.er-tab[data-right="overzicht"]{accent-color:var(--portal-blue)!important}

/* v481 - dynamische projecttoegang onder Toegang > Modules */
.project-access-matrix thead .project-group{text-align:center;font-weight:700;white-space:nowrap}
.project-access-matrix thead .project-subheaders th{font-size:11px;font-weight:600;line-height:1.15;min-width:76px;max-width:130px;white-space:normal;vertical-align:bottom}
.project-access-matrix thead .project-column{padding-left:7px;padding-right:7px}
.project-selector-tabs{margin-bottom:14px;overflow-x:auto;flex-wrap:nowrap}
.project-selector-tabs a{white-space:nowrap}
\n\n/* v488 - één uniforme derde-niveau navigatie in alle Beheer-modules.\n   Gebaseerd op Planning/Evaluaties > Instellingen: losse compacte witte tabs,\n   oranje actieve tab en een subtiele scheidingslijn eronder. */\nbody.admin-page .beheer-level3-tabs,\nbody.admin-page .planning-admin-page .beheer-level3-tabs,\nbody.admin-page .beheer-main .beheer-level3-tabs {\n  display:flex!important;\n  align-items:center!important;\n  flex-wrap:wrap!important;\n  gap:5px!important;\n  width:100%!important;\n  max-width:none!important;\n  margin:0 0 10px!important;\n  padding:0 0 7px!important;\n  border:0!important;\n  border-bottom:1px solid #ddd!important;\n  border-radius:0!important;\n  background:transparent!important;\n  box-shadow:none!important;\n  overflow:visible!important;\n  box-sizing:border-box!important;\n}\nbody.admin-page .beheer-level3-tabs a,\nbody.admin-page .planning-admin-page .beheer-level3-tabs a,\nbody.admin-page .beheer-main .beheer-level3-tabs a {\n  display:inline-flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  flex:0 0 auto!important;\n  width:auto!important;\n  min-width:0!important;\n  min-height:28px!important;\n  max-width:none!important;\n  padding:4px 10px!important;\n  border:1px solid #d6d6d6!important;\n  border-radius:4px!important;\n  background:#fff!important;\n  color:#333!important;\n  box-shadow:none!important;\n  text-decoration:none!important;\n  white-space:nowrap!important;\n  font-size:11px!important;\n  font-weight:700!important;\n  line-height:1!important;\n}\nbody.admin-page .beheer-level3-tabs a.active,\nbody.admin-page .planning-admin-page .beheer-level3-tabs a.active,\nbody.admin-page .beheer-main .beheer-level3-tabs a.active {\n  border-color:var(--orange)!important;\n  background:var(--orange)!important;\n  color:#fff!important;\n  box-shadow:none!important;\n}\n

/* v489 - definitieve uniforme derde-niveau Beheer-tabs.
   Altijd direct onder niveau 2, zonder card-achtergrond of module-specifieke afwijkingen. */
body.admin-page .beheer-level3-tabs {
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:7px 8px!important;
  border:0!important;
  border-bottom:1px solid #d8d8d8!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
}
body.admin-page .beheer-level3-tabs a {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:25px!important;
  max-width:none!important;
  margin:0!important;
  padding:4px 9px!important;
  border:1px solid #cfd4d8!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#252525!important;
  box-shadow:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
}
body.admin-page .beheer-level3-tabs a.active {
  border-color:var(--orange)!important;
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:none!important;
}
/* inhoud begint na de uniforme niveau-3 balk */
body.admin-page .beheer-level3-tabs + .card,
body.admin-page .beheer-level3-tabs + section.card {
  margin-top:8px!important;
}

/* v490 - gestructureerd projectbeheer */
.project-detail-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 10px;padding:0 0 8px;border-bottom:1px solid #ddd}.project-detail-tabs a{padding:5px 10px;border:1px solid #cfd4d8;border-radius:4px;background:#fff;color:#252525;text-decoration:none;font-size:9px;font-weight:700}.project-detail-tabs a.active{background:var(--orange);border-color:var(--orange);color:#fff}.project-inline-add{display:flex;gap:6px;align-items:end;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e1e4e7}.project-inline-add input,.project-inline-add select{width:auto;min-width:130px;flex:1}.project-inline-add button{flex:0 0 auto}.project-structured-section td{vertical-align:top}.project-row-delete{min-width:28px}@media(max-width:800px){.project-inline-add>*{width:100%!important;flex-basis:100%!important}}
/* v494 - projectplan als doorlopend evaluatieformulier */
.projectplan-evaluation-style{display:flex;flex-direction:column;gap:14px;margin-top:0}.projectplan-evaluation-style>.card{margin:0}.projectplan-evaluation-style textarea{width:100%;box-sizing:border-box;min-height:110px}.projectplan-evaluation-style label{display:block;margin-top:10px}.projectplan-evaluation-style .tablewrap{margin-top:12px}.projectplan-evaluation-style .project-inline-add{margin-top:12px}.evaluation-savebar{position:sticky;bottom:0;z-index:5;padding:12px 0;text-align:right;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 28%)}

/* v497 - Projecten urenbesteding */
.project-hours-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:24px;align-items:start;margin:20px 0 28px}.project-pie-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.project-pie-wrap canvas{width:250px!important;height:250px!important;max-width:100%}.project-pie-legend{display:flex;flex-direction:column;gap:8px}.project-pie-legend span{display:flex;align-items:center;gap:8px}.project-pie-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;flex:0 0 11px}@media(max-width:900px){.project-hours-grid{grid-template-columns:1fr}}
/* Project uren-dashboard v498 */
.projecten-page .project-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.projecten-page .project-kpis p{background:#fff;border:1px solid #e6e8eb;border-radius:14px;padding:18px 20px;box-shadow:0 3px 14px rgba(25,35,45,.05);font-size:12px;color:#6b747c}.projecten-page .project-kpis p b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b747c}.projecten-page .project-kpis p br+*{font-size:22px}.project-dashboard-card{padding:18px 20px;margin:0 0 20px}.project-dashboard-head{display:flex;justify-content:space-between;align-items:start}.project-dashboard-head h3{margin:0 0 3px}.project-dashboard-head p{margin:0}.project-month-chart{height:180px;display:flex;align-items:flex-end;justify-content:flex-start;gap:4px;padding:18px 8px 0;border-bottom:1px solid #e4e7e9;overflow-x:auto;scrollbar-width:thin}.project-month-col{flex:0 0 34px;min-width:34px;height:158px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.project-month-bar{width:20px;background:linear-gradient(180deg,#f3a35c,#df7414);border-radius:5px 5px 2px 2px;min-height:4px}.project-month-value{font-size:9px;font-weight:700;color:#4e5962;line-height:1}.project-month-col small{font-size:9px;white-space:nowrap;color:#78828a;line-height:1.1}.projecten-page .project-hours-grid>div{background:#fff;border:1px solid #e6e8eb;border-radius:14px;padding:18px 20px;box-shadow:0 3px 14px rgba(25,35,45,.04)}.projecten-page .project-hours-grid h3{margin-top:0}.projecten-page #projectFunctiePie{filter:drop-shadow(0 4px 8px rgba(20,30,40,.08))}@media(max-width:900px){.projecten-page .project-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.projecten-page .project-kpis{grid-template-columns:1fr}}


/* v501 - Projecten urenbesteding: luchtiger dashboard + lichte functiekleuren */
.project-hours-dashboard{padding:22px 24px!important}
.project-hours-dashboard>h2{margin:0 0 18px}
.project-hours-dashboard .project-kpis{margin:0 0 26px}
.project-hours-dashboard .project-dashboard-card{margin-bottom:26px}
.project-hours-dashboard .project-hours-grid{margin:0 0 26px;gap:20px}
.project-hours-dashboard .project-hours-grid>div{padding:20px 22px}
.project-hours-dashboard .project-hours-grid h3{margin:0 0 14px}
.project-hours-section{margin-top:26px;padding:20px 22px;background:#fff;border:1px solid #e6e8eb;border-radius:14px;box-shadow:0 3px 14px rgba(25,35,45,.04)}
.project-hours-section-head{margin-bottom:14px}
.project-hours-section-head h3{margin:0 0 4px}
.project-hours-section-head p{margin:0}
.project-hours-section .tablewrap{margin-top:10px}
.project-hours-section .beheer-table th,.project-hours-section .beheer-table td{padding-top:10px!important;padding-bottom:10px!important}
.project-hours-outside{margin-top:22px}
.project-hours-outside .project-hours-section-head{padding-bottom:10px;border-bottom:1px solid #eef0f2}
.project-pie-legend{gap:10px!important}
.project-pie-legend span{line-height:1.35}
.project-pie-legend i{width:12px!important;height:12px!important;flex-basis:12px!important;border-radius:999px!important}
@media(max-width:700px){.project-hours-dashboard{padding:16px!important}.project-hours-section{padding:16px}.project-hours-dashboard .project-hours-grid>div{padding:16px}}

/* v503 Projecten: urenoverzicht in twee compacte dashboardblokken */
.project-hours-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch;margin:24px 0 28px}
.project-hours-overview-grid>.project-dashboard-card{margin:0;min-width:0;height:100%;box-sizing:border-box}
.project-hours-overview-grid h3{margin:0 0 5px}
.project-hours-overview-grid .project-trend-card{display:flex;flex-direction:column}
.project-hours-overview-grid .project-month-chart{flex:1;min-height:180px}
.project-hours-overview-grid .project-pie-card .project-pie-wrap{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:28px;margin-top:12px}
.project-hours-overview-grid .project-pie-card canvas{width:230px!important;height:230px!important;flex:0 0 230px}
.project-hours-overview-grid .project-pie-legend{font-size:12px;min-width:0;flex:1}
.project-hours-overview-grid .project-pie-legend span{white-space:nowrap}
.projectplan-save-status{margin-right:auto}.projectplan-save-status.save-error{color:#b42318;font-weight:600}
@media(max-width:1100px){.project-hours-overview-grid{grid-template-columns:1fr}.project-hours-overview-grid .project-pie-card .project-pie-wrap{justify-content:center}}
@media(max-width:650px){.project-hours-overview-grid .project-pie-card .project-pie-wrap{flex-wrap:wrap}.project-hours-overview-grid .project-pie-legend span{white-space:normal}}

/* v510 - Rechten staat als eerste niveau-2 tab en heeft dezelfde gestreepte actieve stijl, maar blauw. */
.module-subtabs a.rights-subtab.active,
.evaluation-subtabs a.rights-subtab.active {
  border-color:#2f66a5!important;
  background:repeating-linear-gradient(135deg,#4f82bd 0,#4f82bd 8px,#3f73b3 8px,#3f73b3 16px)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(65,122,184,.16),0 3px 10px rgba(47,102,165,.34),inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* v512 - Projectevaluaties */
.project-eval-questions input,.project-eval-questions select,.project-eval-questions textarea{min-width:90px;width:100%;box-sizing:border-box}.project-eval-questions .eval-order{width:72px;min-width:72px}.project-eval-questions .eval-section{min-width:190px}.project-eval-questions .eval-question{min-width:280px;resize:vertical}.project-eval-questions .eval-options{min-width:160px}.project-eval-new-question{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,2fr) 130px minmax(170px,1fr) auto auto;gap:10px;align-items:center;margin-top:14px}.project-eval-new-question input,.project-eval-new-question select{width:100%;box-sizing:border-box}.project-eval-recipient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:12px 0 18px}.project-eval-recipient-grid label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border,#ddd);border-radius:8px;background:var(--card-bg,#fff)}.project-eval-recipient-grid label small{grid-column:2;color:#777}.project-eval-select-actions{display:flex;gap:8px;margin-top:10px}.project-eval-round{border-top:1px solid var(--border,#ddd);padding-top:14px;margin-top:14px}.project-eval-round:first-of-type{border-top:0;padding-top:0}.project-eval-status{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.86em;font-weight:700;background:#f3f3f3}.project-eval-status.ingevuld{background:#def2e4;color:#246b38}.project-eval-status.open{background:#fff0d9;color:#8a5200}.project-eval-result{max-width:760px;padding:8px 0}.project-eval-result p{padding:8px 0;border-bottom:1px solid #eee;margin:0}.project-eval-public{background:#f5f5f3}.project-eval-public-main{max-width:960px;margin:0 auto;padding:28px 18px 60px}.project-eval-public-header h1{margin-bottom:6px}.project-eval-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.project-eval-info-grid p{margin:0;padding:10px;border-radius:8px;background:rgba(0,0,0,.025)}.project-eval-known{margin-top:16px;padding-top:14px;border-top:1px solid #e5e5e5}.project-eval-field{margin:0 0 22px}.project-eval-field>label{display:block;margin-bottom:8px}.project-eval-response-form textarea{width:100%;box-sizing:border-box;resize:vertical}.project-eval-options{display:flex;flex-wrap:wrap;gap:9px}.project-eval-options label{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff}.project-eval-submit{position:sticky;bottom:0;padding:14px 16px;background:rgba(255,255,255,.96);border:1px solid #ddd;border-radius:10px;box-shadow:0 -3px 14px rgba(0,0,0,.06);display:flex;align-items:center;gap:14px}.project-eval-submit p{margin:0}.notice.error{padding:12px 14px;margin:12px 0;border-radius:8px;background:#fde7e7;color:#8c2020}.form-grid .wide{grid-column:1/-1}
@media(max-width:900px){.project-eval-new-question{grid-template-columns:1fr}.project-eval-questions{min-width:1000px}}
.project-eval-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 18px}.project-eval-score-grid>div{padding:12px;border:1px solid var(--border,#ddd);border-radius:9px;background:rgba(0,0,0,.02)}.project-eval-score-grid span,.project-eval-score-grid small{display:block}.project-eval-score-grid strong{display:block;font-size:1.25rem;margin:4px 0}

/* v516: expliciet verzoek tot aanpassing in Buddyformulier */
.bf-verzoek-aanpassing-wrap{margin:0 0 12px}
.bf-verzoek-aanpassing-editor{margin-top:10px;padding:12px;border:1px solid #d1d5db;border-radius:8px;background:#fff}
.bf-verzoek-aanpassing-editor textarea{margin-top:6px}
.bf-verzoek-autosave{display:block;margin-top:4px;font-size:.9em}
.bf-verzoek-aanpassing-medewerker{margin:0 0 12px;padding:14px 16px;border:2px solid #dc2626;border-radius:9px;background:#fff7f7;color:#7f1d1d}
.bf-verzoek-aanpassing-medewerker b{display:block;margin-bottom:6px;color:#b91c1c}


/* v517: aanpassingsverzoek per individuele buddy-aanvulling */
.bf-verzoek-link{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:-2px 0 12px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--orange2)!important;text-decoration:underline!important;text-underline-offset:2px;font:700 11px Arial,sans-serif!important;box-shadow:none!important;cursor:pointer!important}
.bf-verzoek-link:hover{color:var(--orange)!important}
.bf-verzoek-dialog textarea{width:100%;min-height:120px}
.bf-verzoek-aanpassing-medewerker{margin:6px 0 14px;padding:12px 14px;border:2px solid #dc2626;border-radius:8px;background:#fff7f7;color:#7f1d1d}
.bf-verzoek-aanpassing-medewerker b{color:#b91c1c}

/* v519: Verzoek tot aanpassing klapt inline open onder de betreffende buddy-aanvulling. */
.bf-verzoek-inline{margin:-4px 0 14px;padding:10px 12px;border-left:3px solid var(--orange2);background:rgba(233,111,0,.045);border-radius:0 7px 7px 0}
.bf-verzoek-inline[hidden]{display:none!important}
.bf-verzoek-inline p{margin:0 0 7px;font-size:.92em;color:#555}
.bf-verzoek-inline textarea{width:100%;box-sizing:border-box;min-height:92px;resize:vertical}


/* v520: medewerker bevestigt per aanpassingsverzoek dat de wijziging is verwerkt. */
.bf-verzoek-verwerkt-label{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:700;color:#7f1d1d}
.bf-verzoek-verwerkt-label input[type=checkbox]{width:18px;height:18px;margin:0}

/* v522: ingevulde teksten van medewerker en buddy blijven normaal/dun leesbaar. */
.evaluation-app-page textarea[name^="thema["][name$="[medewerker]"],
.evaluation-app-page textarea[name^="thema["][name$="[buddy]"],
.evaluation-app-page textarea[name="leerdoelen_voortgang_buddy"],
.evaluation-app-page .bf-leerdoel-preview{
  font-weight:400!important;
}

/* v523: invoertekst in het buddyformulier is altijd normaal/dun, ook tijdens typen. */
.evaluation-app-page textarea,
.evaluation-app-page input[type="text"],
.evaluation-app-page input[type="email"],
.evaluation-app-page input[type="search"]{
  font-weight:400!important;
}

/* v525: aanpassingsverzoeken rustig geel; rood alleen bij validatiefout. */
.bf-verzoek-aanpassing-medewerker{border-color:#e6b94a!important;background:#fff9df!important;color:#5f4a00!important}
.bf-verzoek-aanpassing-medewerker b{color:#8a6500!important}
.bf-verzoek-verwerkt-label{color:#5f4a00!important}
.bf-verzoek-aanpassing-medewerker.bf-verzoek-validatie-fout{border-color:#dc2626!important;background:#fff7f7!important;color:#7f1d1d!important}
.bf-verzoek-aanpassing-medewerker.bf-verzoek-validatie-fout b,.bf-verzoek-aanpassing-medewerker.bf-verzoek-validatie-fout .bf-verzoek-verwerkt-label{color:#b91c1c!important}

/* v532 - Voortgang filters exact verticaal uitlijnen. */
.progress-page .progress-inline-check{display:inline-flex!important;align-items:center!important;align-self:center!important;height:29px!important;line-height:29px!important;margin:0!important;gap:5px!important;vertical-align:middle!important}
.progress-page .progress-inline-check input{margin:0!important;align-self:center!important;vertical-align:middle!important}

/* v533 - Voortgang: inhoud direct tonen tijdens initialisatie; geen wit scherm bij refresh. */
html.progress-initializing .progress-page .progress-card{visibility:visible!important;}
\n\n/* v534 - Voortgang filterbalk compact links + stabiele eerste render zonder JS-kolombreedte-shift. */
.progress-page .progress-toolbar-compact{justify-content:flex-start!important}
.progress-page .progress-toolbar-compact>.autosave-state{margin-right:0!important;flex:0 0 auto!important}
.progress-page .progress-top-filters{justify-content:flex-start!important;margin-left:0!important;width:auto!important;flex:0 0 auto!important}
.progress-page .progress-year-select-wrap{flex:0 0 auto!important;width:auto!important}
.progress-page .progress-year-select-wrap select{
  width:auto!important;min-width:0!important;max-width:none!important;
  padding:0 25px 0 8px!important;text-align:left!important;text-align-last:left!important;
}
.progress-page .progress-top-filter-btn{width:auto!important;min-width:0!important;padding-left:8px!important;padding-right:23px!important}
.progress-page .progress-clear-filters{flex:0 0 auto!important}
.progress-page .progress-table{table-layout:auto!important}

/* v538: Opgevraagde feedback is een volwaardig eigen buddyformulierblok. */
.bf-feedback-sectie{margin-top:16px}
.bf-feedback-sectie > .bf-groter-kop{margin-top:0}
.bf-feedback-buddy-opmerking label{display:block;font-weight:700}
.bf-feedback-buddy-opmerking textarea{font-weight:400}
/* Projectevaluaties: meerdere formulieren + beheerpreview */
.project-eval-definition-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.project-eval-definition-tabs a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid #d9dde3;border-radius:10px;background:#fff;text-decoration:none;color:inherit}.project-eval-definition-tabs a.active{border-color:var(--vhm-color-primary,#e96f00);box-shadow:0 0 0 2px rgba(233,111,0,.12)}.project-eval-definition-tabs small{color:#6b7280}.project-eval-create{margin-top:14px;padding:14px;border:1px solid #e3e6ea;border-radius:10px;background:#fafafa;display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,2fr) auto;gap:12px;align-items:end}.project-eval-create label{display:grid;gap:6px}.project-eval-admin-preview{margin:18px 0}.project-eval-admin-preview>.compact-title-row{margin-bottom:10px}.project-eval-admin-public{border:1px solid #dfe3e8;border-radius:14px;background:#f5f6f8;padding:18px}.project-eval-admin-public .project-eval-public-main{max-width:1050px;margin:0 auto}.project-eval-admin-public textarea:disabled,.project-eval-admin-public input:disabled{opacity:.72;cursor:default}@media(max-width:900px){.project-eval-create{grid-template-columns:1fr}}
/* Projectevaluaties v541 */
.project-eval-list-wrap{margin-top:14px}.project-eval-list-row{cursor:pointer}.project-eval-list-row:hover td{background:#fff8f1}.project-eval-list-row.active td{background:#fff4e8}.project-eval-list td:first-child strong,.project-eval-list td:first-child small{display:block}.project-eval-list td:first-child small{margin-top:3px;color:#6b7280;max-width:620px}.project-eval-list th:nth-child(n+2):not(:last-child),.project-eval-list td:nth-child(n+2):not(:last-child){text-align:center}.project-eval-list td:last-child{white-space:nowrap}.project-eval-status.concept{background:#f2f2f2;color:#555}.project-eval-status.actief{background:#def2e4;color:#246b38}.project-eval-status.afgerond{background:#e8edf4;color:#3d536e}
.project-eval-editor-status{display:flex;align-items:center;gap:12px}.project-eval-editor-status label{display:flex;align-items:center;gap:7px;font-weight:700}.project-eval-editor-status select{width:auto;min-width:110px}.project-eval-admin-preview{margin-top:18px}.project-eval-admin-public{background:#f7f4ef;border:1px solid #e2ddd5;border-radius:16px;padding:0;overflow:hidden}.project-eval-admin-public .project-eval-public-main{padding-top:0}.project-eval-hero{padding:42px 42px 34px;border-bottom:4px solid var(--vhm-color-primary,#e96f00);background:#fff}.project-eval-hero h1{font-size:2rem;line-height:1.15;margin:0 0 10px}.project-eval-hero p{font-size:1rem;line-height:1.65;max-width:820px;margin:0;color:#4a4a4a}.project-eval-edit-hint{display:block;margin-top:13px;color:var(--vhm-color-primary,#e96f00);font-weight:700}.eval-def-inline,.eval-section-edit,.eval-question-edit{outline:none;border-radius:5px}.eval-def-inline:hover,.eval-section-edit:hover,.eval-question-edit:hover,.eval-def-inline:focus,.eval-section-edit:focus,.eval-question-edit:focus{box-shadow:0 0 0 2px rgba(233,111,0,.22);background:#fffaf5}
.project-eval-form-section{background:#fff;padding:30px 42px;border-bottom:1px solid #e7e1da}.project-eval-form-section:last-child{border-bottom:0}.project-eval-form-section h2{margin:0 0 22px;font-size:1.35rem}.project-eval-known-section{background:#fcfbf8}.project-eval-info-grid p{background:#fff;border:1px solid #ece8e2;padding:12px 14px}.project-eval-field{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid #eee9e2}.project-eval-field:last-child{border-bottom:0;margin-bottom:0}.eval-question-edit,.project-eval-question{font-size:1rem;font-weight:700;line-height:1.5;margin-bottom:12px;display:block}.project-eval-question{display:flex;gap:7px}.project-eval-question-number{color:var(--vhm-color-primary,#e96f00);min-width:24px}.project-eval-demo-input input[type=text],.project-eval-demo-input input[type=date],.project-eval-response-form input[type=text],.project-eval-response-form input[type=date]{width:100%;max-width:560px;box-sizing:border-box;padding:11px 12px;border:1px solid #cfd3d8;border-radius:7px;background:#fff}.project-eval-response-form textarea,.project-eval-demo-input textarea{border:1px solid #cfd3d8;border-radius:7px;padding:12px;min-height:110px}.project-eval-options{gap:10px}.project-eval-options label{padding:9px 14px;border-radius:7px;border:1px solid #d7d7d7;background:#fff}.project-eval-options label:has(input:checked){border-color:var(--vhm-color-primary,#e96f00);background:#fff6ed}.project-eval-submit{position:static;margin:0;padding:24px 42px;background:#fff;border:0;border-radius:0;box-shadow:none}.project-eval-submit .primary{padding:11px 22px}
.project-eval-editor-field{position:relative}.eval-inline-tools{display:none;margin-top:13px;padding:12px;border-radius:8px;background:#f5f2ed;border:1px solid #e5ded5;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto auto;gap:10px;align-items:end}.project-eval-editor-field:hover .eval-inline-tools,.project-eval-editor-field.editing .eval-inline-tools{display:grid}.eval-inline-tools label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.eval-inline-tools .eval-required-label{display:flex;align-items:center;gap:6px;padding-bottom:8px}.eval-inline-tools select,.eval-inline-tools input[type=text]{width:100%;box-sizing:border-box}.project-eval-new-question{grid-template-columns:minmax(170px,1fr) minmax(260px,2fr) minmax(160px,1fr) minmax(210px,1.2fr) auto auto}.project-eval-add-question{background:#faf8f4}.project-eval-answer-types input{width:100%;box-sizing:border-box}.project-eval-answer-types .answer-type-order{width:80px}.project-eval-answer-types td:nth-child(1){width:90px}.project-eval-answer-types td:nth-child(4){width:80px}.project-eval-thanks{text-align:center;padding:48px 42px}
.project-eval-public{background:#f4f1ec}.project-eval-public-main{max-width:980px;margin:28px auto 60px;padding:0 18px}.project-eval-public-main>.project-eval-hero{border-radius:15px 15px 0 0}.project-eval-public-main>.project-eval-form-section:last-of-type{border-radius:0 0 15px 15px}.project-eval-response-form{box-shadow:0 8px 28px rgba(0,0,0,.05);border-radius:0 0 15px 15px;overflow:hidden}.project-eval-response-form .project-eval-form-section{box-shadow:none;border-radius:0}.project-eval-response-form .project-eval-submit{border-top:1px solid #e7e1da}
@media(max-width:900px){.project-eval-hero,.project-eval-form-section,.project-eval-submit{padding-left:22px;padding-right:22px}.eval-inline-tools{grid-template-columns:1fr}.project-eval-new-question{grid-template-columns:1fr}.project-eval-editor-status{align-items:flex-end;flex-direction:column}.project-eval-list{min-width:760px}}

/* v542 projectevaluatie formulierbouwer */
.project-eval-public,.project-eval-admin-public{font-family:var(--vhm-font-family,Arial,sans-serif);color:var(--vhm-color-text,#303332)}.project-eval-public{background:var(--vhm-color-bg,#ece9e5)}.project-eval-public-main{max-width:1080px;margin:24px auto 60px;padding:0 16px}.project-eval-hero{padding:30px 34px;background:linear-gradient(135deg,#fff,#fff4e6);border-bottom:1px solid rgba(0,0,0,.1)}.project-eval-hero h1{font-weight:900;font-size:clamp(28px,4vw,46px);color:var(--vhm-color-text,#303332)}.project-eval-hero p{font-size:16px;color:#555}.project-eval-response-form,.project-eval-admin-public .project-eval-public-main{background:#fff}.project-eval-form-section{padding:24px 34px;border:1px solid rgba(0,0,0,.10);border-radius:20px;margin:18px 0;background:#fff}.project-eval-form-section:nth-of-type(even){background:#fff7ed;border-color:#f0cda8}.project-eval-form-section h2{font-size:23px;font-weight:800}.project-eval-field{padding:19px 0;margin:0;border-bottom:1px solid #eee}.project-eval-field:last-child{border-bottom:0}.project-eval-question,.eval-question-edit{font-weight:800}.project-eval-question-number{color:var(--vhm-color-primary,#e96f00);font-weight:900}.project-eval-response-form textarea,.project-eval-demo-input textarea{width:100%;padding:13px 14px;border:1px solid #cfcfcf;border-radius:11px;font:inherit;min-height:105px}.project-eval-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.project-eval-options label{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 12px;border:1px solid #ddd;border-radius:11px;background:#fff;cursor:pointer;font-weight:700}.project-eval-options input{accent-color:var(--vhm-color-primary,#e96f00)}.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(var(--choice-count,5),minmax(52px,1fr))}.project-eval-choice-options.scale-colors label,.project-eval-choice-preview.scale-colors label{min-height:62px;border:3px solid transparent;border-radius:14px;font-size:16px;font-weight:900;color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.08)}.project-eval-choice-options.scale-colors label:nth-child(1),.project-eval-choice-preview.scale-colors label:nth-child(1){background:#cf3f35}.project-eval-choice-options.scale-colors label:nth-child(2),.project-eval-choice-preview.scale-colors label:nth-child(2){background:#ed8b24}.project-eval-choice-options.scale-colors label:nth-child(3),.project-eval-choice-preview.scale-colors label:nth-child(3){background:#f2cf3a;color:var(--vhm-color-text,#303332)}.project-eval-choice-options.scale-colors label:nth-child(4),.project-eval-choice-preview.scale-colors label:nth-child(4){background:#56a83f}.project-eval-choice-options.scale-colors label:nth-child(5),.project-eval-choice-preview.scale-colors label:nth-child(5){background:#1f7a3f}.project-eval-choice-options.scale-colors input,.project-eval-choice-preview.scale-colors input{position:absolute;opacity:0;pointer-events:none}.project-eval-choice-options.scale-colors label:has(input:checked){border-color:#202221;box-shadow:0 0 0 3px #fff,0 0 0 6px #202221;transform:translateY(-1px)}.project-eval-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.project-eval-role-card{border:1px solid #eadfd4;border-radius:14px;background:#fff;padding:14px 16px}.project-eval-role-card strong{display:block;color:var(--vhm-color-primary,#e96f00);font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.project-eval-role-card span{display:block;font-weight:700;padding:2px 0}.project-eval-meta-line{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;padding-top:14px;border-top:1px solid #eee}.project-eval-create{grid-template-columns:minmax(220px,1fr) minmax(280px,1.6fr) auto}.project-eval-create input{width:100%;box-sizing:border-box}.eval-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.eval-section-heading h2{flex:1}.eval-sort-list{min-height:18px}.project-eval-editor-field{position:relative;padding-left:30px}.eval-drag-handle{position:absolute;left:0;top:17px;width:22px;color:#9a9a9a;font-weight:900;cursor:grab;user-select:none}.project-eval-editor-field.dragging{opacity:.45;background:#fff7ed;border:1px dashed var(--vhm-color-primary,#e96f00);border-radius:10px}.eval-inline-tools{grid-template-columns:minmax(150px,.8fr) minmax(280px,1.6fr) auto auto}.eval-options-wrap{display:block}.eval-tool-label{display:block;font-size:.82rem;font-weight:700;margin-bottom:5px}.eval-option-list{display:grid;gap:6px}.eval-option-row{display:grid;grid-template-columns:1fr 32px;gap:5px}.eval-option-row input{width:100%}.eval-option-remove{border:0;background:#f5e7e7;color:#9d2626;border-radius:7px;font-weight:900;cursor:pointer}.eval-option-add{margin-top:7px}.eval-add-question-in-section{margin-top:12px}.project-eval-add-section{background:#faf8f4!important}.project-eval-add-section-row{display:grid;grid-template-columns:1fr auto;gap:10px}.project-eval-list td:first-child small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.project-eval-submit .primary{width:100%;border-radius:999px;background:var(--vhm-color-primary,#e96f00);color:#fff;font-weight:800}.project-eval-submit .primary:hover{background:#c65a00}@media(max-width:700px){.project-eval-public-main{padding:0;margin:0 auto}.project-eval-hero,.project-eval-form-section{border-radius:0;padding-left:17px;padding-right:17px}.project-eval-options{grid-template-columns:1fr}.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(5,1fr);gap:6px}.project-eval-choice-options.scale-colors label,.project-eval-choice-preview.scale-colors label{min-height:54px;padding:6px;font-size:13px}.project-eval-create,.project-eval-add-section-row{grid-template-columns:1fr}.eval-section-heading{align-items:flex-start;flex-direction:column}}

.project-eval-choice-options.scale-3 label:nth-child(1),.project-eval-choice-preview.scale-3 label:nth-child(1){background:#cf3f35;color:#fff}.project-eval-choice-options.scale-3 label:nth-child(2),.project-eval-choice-preview.scale-3 label:nth-child(2){background:#f2cf3a;color:var(--vhm-color-text,#303332)}.project-eval-choice-options.scale-3 label:nth-child(3),.project-eval-choice-preview.scale-3 label:nth-child(3){background:#1f7a3f;color:#fff}.project-eval-choice-options.scale-4 label:nth-child(1),.project-eval-choice-preview.scale-4 label:nth-child(1){background:#cf3f35;color:#fff}.project-eval-choice-options.scale-4 label:nth-child(2),.project-eval-choice-preview.scale-4 label:nth-child(2){background:#ed8b24;color:#fff}.project-eval-choice-options.scale-4 label:nth-child(3),.project-eval-choice-preview.scale-4 label:nth-child(3){background:#56a83f;color:#fff}.project-eval-choice-options.scale-4 label:nth-child(4),.project-eval-choice-preview.scale-4 label:nth-child(4){background:#1f7a3f;color:#fff}

.project-eval-choice-options.scale-3,.project-eval-choice-preview.scale-3{grid-template-columns:repeat(3,minmax(52px,1fr))}.project-eval-choice-options.scale-4,.project-eval-choice-preview.scale-4{grid-template-columns:repeat(4,minmax(52px,1fr))}.project-eval-choice-options.scale-5,.project-eval-choice-preview.scale-5{grid-template-columns:repeat(5,minmax(52px,1fr))}

/* v543 projectevaluaties */
.project-eval-create{grid-template-columns:minmax(210px,1fr) minmax(260px,1.4fr) minmax(210px,.8fr) auto;align-items:end}.project-eval-create>button{align-self:end;height:38px;margin:0 0 1px;white-space:nowrap}.project-eval-create select{width:100%;height:36px;box-sizing:border-box}@media(max-width:1100px){.project-eval-create{grid-template-columns:1fr 1fr}.project-eval-create>button{width:max-content}}@media(max-width:700px){.project-eval-create{grid-template-columns:1fr}.project-eval-create>button{width:100%}}

/* v544 - verfijning projectevaluatie editor */
.project-eval-admin-preview{padding:0;background:transparent;border:0;box-shadow:none}
.project-eval-admin-preview>.compact-title-row{margin-bottom:10px}
.project-eval-admin-public{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}
.project-eval-admin-public .project-eval-public-main{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.project-eval-admin-public .project-eval-hero{border-radius:20px;margin:0 0 18px}
.project-eval-form-section h2,.eval-section-edit{font-size:26px!important;line-height:1.2;font-weight:900!important}
.project-eval-question,.eval-question-edit{font-size:17px!important;line-height:1.45;font-weight:800!important}
.eval-section-heading{position:relative;padding-left:28px}
.eval-section-drag-handle{position:absolute;left:0;top:4px;color:#9a9a9a;font-size:20px;font-weight:900;cursor:grab;user-select:none;line-height:1}
.eval-editor-section.section-dragging{opacity:.45;outline:2px dashed var(--vhm-color-primary,#e96f00);outline-offset:3px}
.eval-editor-section{cursor:default}
.eval-editor-section>.eval-sort-list{margin-top:4px}

.eval-inline-tools{display:flex!important;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid #eadfd4;border-radius:14px;background:#fbfaf8}
.eval-inline-tools>label:first-child{flex:0 0 150px;margin:0}
.eval-inline-tools .eval-options-wrap{flex:1 1 360px;min-width:280px;margin:0}
.eval-inline-tools .eval-required-label{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin:24px 0 0;font-size:12px;font-weight:700}
.eval-inline-tools>.eval-question-delete{margin-top:18px;margin-left:auto}
.eval-tool-label{margin-bottom:6px!important;color:#5f6468}
.eval-option-list{display:flex!important;flex-wrap:wrap;gap:6px!important}
.eval-option-row{display:grid!important;grid-template-columns:minmax(100px,160px) 28px!important;gap:4px!important}
.eval-option-row input{height:34px;padding:6px 9px!important;border-radius:9px!important}
.eval-option-remove{height:34px}
.eval-option-add{margin-top:7px!important}

.eval-add-question-box{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px dashed #e3d6ca}
.eval-add-question-box input{width:100%;height:38px;border:1px solid #cfcfcf;border-radius:10px;padding:8px 10px;font:inherit}
.eval-add-question-box input:focus{outline:0;border-color:var(--vhm-color-primary,#e96f00);box-shadow:0 0 0 3px rgba(233,111,0,.10)}

.project-eval-recipient-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.project-eval-recipient-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid #d7dde2;border-radius:999px;background:#eef2f5;color:#333;font-size:11px;font-weight:700;cursor:pointer;transition:.12s ease}
.project-eval-recipient-chip input{position:absolute;opacity:0;pointer-events:none}
.project-eval-recipient-chip:has(input:checked){background:var(--vhm-color-primary,#e96f00);border-color:var(--vhm-color-primary,#e96f00);color:#fff}
.project-eval-recipient-chip:hover{border-color:var(--vhm-color-primary,#e96f00)}

.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(var(--choice-count),minmax(52px,1fr))!important}
.project-eval-choice-options.scale-6 label:nth-child(1),.project-eval-choice-preview.scale-6 label:nth-child(1),
.project-eval-choice-options.scale-7 label:nth-child(1),.project-eval-choice-preview.scale-7 label:nth-child(1){background:#cf3f35;color:#fff}
.project-eval-choice-options.scale-6 label:nth-child(2),.project-eval-choice-preview.scale-6 label:nth-child(2){background:#e56f2f;color:#fff}
.project-eval-choice-options.scale-6 label:nth-child(3),.project-eval-choice-preview.scale-6 label:nth-child(3){background:#f2b934;color:var(--vhm-color-text,#303332)}
.project-eval-choice-options.scale-6 label:nth-child(4),.project-eval-choice-preview.scale-6 label:nth-child(4){background:#b8c93e;color:var(--vhm-color-text,#303332)}
.project-eval-choice-options.scale-6 label:nth-child(5),.project-eval-choice-preview.scale-6 label:nth-child(5){background:#56a83f;color:#fff}
.project-eval-choice-options.scale-6 label:nth-child(6),.project-eval-choice-preview.scale-6 label:nth-child(6){background:#1f7a3f;color:#fff}
.project-eval-choice-options.scale-7 label:nth-child(2),.project-eval-choice-preview.scale-7 label:nth-child(2){background:#e56f2f;color:#fff}
.project-eval-choice-options.scale-7 label:nth-child(3),.project-eval-choice-preview.scale-7 label:nth-child(3){background:#ed9d28;color:#fff}
.project-eval-choice-options.scale-7 label:nth-child(4),.project-eval-choice-preview.scale-7 label:nth-child(4){background:#f2cf3a;color:var(--vhm-color-text,#303332)}
.project-eval-choice-options.scale-7 label:nth-child(5),.project-eval-choice-preview.scale-7 label:nth-child(5){background:#9cbe3d;color:var(--vhm-color-text,#303332)}
.project-eval-choice-options.scale-7 label:nth-child(6),.project-eval-choice-preview.scale-7 label:nth-child(6){background:#56a83f;color:#fff}
.project-eval-choice-options.scale-7 label:nth-child(7),.project-eval-choice-preview.scale-7 label:nth-child(7){background:#1f7a3f;color:#fff}

@media(max-width:900px){.eval-inline-tools>label:first-child{flex:1 1 140px}.eval-inline-tools .eval-options-wrap{flex:1 1 100%}.eval-inline-tools>.eval-question-delete{margin-left:0}.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){.eval-add-question-box{grid-template-columns:1fr}.eval-inline-tools{display:grid!important;grid-template-columns:1fr!important}.eval-inline-tools .eval-required-label,.eval-inline-tools>.eval-question-delete{margin-top:4px}.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v545 - Projecten > Evaluatie: strakke opbouw, status in tabel, max. 6 opties */
.project-eval-create{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) minmax(300px,1.4fr) minmax(220px,.9fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:12px 14px!important;
}
.project-eval-create label{display:grid!important;grid-template-rows:auto 40px;gap:5px!important;margin:0!important;font-weight:700}
.project-eval-create input,.project-eval-create select,.project-eval-create>button{height:40px!important;min-height:40px!important;box-sizing:border-box!important;margin:0!important}
.project-eval-create input,.project-eval-create select{width:100%!important;padding-top:0!important;padding-bottom:0!important}
.project-eval-create>button{align-self:end!important;white-space:nowrap!important;padding-top:0!important;padding-bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.project-eval-list .eval-list-status-select{height:34px;min-width:108px;width:auto;padding:0 28px 0 9px;font-weight:700;border-radius:8px}
.project-eval-list td:nth-child(2){vertical-align:middle}
.project-eval-admin-preview>.compact-title-row{display:none!important}
.eval-definition-save-state{display:block;min-height:18px;margin:0 0 6px;text-align:right;font-size:.82rem}

/* Hoofdstukken expliciet om-en-om, onafhankelijk van andere secties. */
.project-eval-form-section.chapter-odd{background:#fff!important;border-color:rgba(0,0,0,.10)!important}
.project-eval-form-section.chapter-even{background:#fff7ed!important;border-color:#f0cda8!important}

/* Keuze-opties: 2 t/m 6 altijd kleurenschaal en naast elkaar; lange teksten mogen naar twee rijen. */
.project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors{grid-template-columns:repeat(var(--choice-count),minmax(0,1fr))!important}
.project-eval-choice-options.long-options,.project-eval-choice-preview.long-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.project-eval-choice-options.scale-2 label:nth-child(1),.project-eval-choice-preview.scale-2 label:nth-child(1){background:#cf3f35!important;color:#fff!important}
.project-eval-choice-options.scale-2 label:nth-child(2),.project-eval-choice-preview.scale-2 label:nth-child(2){background:#1f7a3f!important;color:#fff!important}
.project-eval-choice-options.scale-3 label:nth-child(1),.project-eval-choice-preview.scale-3 label:nth-child(1){background:#cf3f35!important;color:#fff!important}
.project-eval-choice-options.scale-3 label:nth-child(2),.project-eval-choice-preview.scale-3 label:nth-child(2){background:#f2cf3a!important;color:var(--vhm-color-text,#303332)!important}
.project-eval-choice-options.scale-3 label:nth-child(3),.project-eval-choice-preview.scale-3 label:nth-child(3){background:#1f7a3f!important;color:#fff!important}
.project-eval-choice-options.scale-4 label:nth-child(1),.project-eval-choice-preview.scale-4 label:nth-child(1){background:#cf3f35!important;color:#fff!important}
.project-eval-choice-options.scale-4 label:nth-child(2),.project-eval-choice-preview.scale-4 label:nth-child(2){background:#ed8b24!important;color:#fff!important}
.project-eval-choice-options.scale-4 label:nth-child(3),.project-eval-choice-preview.scale-4 label:nth-child(3){background:#56a83f!important;color:#fff!important}
.project-eval-choice-options.scale-4 label:nth-child(4),.project-eval-choice-preview.scale-4 label:nth-child(4){background:#1f7a3f!important;color:#fff!important}
.project-eval-choice-options.scale-5 label:nth-child(1),.project-eval-choice-preview.scale-5 label:nth-child(1){background:#cf3f35!important;color:#fff!important}
.project-eval-choice-options.scale-5 label:nth-child(2),.project-eval-choice-preview.scale-5 label:nth-child(2){background:#ed8b24!important;color:#fff!important}
.project-eval-choice-options.scale-5 label:nth-child(3),.project-eval-choice-preview.scale-5 label:nth-child(3){background:#f2cf3a!important;color:var(--vhm-color-text,#303332)!important}
.project-eval-choice-options.scale-5 label:nth-child(4),.project-eval-choice-preview.scale-5 label:nth-child(4){background:#56a83f!important;color:#fff!important}
.project-eval-choice-options.scale-5 label:nth-child(5),.project-eval-choice-preview.scale-5 label:nth-child(5){background:#1f7a3f!important;color:#fff!important}
.project-eval-choice-options.scale-6 label:nth-child(1),.project-eval-choice-preview.scale-6 label:nth-child(1){background:#cf3f35!important;color:#fff!important}
.project-eval-choice-options.scale-6 label:nth-child(2),.project-eval-choice-preview.scale-6 label:nth-child(2){background:#e56f2f!important;color:#fff!important}
.project-eval-choice-options.scale-6 label:nth-child(3),.project-eval-choice-preview.scale-6 label:nth-child(3){background:#f2b934!important;color:var(--vhm-color-text,#303332)!important}
.project-eval-choice-options.scale-6 label:nth-child(4),.project-eval-choice-preview.scale-6 label:nth-child(4){background:#b8c93e!important;color:var(--vhm-color-text,#303332)!important}
.project-eval-choice-options.scale-6 label:nth-child(5),.project-eval-choice-preview.scale-6 label:nth-child(5){background:#56a83f!important;color:#fff!important}
.project-eval-choice-options.scale-6 label:nth-child(6),.project-eval-choice-preview.scale-6 label:nth-child(6){background:#1f7a3f!important;color:#fff!important}

/* Vraag direct binnen het hoofdstuk toevoegen, inclusief antwoordtype en opties. */
.eval-add-question-box{display:grid!important;grid-template-columns:minmax(320px,1fr) 188px auto auto!important;grid-template-areas:"question type required add" ". options options options";gap:8px 10px!important;align-items:center!important}
.eval-add-question-box .eval-new-question-input{grid-area:question;height:40px!important;box-sizing:border-box}
.eval-add-question-box .eval-new-question-type{grid-area:type;height:40px!important;box-sizing:border-box}
.eval-new-required{grid-area:required;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap;font-size:.86rem;font-weight:700;justify-self:start}
.eval-add-question-in-section{grid-area:add;height:40px!important;margin:0!important;white-space:nowrap}
.eval-new-options{grid-area:options;display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%}
.eval-new-options[hidden]{display:none!important}
.eval-new-options .eval-new-option{flex:0 1 180px;min-width:120px;max-width:220px;height:40px!important;box-sizing:border-box}
.eval-new-options .eval-new-option-add{height:40px;white-space:nowrap}

@media(max-width:1100px){
  .project-eval-create{grid-template-columns:1fr 1fr!important}
  .project-eval-create>button{width:100%!important}
  .eval-add-question-box{grid-template-columns:minmax(240px,1fr) 170px auto!important;grid-template-areas:"question type required" ". options options" "add add add"}
  .eval-add-question-in-section{justify-self:start}
}
@media(max-width:760px){
  .project-eval-create{grid-template-columns:1fr!important}
  .eval-add-question-box{grid-template-columns:1fr auto!important;grid-template-areas:"question question" "type required" "options options" "add add"}
  .eval-new-options .eval-new-option{flex:1 1 calc(50% - 6px);max-width:none}
  .project-eval-choice-options.scale-colors,.project-eval-choice-preview.scale-colors,.project-eval-choice-options.long-options,.project-eval-choice-preview.long-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v549 - Projectevaluatie: duidelijker visueel onderscheid hoofdstuktitel en vraag. */
.project-eval-form-section > h2,
.eval-section-heading .eval-section-edit{
  font-size:32px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:-.02em;
  margin-bottom:24px!important;
}
.project-eval-question,
.eval-question-edit{
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:800!important;
}
@media(max-width:700px){
  .project-eval-form-section > h2,
  .eval-section-heading .eval-section-edit{font-size:26px!important;margin-bottom:18px!important}
}

/* v550 - Projectevaluatie: keuzeopties naast elkaar voor medewerker; beheeropties altijd onder antwoordtype. */
/* Medewerker / preview: 2 t/m 6 korte opties altijd in één horizontale rij. */
.project-eval-choice-options.scale-2,.project-eval-choice-preview.scale-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.project-eval-choice-options.scale-3,.project-eval-choice-preview.scale-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.project-eval-choice-options.scale-4,.project-eval-choice-preview.scale-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.project-eval-choice-options.scale-5,.project-eval-choice-preview.scale-5{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.project-eval-choice-options.scale-6,.project-eval-choice-preview.scale-6{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important}
/* Bij lange teksten maximaal twee regels, niet één optie per regel. */
.project-eval-choice-options.scale-4.long-options,.project-eval-choice-preview.scale-4.long-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.project-eval-choice-options.scale-5.long-options,.project-eval-choice-preview.scale-5.long-options,
.project-eval-choice-options.scale-6.long-options,.project-eval-choice-preview.scale-6.long-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Bestaande vraag bewerken: antwoordopties beginnen op een aparte regel ONDER de dropdown. */
.eval-inline-tools{
  grid-template-columns:188px auto auto minmax(0,1fr)!important;
  grid-template-areas:
    "type required delete ."
    "options options options options"!important;
  align-items:center!important;
}
.eval-inline-tools>label:first-child{grid-area:type!important;margin:0!important}
.eval-inline-tools>.eval-required-label{grid-area:required!important;padding:0!important;margin:0!important;align-self:center!important}
.eval-inline-tools>.eval-question-delete{grid-area:delete!important;margin:0!important;align-self:center!important}
.eval-inline-tools>.eval-options-wrap{grid-area:options!important;width:100%!important;min-width:0!important;margin:2px 0 0!important}
.eval-inline-tools .eval-option-list{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important}
.eval-inline-tools .eval-option-row{flex:0 1 190px!important;min-width:150px!important;max-width:220px!important}
.eval-inline-tools .eval-option-add{margin:7px 0 0!important}

/* Nieuwe vraag: opties blijven expliciet onder de antwoordtype-dropdown. */
.eval-add-question-box{grid-template-areas:"question type required add" ". options options options"!important}
.eval-add-question-box .eval-new-options{grid-area:options!important;justify-self:stretch!important}

@media(max-width:900px){
  .eval-inline-tools{grid-template-columns:170px auto auto!important;grid-template-areas:"type required delete" "options options options"!important}
  .project-eval-choice-options.scale-5,.project-eval-choice-preview.scale-5,
  .project-eval-choice-options.scale-6,.project-eval-choice-preview.scale-6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .eval-inline-tools{grid-template-columns:1fr auto!important;grid-template-areas:"type required" "options options" "delete delete"!important}
  .project-eval-choice-options.scale-2,.project-eval-choice-preview.scale-2,
  .project-eval-choice-options.scale-3,.project-eval-choice-preview.scale-3,
  .project-eval-choice-options.scale-4,.project-eval-choice-preview.scale-4,
  .project-eval-choice-options.scale-5,.project-eval-choice-preview.scale-5,
  .project-eval-choice-options.scale-6,.project-eval-choice-preview.scale-6,
  .project-eval-choice-options.long-options,.project-eval-choice-preview.long-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v551 - Nieuwe vraag: antwoordopties links onder het vraagveld; opslaan expliciet. */
.eval-add-question-box{
  grid-template-areas:
    "question type required add"
    "options options . ."!important;
}
.eval-add-question-box .eval-new-options{
  grid-area:options!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
  justify-self:start!important;
  align-items:center!important;
}
.eval-add-question-box .eval-new-options[hidden]{display:none!important}
.eval-add-question-box .eval-new-options .eval-new-option{
  flex:1 1 150px!important;
  min-width:130px!important;
  max-width:220px!important;
}
@media(max-width:900px){
  .eval-add-question-box{grid-template-areas:"question type required" "options options ." "add add add"!important}
}
@media(max-width:700px){
  .eval-add-question-box{grid-template-areas:"question question" "type required" "options options" "add add"!important}
}

/* v552 - Bestaande vraag bewerken: optie-invoervelden echt onder Antwoordveld-dropdown. */
.eval-inline-tools{
  display:grid!important;
  grid-template-columns:188px auto auto minmax(0,1fr)!important;
  grid-template-areas:
    "type required delete ."
    "options options options options"!important;
  gap:10px 12px!important;
  align-items:center!important;
}
.eval-inline-tools>label:first-child{grid-area:type!important}
.eval-inline-tools>.eval-options-wrap{
  grid-area:options!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.eval-inline-tools .eval-option-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
.eval-inline-tools .eval-option-row{
  flex:0 1 190px!important;
  min-width:150px!important;
  max-width:220px!important;
}
.eval-inline-tools>.eval-required-label{grid-area:required!important;margin:0!important;padding:0!important;align-self:center!important}
.eval-inline-tools>.eval-question-delete{grid-area:delete!important;margin:0!important;align-self:center!important}
@media(max-width:900px){
  .eval-inline-tools{
    display:grid!important;
    grid-template-columns:170px auto auto!important;
    grid-template-areas:"type required delete" "options options options"!important;
  }
}
@media(max-width:700px){
  .eval-inline-tools{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:"type required" "options options" "delete delete"!important;
  }
}

/* v553 - Projectevaluatie: beheeruitlijning + professionele medewerkerweergave. */
/* Bestaande vraag: Verplicht en verwijderen netjes uitlijnen met de dropdown. */
.eval-inline-tools>.eval-required-label{
  align-self:end!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
.eval-inline-tools>.eval-question-delete{
  align-self:end!important;
  height:30px!important;
  min-height:30px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0 0 5px!important;
  display:inline-flex!important;
  align-items:center!important;
}
/* Nieuwe-vraag Opslaan exact dezelfde knophoogte als Vraag verwijderen. */
.eval-add-question-in-section{
  height:30px!important;
  min-height:30px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Alleen de daadwerkelijke medewerkerpagina: circa 80% van het scherm en normale typografie. */
body.project-eval-public{
  background:#f3f2ef!important;
  font-size:14px!important;
  line-height:1.5!important;
}
body.project-eval-public>.project-eval-public-main{
  width:80vw!important;
  max-width:none!important;
  margin:28px auto 64px!important;
  padding:0!important;
}
body.project-eval-public .project-eval-hero{
  padding:24px 28px!important;
  border-radius:14px!important;
}
body.project-eval-public .project-eval-hero h1{
  margin:0 0 6px!important;
  font-size:28px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
body.project-eval-public .project-eval-hero p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.project-eval-public .project-eval-form-section{
  padding:22px 26px!important;
  margin:14px 0!important;
  border-radius:14px!important;
}
body.project-eval-public .project-eval-form-section>h2{
  margin:0 0 16px!important;
  font-size:21px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
body.project-eval-public .project-eval-question{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.project-eval-public .project-eval-field{
  padding:14px 0!important;
  margin:0!important;
}
body.project-eval-public .project-eval-response-form textarea{
  min-height:96px!important;
  padding:11px 12px!important;
  border-radius:8px!important;
  font-size:14px!important;
}
body.project-eval-public .project-eval-choice-options.scale-colors label{
  min-height:48px!important;
  padding:8px 10px!important;
  border-width:2px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:0 2px 7px rgba(0,0,0,.07)!important;
}
body.project-eval-public .project-eval-role-card{
  padding:11px 13px!important;
  border-radius:10px!important;
}
body.project-eval-public .project-eval-role-card strong{font-size:11px!important}
body.project-eval-public .project-eval-role-card span{font-size:13px!important}
body.project-eval-public .project-eval-meta-line{font-size:12px!important}
body.project-eval-public .project-eval-submit{
  padding:10px 12px!important;
  border-radius:10px!important;
}
body.project-eval-public .project-eval-submit .primary{
  min-height:38px!important;
  font-size:13px!important;
}
body.project-eval-public .project-eval-submit p{font-size:12px!important}
@media(max-width:900px){
  body.project-eval-public>.project-eval-public-main{width:94vw!important;margin:14px auto 36px!important}
}
@media(max-width:700px){
  body.project-eval-public>.project-eval-public-main{width:100%!important;margin:0 auto 28px!important}
  body.project-eval-public .project-eval-hero,
  body.project-eval-public .project-eval-form-section{border-radius:0!important;padding-left:16px!important;padding-right:16px!important}
  body.project-eval-public .project-eval-hero h1{font-size:24px!important}
  body.project-eval-public .project-eval-form-section>h2{font-size:19px!important}
}


/* v554 - testantwoorden zichtbaar in beheer, zonder mee te tellen in echte resultaten */
.project-eval-test-results{margin:14px 0 22px;padding:16px 18px;border:1px solid #eadfd4;border-radius:12px;background:#fbfaf8}
.project-eval-test-results h3{margin:0 0 3px;font-size:1rem}
.project-eval-test-result{padding:10px 0;border-top:1px solid #ece5dc}
.project-eval-test-result:first-of-type{border-top:0}
.project-eval-test-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.project-eval-test-result details summary{cursor:pointer;font-weight:700}


/* v556 - één uitzetting per projectevaluatie; deadline direct bewerkbaar in overzicht. */
.project-eval-list .eval-list-deadline-input{width:142px;min-width:142px;height:34px;box-sizing:border-box;padding:5px 8px;border:1px solid #cfcfcf;border-radius:7px;background:#fff;font:inherit}
.project-eval-list .eval-list-deadline-input:focus{outline:2px solid rgba(233,111,0,.22);border-color:var(--vhm-color-primary,#e96f00)}


/* v557 - Projectevaluatie aanmaken compact en strak uitgelijnd. */
.project-eval-create{
  grid-template-columns:220px minmax(260px,1fr) 160px 220px auto!important;
  gap:10px!important;
  align-items:end!important;
}
.project-eval-create label{
  grid-template-rows:auto 32px!important;
  gap:4px!important;
}
.project-eval-create input,
.project-eval-create select,
.project-eval-create>button{
  height:32px!important;
  min-height:32px!important;
  box-sizing:border-box!important;
  margin:0!important;
}
.project-eval-create input,
.project-eval-create select{
  padding-top:0!important;
  padding-bottom:0!important;
  font-size:13px!important;
}
.project-eval-create>button{
  width:auto!important;
  min-width:0!important;
  padding:0 14px!important;
  align-self:end!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:start!important;
}
@media(max-width:1150px){
  .project-eval-create{grid-template-columns:220px minmax(240px,1fr) 150px 200px!important}
  .project-eval-create>button{grid-column:auto!important}
}
@media(max-width:900px){
  .project-eval-create{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .project-eval-create{grid-template-columns:1fr!important}
  .project-eval-create>button{width:auto!important}
}

/* v559 - Projectevaluatie: opnieuw uitzetten binnen dezelfde ronde + resultaat per medewerker wissen. */
.eval-result-delete{margin-top:8px}

/* v564 - projectevaluatie: duidelijke validatie onderaan bij ontbrekende verplichte vragen. */
.project-eval-submit-error{margin:0 0 12px;text-align:left;width:100%;box-sizing:border-box}
.project-eval-field-missing{border-radius:12px;box-shadow:0 0 0 2px rgba(190,45,45,.20);padding-left:10px!important;padding-right:10px!important}
.project-eval-field-missing .project-eval-question{color:#a62828}
\n\n/* v565 - validatiemelding boven verzendknop + ontbrekende verplichte velden duidelijk rood. */\nbody.project-eval-public .project-eval-submit{\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:stretch!important;\n  gap:10px!important;\n}\nbody.project-eval-public .project-eval-submit-error{\n  order:1!important;\n  margin:0!important;\n  width:100%!important;\n}\nbody.project-eval-public .project-eval-submit .primary{\n  order:2!important;\n}\nbody.project-eval-public .project-eval-field-missing{\n  border:2px solid #c83b3b!important;\n  background:#fff5f5!important;\n  box-shadow:none!important;\n  padding:14px!important;\n  margin-left:-14px!important;\n  margin-right:-14px!important;\n}\nbody.project-eval-public .project-eval-field-missing .project-eval-question,\nbody.project-eval-public .project-eval-field-missing .project-eval-question-number{\n  color:#a82121!important;\n}\nbody.project-eval-public .project-eval-field-missing textarea{\n  border:2px solid #c83b3b!important;\n  background:#fff!important;\n}\nbody.project-eval-public .project-eval-field-missing .project-eval-choice-options label{\n  outline:2px solid #c83b3b!important;\n  outline-offset:-2px!important;\n}\n\n\n


/* v569 - Centraal 'bekijken als medewerker' via Toegang > Rechten. */
.impersonate-user-form{display:inline;margin:0}
.impersonate-user-link{appearance:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;font-weight:800;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#d3a36b;text-underline-offset:3px}
.impersonate-user-link:hover{color:#c75f00;text-decoration-color:#c75f00}
.portal-impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:10px 14px;border:1px solid #e6c56f;border-radius:10px;background:#fff7d8;color:var(--vhm-color-text,#303332);font-size:14px}
.portal-impersonation-banner a{display:inline-flex;align-items:center;min-height:30px;padding:4px 12px;border-radius:999px;background:var(--vhm-color-text,#303332);color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
.portal-impersonation-banner a:hover{background:#111}
@media(max-width:700px){.portal-impersonation-banner{align-items:flex-start;flex-direction:column}}

/* v570 - Toegang > Rechten: medewerker-link net zo subtiel/strak als Evaluaties > Evaluatieoverzicht. */
.impersonate-user-form{display:inline!important;margin:0!important;padding:0!important}
.impersonate-user-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#8a8f94!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.35!important;
  text-align:left!important;
  text-decoration:underline!important;
  text-decoration-thickness:auto!important;
  text-underline-offset:2px!important;
  cursor:pointer!important;
}
.impersonate-user-link:hover,
.impersonate-user-link:focus{color:var(--orange)!important;background:none!important;box-shadow:none!important;outline:none!important}


/* v572 - Toegang > Rechten: compacte aanwezigheidsindicator. */
.access-presence{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:600;color:#555}
.access-presence i{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 9px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.access-presence-green i{background:#2fa34a}
.access-presence-purple i{background:var(--vhm-color-purple,#8e44ad)}
.access-presence-orange i{background:#e99522}
.access-presence-red i{background:#cc3d3d}
.access-presence-black i{background:#202221}

/* v575 - Toegang > Rechten: Actief zo smal mogelijk op inhoud; Functie links uitlijnen. */
.access-rights-table th:nth-child(2),
.access-rights-table td:nth-child(2){
  width:1%!important;
  min-width:0!important;
  max-width:none!important;
  padding-left:6px!important;
  padding-right:6px!important;
  white-space:nowrap!important;
}
.access-rights-table th:nth-child(3),
.access-rights-table td:nth-child(3){
  text-align:left!important;
}

/* v579 - Toegang: Actief echt inhoudsbreed; Functie links; sortering Actief op laatst actief. */
body.admin-page table.permissions-matrix-table.access-rights-table th:nth-child(2),
body.admin-page table.permissions-matrix-table.access-rights-table td:nth-child(2),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:nth-child(2),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:nth-child(2){
  width:1%!important;
  min-width:1px!important;
  max-width:none!important;
  padding-left:5px!important;
  padding-right:5px!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body.admin-page table.permissions-matrix-table.access-rights-table th:nth-child(3),
body.admin-page table.permissions-matrix-table.access-rights-table td:nth-child(3),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:nth-child(3),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:nth-child(3){
  text-align:left!important;
}


/* v580 - Toegang: statusbolletje los van laatste module, sorteerbaar op activiteitstijd. */
.access-presence-dot{display:inline-flex;align-items:center;justify-content:center;width:12px;height:18px;vertical-align:middle}
.access-presence-dot i{display:block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.access-status-column,.access-status-cell{width:1%!important;min-width:22px!important;max-width:22px!important;padding-left:4px!important;padding-right:4px!important;text-align:center!important;white-space:nowrap!important}
.access-status-column{font-size:9px!important;color:#555!important}
.access-module-cell{width:1%!important;min-width:1px!important;max-width:none!important;padding-left:5px!important;padding-right:8px!important;white-space:nowrap!important;text-align:left!important}
.access-module-label{font-size:12px;font-weight:600;color:#555;white-space:nowrap}
/* Door de extra statuskolom schuift Functie één positie op. */
body.admin-page table.permissions-matrix-table.access-rights-table th:nth-child(4),
body.admin-page table.permissions-matrix-table.access-rights-table td:nth-child(4),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:nth-child(4),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:nth-child(4){text-align:left!important}

/* v581 - Projectevaluatie: samenvatting en statistieken */
.project-eval-view-tabs{margin:10px 0 14px}
.project-eval-stats-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:14px}
.project-eval-stats-kpis>div{border:1px solid #e5ded5;border-radius:12px;background:#fbfaf8;padding:12px 14px;min-width:0}
.project-eval-stats-kpis span{display:block;font-size:12px;color:#6d6d6d;font-weight:700;margin-bottom:3px}
.project-eval-stats-kpis strong{display:block;font-size:22px;line-height:1.1;color:#252827}
.project-eval-section-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.project-eval-section-stat{padding:12px 14px;border:1px solid #e8e1da;border-radius:12px;background:#fff}
.project-eval-section-stat>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:8px}
.project-eval-section-stat span{font-weight:800;font-size:15px}
.project-eval-stat-track{height:7px;background:var(--vhm-color-bg,#ece9e5);border-radius:999px;overflow:hidden}
.project-eval-stat-track i{display:block;height:100%;background:var(--vhm-color-primary,#e96f00);border-radius:999px}
.project-eval-question-stats td:nth-child(1){white-space:nowrap;width:1%}
.project-eval-question-stats td:nth-child(3),.project-eval-question-stats td:nth-child(4){white-space:nowrap;width:1%;text-align:center}
.project-eval-dist{display:flex;gap:5px;min-width:220px}
.project-eval-dist span{position:relative;display:flex;align-items:center;justify-content:center;height:28px;min-width:36px;flex:1;background:#f0eeea;border-radius:7px;overflow:hidden}
.project-eval-dist span i{position:absolute;left:0;top:0;bottom:0;background:#f2c58f;opacity:.7}
.project-eval-dist span b{position:relative;z-index:1;font-size:11px;white-space:nowrap}
.project-eval-function-stats th,.project-eval-function-stats td{white-space:nowrap}
.project-eval-function-stats td:not(:first-child),.project-eval-function-stats th:not(:first-child){text-align:center}
.project-eval-open-stats{display:grid;gap:14px}
.project-eval-open-stats article{border:1px solid #e5ded5;border-radius:12px;padding:14px;background:#fbfaf8}
.project-eval-open-stats article h3{margin:0 0 2px;font-size:16px}
.project-eval-open-stats article>small{display:block;color:#777;margin-bottom:10px}
.project-eval-open-answer{border-top:1px solid #e9e4de;padding:10px 0 0;margin-top:10px}
.project-eval-open-answer:first-of-type{border-top:0;margin-top:0}
.project-eval-open-answer b{font-size:12px;color:#555}
.project-eval-open-answer p{margin:5px 0 0;white-space:normal}
@media(max-width:900px){.project-eval-stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.project-eval-section-stats{grid-template-columns:1fr}}

/* v582 - Projectevaluatie statistieken */
.project-eval-lowest-card{border-left:4px solid #cf3f35!important}
.project-eval-lowest-table td:nth-child(3),.project-eval-lowest-table td:nth-child(4){white-space:nowrap;width:1%;text-align:center}
.project-eval-mini-tabs{display:flex;gap:6px;flex-wrap:wrap}
.project-eval-mini-tabs a{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid #d8d3cc;border-radius:999px;color:#555;text-decoration:none;font-size:12px;font-weight:700;background:#fff}
.project-eval-mini-tabs a.active{background:var(--vhm-color-text,#303332);color:#fff;border-color:var(--vhm-color-text,#303332)}
.project-eval-question-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.project-eval-question-filter select{height:32px;min-width:150px;padding:4px 28px 4px 9px;font-size:12px}
.project-eval-question-stats th:first-child,.project-eval-question-stats td:first-child{width:1%;white-space:nowrap;text-align:center}
.project-eval-question-stats th:nth-child(2),.project-eval-question-stats td:nth-child(2){white-space:nowrap}
.project-eval-question-stats td:nth-child(4),.project-eval-question-stats td:nth-child(5){white-space:nowrap;width:1%;text-align:center}
@media(max-width:760px){.project-eval-question-filter{width:100%}.project-eval-question-filter select{flex:1 1 150px}.project-eval-mini-tabs{width:100%}}

/* v587 - Projectevaluatie statistieken: vergelijkingsweergave per functie/persoon. */
.project-eval-compare-sections{display:grid;gap:18px}
.project-eval-compare-section{border-top:1px solid #eee;padding-top:14px}
.project-eval-compare-section:first-child{border-top:0;padding-top:0}
.project-eval-compare-section h3{margin:0 0 10px;font-size:15px}
.project-eval-compare-row{display:grid;grid-template-columns:minmax(140px,220px) minmax(180px,1fr) 72px;align-items:center;gap:12px;margin:8px 0}
.project-eval-compare-row>span{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-eval-compare-row>strong{text-align:right;font-size:13px}
.project-eval-compare-lowest{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.project-eval-compare-lowest-group{border:1px solid #e8e2db;border-radius:12px;padding:14px;background:#fff}
.project-eval-compare-lowest-group h3{margin:0 0 10px;font-size:15px}
.project-eval-compare-lowest-group h3 small{display:block;margin-top:2px;font-weight:500;color:#777}
.project-eval-compare-lowest-group ol{margin:0;padding-left:22px}
.project-eval-compare-lowest-group li{padding:6px 0;border-bottom:1px solid #f0ece7;display:grid;grid-template-columns:1fr auto;gap:10px;font-size:12px}
.project-eval-compare-lowest-group li:last-child{border-bottom:0}
.project-eval-single-overall{display:flex;align-items:baseline;gap:10px;padding:8px 0}
.project-eval-single-overall strong{font-size:30px}
.project-eval-single-overall span{color:#777;font-size:13px}
.project-eval-question-compare{display:grid;gap:14px}
.project-eval-question-compare article{border:1px solid #e8e2db;border-radius:12px;padding:14px;background:#fff}
.project-eval-question-compare-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}
.project-eval-question-compare-title b{font-size:13px}
.project-eval-question-compare-title small{color:#777;white-space:nowrap}
@media(max-width:760px){.project-eval-compare-row{grid-template-columns:1fr 64px}.project-eval-compare-row>span{grid-column:1/-1}.project-eval-compare-row .project-eval-stat-track{grid-column:1}.project-eval-question-compare-title{display:block}.project-eval-question-compare-title small{display:block;margin-top:4px}}

/* v588 - Projectevaluatie statistieken: twee compacte multiselect-filters. */
.project-eval-multifilter{margin:0;min-width:min(100%,620px)}
.project-eval-filter-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.project-eval-checkdropdown{position:relative;min-width:190px}
.project-eval-checkdropdown>summary{list-style:none;cursor:pointer;height:34px;box-sizing:border-box;border:1px solid #d8d4cf;border-radius:8px;background:#fff;padding:7px 30px 7px 10px;font-size:13px;font-weight:800;position:relative;white-space:nowrap}
.project-eval-checkdropdown>summary::-webkit-details-marker{display:none}
.project-eval-checkdropdown>summary:after{content:'▾';position:absolute;right:10px;top:6px;color:#777;font-size:13px}
.project-eval-checkdropdown[open]>summary:after{content:'▴'}
.project-eval-checkdropdown>summary span{font-weight:500;color:#777;margin-left:5px}
.project-eval-checkmenu{position:absolute;z-index:40;right:0;top:38px;width:max-content;min-width:230px;max-width:340px;max-height:310px;overflow:auto;padding:6px;background:#fff;border:1px solid #ddd5cc;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.13)}
.project-eval-checkmenu label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.project-eval-checkmenu label:hover{background:#f6f3ef}
.project-eval-checkmenu label.all{border-bottom:1px solid #eee6de;margin-bottom:4px;padding-bottom:9px;font-weight:800}
.project-eval-checkmenu input{margin:0;flex:0 0 auto}
.project-eval-checkmenu small{color:#888;font-weight:500;margin-left:auto;padding-left:10px}
.project-eval-filter-row .small{height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0}
@media(max-width:800px){.project-eval-summary-filter-card .compact-title-row{align-items:flex-start;flex-direction:column}.project-eval-multifilter{width:100%;min-width:0}.project-eval-filter-row{justify-content:flex-start}.project-eval-checkdropdown{min-width:0;flex:1 1 190px}.project-eval-checkmenu{left:0;right:auto;max-width:min(90vw,340px)}}

/* v589 - Projectevaluatie statistieken: compacte vergelijking per functie. */
.project-eval-question-by-function .question-col{
  text-align:left!important;
  min-width:340px;
}
.project-eval-question-by-function th:not(.question-col),
.project-eval-question-by-function td.score-cell{
  text-align:center!important;
  white-space:nowrap;
}
.project-eval-question-by-function td.score-cell{
  font-weight:800;
  min-width:92px;
}
.project-eval-question-by-function td.score-low{
  background:#fbe4e2!important;
  color:#a92d27!important;
}
.project-eval-question-by-function td.score-high{
  background:#e3f3e6!important;
  color:#236c35!important;
}
.project-eval-score-legend{margin:10px 0 0!important;font-size:.82rem}
.project-eval-score-legend span{display:inline-block;padding:2px 7px;border-radius:999px;font-weight:800}
.project-eval-score-legend .score-low-sample{background:#fbe4e2;color:#a92d27}
.project-eval-score-legend .score-high-sample{background:#e3f3e6;color:#236c35}

/* v591 - extra projectevaluatie-statistieken */
.project-eval-lowratings-table .num,.project-eval-gap-table .num,.project-eval-divided-table .num{text-align:center;white-space:nowrap}
.project-eval-lowratings-table .low-count-one strong{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#fde8e7;color:#a52c27}
.project-eval-lowratings-table .low-count-two{font-weight:800;color:#a96516}
.project-eval-response-by-function{display:grid;gap:10px}
.project-eval-response-row{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,1fr) 54px;gap:12px;align-items:center}
.project-eval-response-row>div:first-child{display:flex;flex-direction:column;gap:2px}.project-eval-response-row>div:first-child span{font-size:.78rem;color:#777}
.score-low-inline,.score-high-inline{display:inline-block;padding:5px 8px;border-radius:8px;font-weight:800}.score-low-inline{background:#fde8e7;color:#9e2d28}.score-high-inline{background:#e5f4e8;color:#246c36}
.project-eval-signal{display:inline-block;padding:4px 8px;border-radius:999px;background:#f4e9ff;color:#6b3595;font-size:.78rem;font-weight:800}
@media(max-width:760px){.project-eval-response-row{grid-template-columns:1fr 52px}.project-eval-response-row>div:first-child{grid-column:1/-1}}

/* v592 - actiegerichte projectevaluatie-statistieken en doorklikdetails */
.eval-question-detail-link{appearance:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#c9c9c9;text-underline-offset:3px}
.eval-question-detail-link:hover{color:#d96500;text-decoration-color:#d96500}
.project-eval-priority-card{border-left:4px solid #cf3f35!important}
.project-eval-positive-card{border-left:4px solid #2f8b49!important}
.project-eval-signal.signal-kritiek{background:#fde8e7;color:#a52c27}
.project-eval-signal.signal-aandacht{background:#fff0d8;color:#9a5a08}
.project-eval-signal.signal-goed{background:#e5f4e8;color:#246c36}
.stats-small-n{display:block;font-size:9px;font-weight:700;color:#9a6a28;margin-top:2px}
.project-eval-question-by-function td.score-insufficient{background:#f4f2ef!important;color:#888!important;font-weight:600!important}
.project-eval-question-by-function td.score-insufficient small{font-size:9px;color:#999;font-weight:600}
.eval-question-detail-modal[hidden]{display:none!important}
.eval-question-detail-modal{position:fixed;inset:0;z-index:10000;background:rgba(24,26,25,.48);display:flex;align-items:center;justify-content:center;padding:24px}
.eval-question-detail-dialog{width:min(900px,94vw);max-height:82vh;overflow:auto;background:#fff;border-radius:16px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.eval-question-detail-dialog .compact-title-row{position:sticky;top:-20px;background:#fff;z-index:2;padding:4px 0 12px;border-bottom:1px solid #eee;margin-bottom:12px}
.eval-question-detail-dialog h2{margin:0;font-size:20px}
.eval-question-detail-dialog table td,.eval-question-detail-dialog table th{vertical-align:top}
@media(max-width:700px){.eval-question-detail-modal{padding:10px}.eval-question-detail-dialog{padding:14px;max-height:90vh}.eval-question-detail-dialog .compact-title-row{top:-14px}}

/* v594 - Projectevaluatie statistieken: doorklikbare vragen als subtiele tekstlink, niet als knop. */
.project-eval-stats .eval-question-detail-link,
.project-eval-question-stats .eval-question-detail-link,
.project-eval-lowratings-table .eval-question-detail-link,
.project-eval-gap-table .eval-question-detail-link,
.project-eval-divided-table .eval-question-detail-link,
.eval-question-detail-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
  text-decoration-line:underline!important;
  text-decoration-color:#c9c9c9!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
.eval-question-detail-link:hover,
.eval-question-detail-link:focus{
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#d96500!important;
  text-decoration-color:#d96500!important;
  outline:none!important;
}

/* v597 - projectevaluatie: compacte realtime respons naast status */
.eval-progress-inline{display:inline-block;margin-left:8px;min-width:34px;font-size:12px;font-weight:800;color:#666;vertical-align:middle;white-space:nowrap}
.project-eval-list td:nth-child(3){white-space:nowrap}

/* v598 - Projectevaluatie: individuele invulvoortgang compact tonen. */
.project-eval-request-progress{font-weight:800;white-space:nowrap;width:1%;text-align:center}

/* v599 - Projectevaluatie: voortgang sorteerbaar. */
.project-eval-progress-table th.eval-progress-sort{cursor:pointer;position:relative;padding-right:18px!important;user-select:none}
.project-eval-progress-table th.eval-progress-sort::after{content:'↕';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:8px;color:#899198}
.project-eval-progress-table th.eval-progress-sort.sort-asc::after{content:'▲';color:var(--orange,var(--vhm-color-primary,#e96f00))}
.project-eval-progress-table th.eval-progress-sort.sort-desc::after{content:'▼';color:var(--orange,var(--vhm-color-primary,#e96f00))}

/* v601 - alle kolommen bij projectevaluatie voortgang zijn sorteerbaar. */
.project-eval-progress-table th.eval-sortable{cursor:pointer;position:relative;padding-right:18px!important;user-select:none}
.project-eval-progress-table th.eval-sortable::after{content:'↕';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:8px;color:#899198}
.project-eval-progress-table th.eval-sortable.sort-asc::after{content:'▲';color:var(--orange,var(--vhm-color-primary,#e96f00))}
.project-eval-progress-table th.eval-sortable.sort-desc::after{content:'▼';color:var(--orange,var(--vhm-color-primary,#e96f00))}


/* v635: bij Concept 2 is de concrete Aanvulling buddy zelf geel gemarkeerd. */
.bf-buddy-aanvulling-aanpassing{display:block;padding:10px 12px;margin:0 0 8px;border:2px solid #e6b94a;border-radius:8px;background:#fff9df;color:#5f4a00}
.bf-buddy-aanvulling-aanpassing textarea,.bf-buddy-aanvulling-aanpassing .bf-leerdoel-preview{background:#fffdf2!important;border-color:#e6b94a!important}

/* v635: medewerker ziet bij een aanpassingsverzoek alleen het losse vinkje
   "Aanpassing verwerkt"; geen extra gele omkadering of titel. */
.bf-verzoek-verwerkt-los{display:flex!important;align-items:center;gap:7px;width:max-content;margin:6px 0 14px!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important}
.bf-verzoek-verwerkt-los.bf-verzoek-validatie-fout{padding:6px 9px!important;border:1px solid #dc2626!important;border-radius:6px!important;background:#fff7f7!important;color:#b91c1c!important}

/* v635: checkbox en tekst van "Aanpassing nodig" netjes verticaal centreren. */
.bf-verzoek-verwerkt-label:has(input[name^="verzoek_nodig["]){display:inline-flex!important;align-items:center!important;gap:7px!important;line-height:1.2!important}
.bf-verzoek-verwerkt-label input[name^="verzoek_nodig["]{margin:0!important;align-self:center!important}

/* v635: vaste uitlijning van "Aanpassing nodig", ook in Opgevraagde feedback.
   Geen :has() nodig; de expliciete class werkt overal hetzelfde. */
.bf-aanpassing-nodig-label{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:auto!important;line-height:1.2!important;margin:6px 0 12px!important;padding:0!important}
.bf-aanpassing-nodig-label input[type="checkbox"]{display:block!important;flex:0 0 auto!important;margin:0!important;vertical-align:middle!important}

/* v635: "Aanpassing nodig" exact uitlijnen, inclusief Opgevraagde feedback.
   De generieke label/input-regels van het formulier mogen deze rij niet uitrekken. */
label.bf-aanpassing-nodig-label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  column-gap:8px!important;
  width:fit-content!important;
  min-height:22px!important;
  margin:10px 0 12px!important;
  padding:0!important;
  line-height:22px!important;
}
label.bf-aanpassing-nodig-label input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  display:inline-block!important;
  position:static!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  flex:0 0 18px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
}

/* v635: globale button display-regels mogen het HTML hidden-attribuut niet overrulen. */
.bf-status-actions .bf-terugsturen-btn[hidden],
.bf-status-actions .bf-definitief-btn[hidden]{
  display:none!important;
}

/* v635: oude tekst uit het vroegere veld "Aanpassing nodig" staat als tweede
   tekstvlak binnen hetzelfde blok Aanvulling buddy. */
.bf-oude-aanpassing-tekst{margin-top:8px!important}


/* v653: iedere feedbackaanvraag is visueel een zelfstandig blok */
.bf-feedback-sectie .bf-feedback-periode{display:grid;gap:12px}
.bf-feedback-sectie .bf-feedback-item{margin:0!important;padding:12px 14px;border:1px solid #e1e5e8;border-radius:8px;background:#fff}
.bf-feedback-sectie .bf-feedback-item+.bf-feedback-item{margin-top:0!important}
.bf-feedback-sectie .bf-feedback-kop{padding-bottom:7px;margin-bottom:8px;border-bottom:1px solid #eef0f2}
.bf-feedback-sectie .bf-feedback-kop strong{font-size:12.5px}
.bf-feedback-sectie .bf-feedback-meta{display:block;margin-top:2px}
.bf-feedback-sectie .bf-feedback-label-antwoord{margin-top:10px}

/* v660 - Evaluatiemoment-navigatie gelijk aan de periodebalk van Buddyformulier */
.evaluation-period-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 18px}
.evaluation-period-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:10px 12px;border:1px solid #d8dce1;border-radius:10px;background:#fff;color:inherit;text-decoration:none}
.evaluation-period-tab:hover{border-color:#b8bec6;text-decoration:none}
.evaluation-period-tab.is-actief{border:2px solid #e66a00;padding:9px 11px;background:#fffaf6}
.evaluation-period-tab.is-toekomst{background:#f3f4f5;color:#8b9097;border-color:#e2e4e7;cursor:not-allowed}
.evaluation-period-tab-label{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evaluation-period-tab-status{font-size:12px;white-space:nowrap}
@media(max-width:760px){.evaluation-period-tabs{grid-template-columns:1fr}.evaluation-period-tab{align-items:flex-start;flex-direction:column}}


/* v661 - opvallende uitleg bovenaan November Feedback & Tussentijdse evaluatie */
.nf-uitleg-kader{margin:0 0 18px;padding:13px 15px;border:2px solid #e3aa19;border-radius:10px;background:#fffdf5;color:#333}
.nf-uitleg-kader p{margin:0;line-height:1.5}
.nf-uitleg-kader p+p{margin-top:6px}

/* v670 - compacte evaluatieknoppen op Mijn eigen evaluatie */
.evaluation-app-page .dashboard-evaluation-column .dashboard-evaluation-row .button,
.evaluation-app-page .dashboard-evaluation-column .dashboard-status-buttons .button{width:auto!important;min-width:0!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important;}
.evaluation-app-page .dashboard-evaluation-column .dashboard-status-buttons{justify-items:start!important;}
@media(max-width:700px){.evaluation-app-page .dashboard-evaluation-column .dashboard-evaluation-row .button,.evaluation-app-page .dashboard-evaluation-column .dashboard-status-buttons .button{width:auto!important;max-width:100%!important;}}

/* v724 - Feedbacknetwerk opgeschoond: oude v700-v723 overrides verwijderd */
.feedback-network-card{overflow:visible}
.feedback-network-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.feedback-network-head h2{margin-bottom:4px}
.feedback-network-layout.has-summary{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.feedback-network-wrap{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:8px;min-width:0}
.feedback-network-wrap svg{display:block;width:100%;height:auto;min-height:360px}
.feedback-network-detail{display:block;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:18px;position:sticky;top:16px}
.feedback-network-detail h3{margin:0 0 14px}
.feedback-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.feedback-kpi-filter{appearance:none;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#f8fafc!important;padding:8px 10px!important;text-align:left!important;color:#334155!important;cursor:pointer!important;box-shadow:none!important;min-width:0;width:100%;min-height:54px}
.feedback-kpi-filter strong{display:block;font-size:18px;line-height:1.05;color:#111827}
.feedback-kpi-filter span{display:block;margin-top:3px;font-size:9px;line-height:1.2;font-weight:500;color:#64748b}
.feedback-kpi-filter.is-selected{border:2px solid #e66a00!important;padding:7px 9px!important;background:#fffaf6!important}
.feedback-kpi-filter:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}
.feedback-detail-top h4{margin:14px 0 6px}.feedback-detail-top ol{margin:0;padding-left:22px}.feedback-detail-top li{padding:5px 0;display:flex;justify-content:space-between;gap:10px}.feedback-detail-top li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-detail-top li b{flex:none}
.feedback-edge{transition:.15s;stroke-linecap:round}.feedback-edge-neutral{stroke:#64748b}.feedback-edge-received{stroke:#dc2626}.feedback-edge-blue{stroke:#2563eb}.feedback-edge-missed{stroke:#111827}.feedback-edge-not-received{stroke:#111827;stroke-dasharray:7 6}
.feedback-node{cursor:pointer;transition:opacity .15s}.feedback-node.is-active{opacity:1}.feedback-node.is-muted{opacity:.10}.feedback-node text{font-size:11px;font-weight:700;fill:#1f2937;pointer-events:none}
/* Node fill komt bewust uit inline SVG-style: geselecteerd donkergroen, verbonden lichtgroen, overzicht groen. */
.feedback-network-legend{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:18px;color:#6b7280;font-size:11px;padding:6px 8px 2px}
.feedback-network-legend i{display:inline-block;vertical-align:-1px;margin-right:5px}
.feedback-legend-dot,.feedback-node-scale-green-light,.feedback-node-scale-green-dark{width:12px!important;height:12px!important;min-width:12px!important;border-radius:50%!important;border:0!important}
.feedback-node-scale-green-light{background:hsl(142 55% 90%);border:1px solid hsl(142 45% 72%)!important;margin-right:0!important}
.feedback-node-scale-green-dark{background:hsl(142 55% 39%);border:1px solid hsl(142 45% 25%)!important;margin-right:6px!important}
.feedback-legend-dot-red{background:#dc2626!important}.feedback-legend-dot-blue{background:#2563eb!important}
.feedback-line-received,.feedback-line-given,.feedback-line-missed,.feedback-line-not-received{width:24px!important;height:0!important;border-radius:0!important;vertical-align:3px!important}
.feedback-line-received{border-top:2px solid #dc2626!important}.feedback-line-given{border-top:2px solid #2563eb!important}.feedback-line-missed{border-top:2px solid #111827!important}.feedback-line-not-received{border-top:2px dashed #111827!important}
@media(max-width:1000px){.feedback-network-layout.has-summary{grid-template-columns:1fr}.feedback-network-detail{position:static}.feedback-network-wrap svg{min-height:300px}}
@media(max-width:650px){.feedback-detail-kpis{grid-template-columns:1fr}}


/* Studie v731: opleidingen per instelling op afzonderlijke rijen */
.studie-school-rows{display:grid;gap:10px;margin-top:12px}.studie-school-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-top:1px solid #ececec}.studie-school-row:first-child{border-top:0}.studie-school-row>strong{font-size:13px}.studie-school-row .studie-phase-tabs{margin:0;display:flex;flex-wrap:wrap;gap:6px}@media(max-width:760px){.studie-school-row{grid-template-columns:1fr;gap:5px}}

/* Studie v732: strakke opleidingsrijen zonder scheidingslijnen of overbodige witruimte */
.studie-school-rows{gap:2px!important;margin-top:6px!important}
.studie-school-row{grid-template-columns:140px minmax(0,1fr)!important;gap:8px!important;padding:2px 0!important;border:0!important;min-height:0!important}
.studie-school-row>strong{line-height:28px!important}
.studie-school-row .studie-phase-tabs{margin:0!important;padding:0!important;gap:4px!important;min-height:0!important}
.studie-school-row .studie-phase-tabs .button{margin:0!important}
@media(max-width:760px){.studie-school-row{grid-template-columns:1fr!important;gap:2px!important}.studie-school-row>strong{line-height:20px!important}}

/* Studie v733: faseknoppen zijn compacte rijen; geen niveau-3 scheidingslijn */
body.admin-page .beheer-main .studie-school-row .studie-phase-tabs,
body.admin-page .studie-school-row .studie-phase-tabs{
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
}

/* Studie v734: direct bewerkbare vakken/ECTS en medewerker-voortgang */
.studie-edit-table .studie-inline-edit{width:100%;min-width:120px;border:1px solid transparent;background:transparent;padding:5px 7px;border-radius:5px;font:inherit;color:inherit}
.studie-edit-table .studie-inline-edit:hover,.studie-edit-table .studie-inline-edit:focus{border-color:#d8dce1;background:#fff;outline:none}
.studie-edit-table .studie-ects{max-width:90px;text-align:right}
.studie-total-row td{border-top:2px solid #dfe3e8!important;background:#fafafa}
.studie-user-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0}.studie-user-tabs .button{margin:0!important}
.studie-progress-table select.studie-status{min-width:145px;padding:5px 28px 5px 8px;border:1px solid #d8dce1;border-radius:6px;background:#fff}

/* Studie v735: gebruikerspagina gelijkgetrokken met Voortgang-header en compacte hoofdblokken */
body.studie-page{background:#f4f5f7}
body.studie-page>header{width:100%!important;max-width:100vw!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
body.studie-page>header .planning-nav{position:absolute!important;right:18px!important;top:50%!important;display:flex!important;align-items:center!important;gap:7px!important;width:auto!important;max-width:calc(100vw - 245px)!important;margin:0!important;transform:translateY(-50%)!important;visibility:visible!important;opacity:1!important}
body.studie-page>header .planning-nav-link{position:static!important;display:inline-flex!important;visibility:visible!important;opacity:1!important;transform:none!important}
.studie-main{width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:10px 14px 24px!important;box-sizing:border-box}
.studie-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px}
.studie-overview-card{margin:0!important;min-height:72px!important;padding:11px 13px!important}
.studie-overview-card h2{margin:0 0 4px!important}
.studie-overview-card p{margin:0!important;font-size:12px;line-height:1.3}
.studie-overview-card-active{border-top:3px solid #e66a00!important;padding-top:9px!important}
.studie-progress-card{margin:0!important;padding:12px 14px!important}
.studie-progress-card h1{margin:0 0 7px!important}
@media(max-width:760px){.studie-overview-grid{grid-template-columns:1fr}.studie-main{padding:8px!important}}


/* Studie v737: hoofdmenu identiek aan de menuknoppen op Projecten */
.studie-main-tabs{margin:0 0 8px!important;overflow-x:auto;flex-wrap:nowrap!important}
.studie-main-tabs a{white-space:nowrap!important}
.studie-progress-card .compact-title-row{margin-bottom:4px!important}
.studie-progress-card .compact-title-row p{margin:2px 0 0!important;font-size:12px!important}
/* v738 Studie: drie dashboardblokken zoals Evaluaties + compacte faseknoppen */
.studie-summary-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0 0 10px!important}
.studie-summary-card{min-height:82px!important;padding:14px 16px!important;margin:0!important}
.studie-summary-card h2{margin:0 0 7px!important;font-size:16px!important}
.studie-summary-value{display:block;font-size:20px;line-height:1.15;margin-bottom:2px}
.studie-fases-card{padding:9px 12px!important;margin-bottom:10px!important}
.studie-user-tabs-small{margin:0!important;gap:4px!important}
.studie-user-tabs-small .button{padding:4px 8px!important;min-height:0!important;font-size:11px!important;line-height:1.25!important;border-radius:4px!important;width:auto!important}
@media(max-width:800px){.studie-summary-grid{grid-template-columns:1fr!important}}

/* v739 - uniforme tab-/moduleknoppen in de hele VHM Audit-app.
   Projecten is de referentie: grijs = niet geselecteerd, oranje met ronde rand = geselecteerd. */
.beheer-tabs a,
.compact-tabs a,
.central-admin-tabs a,
.module-subtabs a,
.evaluation-subtabs a,
.beheer-level3-tabs a,
.optie-subtabs a,
.project-detail-tabs a,
.project-eval-mini-tabs a,
.dashboard-main-tabs a,
.dashboard-compare-tabs a,
.progress-year-tabs a,
.studie-user-tabs a,
.eval-year-tab {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  padding:5px 10px!important;
  border:1px solid #d1d4d6!important;
  border-radius:16px!important;
  background:#eee!important;
  color:#333!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
}
.beheer-tabs a.active,
.compact-tabs a.active,
.central-admin-tabs a.active,
.module-subtabs a.active,
.evaluation-subtabs a.active,
.beheer-level3-tabs a.active,
.optie-subtabs a.active,
.project-detail-tabs a.active,
.project-eval-mini-tabs a.active,
.dashboard-main-tabs a.active,
.dashboard-compare-tabs a.active,
.progress-year-tabs a.active,
.studie-user-tabs a.active,
.eval-year-tab.active {
  border-color:var(--orange)!important;
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* v740 - Studie fase-tabs gebruiken exact de Projecten module-subtabs.
   Oude Studie-specifieke vierkante radius expliciet neutraliseren. */
.studie-page .studie-user-tabs-small.beheer-tabs.compact-tabs.module-subtabs a{
  padding:6px 11px!important;
  min-height:28px!important;
  border:1px solid #d1d4d6!important;
  border-radius:16px!important;
  background:#eee!important;
  color:#333!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
}
.studie-page .studie-user-tabs-small.beheer-tabs.compact-tabs.module-subtabs a.active{
  background:var(--orange)!important;
  border-color:var(--orange)!important;
  color:#fff!important;
}

/* v743 - Studie gebruikersview: compact in twee rijen.
   Beheerpagina's houden hun bestaande opmaak; geen globale tab-override. */
.studie-page .studie-user-tabs-small{
  display:grid!important;
  grid-template-columns:repeat(2,max-content)!important;
  gap:5px 6px!important;
  align-items:center!important;
  justify-content:start!important;
  width:auto!important;
  margin:6px 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.studie-page .studie-user-tabs-small a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:24px!important;padding:5px 10px!important;margin:0!important;
  border:1px solid #cfd3d6!important;border-radius:999px!important;background:#f1f2f3!important;
  color:#333!important;text-decoration:none!important;font-size:9px!important;font-weight:700!important;line-height:1.15!important;
  box-shadow:none!important;white-space:nowrap!important;
}
.studie-page .studie-user-tabs-small a.active{
  background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;
}

/* v742 Studie: vaste statuskleuren */
.studie-progress-table select.studie-status{font-weight:600;}
.studie-progress-table select.studie-status.status-niet_gestart{background:#f1f3f5!important;border-color:#d6d9dd!important;color:#555!important;}
.studie-progress-table select.studie-status.status-gestart{background:#fff3bf!important;border-color:#f0d76a!important;color:#725b00!important;}
.studie-progress-table select.studie-status.status-herkansing{background:#ffe3e3!important;border-color:#ef9a9a!important;color:#a32020!important;}
.studie-progress-table select.studie-status.status-gehaald{background:#dff3e4!important;border-color:#91c99d!important;color:#236b32!important;}

/* v744 Studie: compact vak toevoegen */
.studie-page .studie-add-vak{margin-top:8px;display:flex;align-items:center;gap:6px;}
.studie-page .studie-add-vak form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;}
.studie-page .studie-add-vak input{min-height:28px;padding:4px 8px;border:1px solid #d6d9dd;border-radius:7px;font-size:11px;}
.studie-page .studie-add-vak input[name="naam"]{min-width:240px;}
.studie-page .studie-add-vak .button{min-height:26px;padding:5px 10px;border-radius:999px;font-size:9px;}

/* v745 Studie: nieuwe vakken als autosave-invoerregel direct boven totaal */
.studie-page .studie-new-vak-row input{width:100%;min-height:27px;padding:4px 7px;border:1px solid #d6d9dd;border-radius:6px;background:#fff;font:inherit;box-sizing:border-box;}
.studie-page .studie-new-vak-row td{padding-top:5px;padding-bottom:5px;}
.studie-page .studie-new-vak-row input[name="semester"]{min-width:80px;}
.studie-page .studie-new-vak-row input[name="ects"]{max-width:90px;}

/* v746 Studie: compacte semesterkolom en actieve vakstatus */
.studie-page .studie-progress-table th:first-child,.studie-page .studie-progress-table td:first-child{width:54px;min-width:54px;max-width:54px;}
.studie-page .studie-new-vak-row input[name="semester"]{width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center;}
.studie-page .studie-progress-table tr.studie-vak-inactief>td{background:#f4f5f6!important;color:#8b8f94!important;}
.studie-page .studie-progress-table tr.studie-vak-inactief .studie-status{opacity:.7;}

/* v749 Studie KPI: percentage rechts en studieuren uit IMP53 */
.studie-progress-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.studie-progress-pct{font-size:34px!important;line-height:1!important;font-weight:700!important;text-align:right!important;white-space:nowrap!important}

/* v751 Studie: subtiel verwijderen van zelf toegevoegde vakken */
.studie-page .studie-delete-col{width:28px!important;min-width:28px!important;max-width:28px!important;text-align:center!important;padding-left:2px!important;padding-right:2px!important}
.studie-page .studie-delete-vak{appearance:none;border:0;background:transparent;color:#c94b4b;font-size:17px;line-height:1;padding:2px 5px;border-radius:999px;cursor:pointer;opacity:.72}
.studie-page .studie-delete-vak:hover{opacity:1;background:#fdeaea;color:#a91f1f}

/* v755 - Dashboards volgt dezelfde visuele hiërarchie als Beheer:
   dashboard-analyse = niveau 2, vergelijking binnen Analyse planning = niveau 3. */
.dashboard-card .dashboard-main-tabs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  padding:5px!important;
  border:1px solid var(--vhm-color-border,#d8dde1)!important;
  border-radius:11px!important;
  background:#e9edf0!important;
  box-shadow:inset 0 1px 2px #0000000a!important;
}
.dashboard-card .dashboard-main-tabs>a{
  min-height:30px!important;
  padding:6px 11px!important;
  border:1px solid #d1d4d6!important;
  border-radius:9px!important;
  background:#f1f2f3!important;
  color:#333!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
}
.dashboard-card .dashboard-main-tabs>a.active{
  border-color:#a94800!important;
  background:repeating-linear-gradient(135deg,#c95500 0,#c95500 6px,#e76a0a 6px,#e76a0a 12px)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 0 #8f3b00,0 2px 5px #00000022!important;
}
.dashboard-card .dashboard-compare-tabs{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 8px!important;
  padding:7px 8px!important;
  border:0!important;
  border-bottom:1px solid #d8d8d8!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
}
.dashboard-card .dashboard-compare-tabs>a{
  flex:0 0 auto!important;
  min-height:25px!important;
  padding:4px 9px!important;
  border:1px solid #cfd4d8!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#252525!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.dashboard-card .dashboard-compare-tabs>a.active{
  border-color:var(--orange)!important;
  background:var(--orange)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* v756 - Voortgang: jaarmarkering bij Alle jaren + kleurfilters */
.progress-color-filter-title{margin:6px 0 3px;padding-top:5px;border-top:1px solid #eceff1;color:#6b7278;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.progress-color-filter-list{display:flex;flex-wrap:wrap;gap:3px 7px;padding:1px 2px 3px}
.progress-color-filter-list label{display:flex;align-items:center;gap:4px;min-height:20px;font-size:9px;cursor:pointer}
.progress-color-filter-list input{width:12px;height:12px;margin:0}
.progress-color-dot{display:inline-block;width:9px;height:9px;border:1px solid var(--vhm-color-border-strong,#c8cdd1);border-radius:50%;background:#fff}
.progress-color-dot.color-groen{background:#d1e7dd}.progress-color-dot.color-geel{background:#fff3cd}.progress-color-dot.color-rood{background:#f8d7da}.progress-color-dot.color-oranje{background:#ffe0c2}.progress-color-dot.color-blauw{background:#dbeafe}.progress-color-dot.color-grijs{background:#e9ecef}.progress-color-dot.color-overig{background:#ddd}
\n\n/* v757 - Voortgang: alleen afwijkende jaartallen + directe kleurvinkjes */\n.progress-color-filter-list{display:grid;grid-template-columns:repeat(2,minmax(82px,1fr));gap:4px 6px;padding:2px 2px 4px}\n.progress-color-filter-list label{display:flex;align-items:center;gap:5px;min-height:22px;margin:0;cursor:pointer}\n.progress-color-checkbox{width:13px!important;height:13px!important;margin:0!important;flex:0 0 13px}\n.progress-color-swatch{display:inline-flex;align-items:center;min-width:0;padding:2px 6px;border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:9px;font-weight:700;line-height:1.2;color:#30343a;background:#fff;white-space:nowrap}\n.progress-color-swatch.color-groen{background:#d1e7dd}.progress-color-checkbox.color-groen{accent-color:#77b796}\n.progress-color-swatch.color-geel{background:#fff3cd}.progress-color-checkbox.color-geel{accent-color:#d4ad34}\n.progress-color-swatch.color-rood{background:#f8d7da}.progress-color-checkbox.color-rood{accent-color:#c85c67}\n.progress-color-swatch.color-oranje{background:#ffe0c2}.progress-color-checkbox.color-oranje{accent-color:#e58b36}\n.progress-color-swatch.color-blauw{background:#dbeafe}.progress-color-checkbox.color-blauw{accent-color:#6d9ed8}\n.progress-color-swatch.color-grijs{background:#e9ecef}.progress-color-checkbox.color-grijs{accent-color:#8b9298}\n.progress-color-swatch.color-geen-kleur{background:#fff}.progress-color-checkbox.color-geen-kleur{accent-color:#9aa0a6}\n.progress-color-swatch.color-overig{background:#ddd}.progress-color-checkbox.color-overig{accent-color:#888}\n
/* v759 - Voortgang: kleurfilters bovenaan, checkbox zelf toont de kleur */
.progress-color-filter-title{margin:0 0 3px!important;padding:0!important;border-top:0!important}
.progress-color-filter-list{margin:0 0 5px!important;padding:0 1px 5px!important;border-bottom:1px solid #eceff1}
.progress-color-filter-list label{gap:5px!important}
.progress-color-checkbox{
  appearance:none!important;-webkit-appearance:none!important;
  width:14px!important;height:14px!important;flex:0 0 14px!important;
  border:1px solid rgba(0,0,0,.16)!important;border-radius:3px!important;
  position:relative!important;cursor:pointer!important;background:#fff!important;
}
.progress-color-checkbox:checked::after{content:'✓';position:absolute;inset:-1px 0 0 0;text-align:center;font-size:11px;font-weight:900;line-height:14px;color:#222}
.progress-color-checkbox.color-groen{background:#d1e7dd!important}.progress-color-checkbox.color-geel{background:#fff3cd!important}.progress-color-checkbox.color-rood{background:#f8d7da!important}.progress-color-checkbox.color-oranje{background:#ffe0c2!important}.progress-color-checkbox.color-blauw{background:#dbeafe!important}.progress-color-checkbox.color-grijs{background:#e9ecef!important}.progress-color-checkbox.color-geen-kleur{background:#fff!important}.progress-color-checkbox.color-overig{background:#ddd!important}
.progress-color-label{font-size:9px;font-weight:600;color:#454b50;white-space:nowrap}


/* v760 - Voortgang: compacte kleurvakken, werkende Alles-reset en scroll bij >10 opties */
.progress-color-filter-list{display:flex!important;flex-wrap:wrap!important;gap:5px!important;align-items:center!important;padding:1px 1px 6px!important}
.progress-color-only-option{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0!important;cursor:pointer!important}
.progress-color-only-option .progress-color-checkbox{width:15px!important;height:15px!important;flex:0 0 15px!important;margin:0!important}
.progress-multifilter-list-scroll{max-height:230px!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:4px!important;scrollbar-gutter:stable!important}

/* v761 - Voortgangfilters: echte kleurvakken, 9+ opties scroll/zoeken, geen afkapping */
.progress-multifilter-menu{overflow:hidden!important;max-height:min(420px,calc(100vh - 16px))!important}
.progress-color-filter-list{flex:0 0 auto!important}
.progress-color-only-option{position:relative!important}
.progress-color-checkbox-native{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}
.progress-color-only-option .progress-color-checkbox{
  display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
  border:1px solid #7f878e!important;border-radius:3px!important;box-sizing:border-box!important;position:relative!important;
}
.progress-color-only-option .progress-color-checkbox.color-groen{background:#b8dfca!important}
.progress-color-only-option .progress-color-checkbox.color-geel{background:#ffe08a!important}
.progress-color-only-option .progress-color-checkbox.color-rood{background:#ef9aa2!important}
.progress-color-only-option .progress-color-checkbox.color-oranje{background:#ffc487!important}
.progress-color-only-option .progress-color-checkbox.color-blauw{background:#a9cbed!important}
.progress-color-only-option .progress-color-checkbox.color-grijs{background:#cfd3d6!important}
.progress-color-only-option .progress-color-checkbox.color-geen-kleur{background:#fff!important}
.progress-color-only-option .progress-color-checkbox.color-overig{background:#c7b6d8!important}
.progress-color-only-option .progress-color-checkbox.is-checked::after{content:'✓'!important;position:absolute!important;inset:-1px 0 0!important;text-align:center!important;line-height:16px!important;font-size:11px!important;font-weight:900!important;color:#222!important}
.progress-multifilter-list-scroll{max-height:192px!important;overflow-y:scroll!important;overflow-x:hidden!important;scrollbar-gutter:stable!important;padding-right:3px!important}
.progress-multifilter-list label span{display:block!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:break-word!important}

/* v763 - Voortgang: Alles/Niks, paars apart en compacte acties */
.progress-multifilter-actions{grid-template-columns:auto auto minmax(110px,1fr)!important}
.progress-multifilter-actions button{min-width:42px!important}
.progress-color-only-option .progress-color-checkbox.color-paars{background:#cbb1df!important}

/* v764 - exacte Beheer-kleurfilters */
.progress-color-only-option .progress-color-checkbox.color-zwart{background:#343a40!important}
.progress-color-only-option .progress-color-checkbox.color-blauwgroen{background:#d0e0e3!important}
.progress-color-only-option .progress-color-checkbox.color-roze{background:#ead1dc!important}

/* v767 - Voortgang: realtime zoeken in kolomfilterdropdowns.
   Het filtermenu hangt aan <body> en viel daardoor buiten .progress-table [hidden].
   De label display:flex-regel overschreef vervolgens het native hidden-gedrag. */
.progress-multifilter-menu .progress-multifilter-list label[hidden]{display:none!important}

/* v794 - Toegang > Mailing */
.mailing-filterbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}.mailing-filterbar label{display:grid;gap:5px;font-size:12px;font-weight:700}.mailing-filterbar select,.mailing-filterbar input{min-width:220px}.mailing-overview-table td{vertical-align:top}.mailing-overview-table th:first-child,.mailing-overview-table td:first-child,.mailing-overview-table th:nth-child(2),.mailing-overview-table td:nth-child(2){white-space:nowrap}.mailing-status{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}.mailing-status.planned{background:#eaf7ed;color:var(--vhm-color-success,#2f7a45)}.mailing-status.conditional{background:#fff4df;color:#8a5900}.mailing-footnote{margin-top:12px}

/* v801 - centrale beheerpagina's onderscheiden van modules */
.admin-nav a.admin-core-link{
  background:#dbeafe;
  color:#1e4f8a;
  border:1px solid #93c5fd;
  box-shadow:0 4px 12px rgba(37,99,235,.10);
}
.admin-nav a.admin-core-link:hover{
  background:#bfdbfe;
  color:#163f73;
  border-color:#60a5fa;
}
.admin-nav a.admin-core-link.active{
  background:#1d4f91;
  color:#fff;
  border-color:#1d4f91;
  box-shadow:0 6px 16px rgba(29,79,145,.22);
}

/* v802 - centrale beheerpagina's duidelijk blauw onderscheiden van modules. */
body.admin-page .central-admin-tabs a.admin-core-link,
body.admin-page .beheer-main .central-admin-tabs a.admin-core-link {
  border-color:#9fc4e8!important;
  background:#e8f2fc!important;
  color:#155a96!important;
}
body.admin-page .central-admin-tabs a.admin-core-link:hover,
body.admin-page .beheer-main .central-admin-tabs a.admin-core-link:hover {
  border-color:#6ea8dc!important;
  background:#d8ebfb!important;
  color:#104f87!important;
}
body.admin-page .central-admin-tabs a.admin-core-link.active,
body.admin-page .beheer-main .central-admin-tabs a.admin-core-link.active {
  border-color:var(--portal-blue,var(--vhm-color-info,#1976d2))!important;
  background:var(--portal-blue,var(--vhm-color-info,#1976d2))!important;
  color:#fff!important;
  box-shadow:none!important;
}


/* v805 - filter rechtenmatrices rechtsboven, op dezelfde regel als toelichting/titel */
.rights-filter-anchor{
  display:flex!important;
  align-items:flex-start!important;
  gap:0!important;
  width:100%!important;
}
.rights-table-filterbar{
  width:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin:0 0 0 auto!important;
  padding-top:1px!important;
  text-align:right!important;
}
.rights-hide-empty-label{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:600!important;
  color:#475569!important;
  cursor:pointer!important;
  user-select:none!important;
}
.rights-hide-empty-checkbox{width:15px!important;height:15px!important;margin:0!important;accent-color:#2563eb;cursor:pointer!important;}
.permissions-matrix-table tbody tr.rights-row-filtered{display:none!important;}

@media (max-width:760px){
  .rights-filter-anchor{flex-wrap:wrap!important;}
  .rights-filter-anchor .rights-table-filterbar{width:100%!important;margin-left:0!important;}
}


/* v810 - Systeem is net als Portaaltoegang en Beheerrechten een centrale beheerpagina.
   Rechten is binnen Systeem eveneens een beheerfunctie en krijgt dezelfde blauwe taal. */
body.admin-page .systeem-subtabs a.admin-system-link,
body.admin-page .beheer-main .systeem-subtabs a.admin-system-link{
  border-color:#9fc4e8!important;
  background:#e8f2fc!important;
  color:#155a96!important;
}
body.admin-page .systeem-subtabs a.admin-system-link:hover,
body.admin-page .beheer-main .systeem-subtabs a.admin-system-link:hover{
  border-color:#6ea8dc!important;
  background:#d8ebfb!important;
  color:#104f87!important;
}
body.admin-page .systeem-subtabs a.admin-system-link.active,
body.admin-page .beheer-main .systeem-subtabs a.admin-system-link.active{
  border-color:var(--portal-blue,var(--vhm-color-info,#1976d2))!important;
  background:var(--portal-blue,var(--vhm-color-info,#1976d2))!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* v833 - Ideeën als compacte inbox */
.ideeen-melding-kaart{padding:0!important;overflow:hidden}.ideeen-inbox-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;list-style:none}.ideeen-inbox-summary::-webkit-details-marker{display:none}.ideeen-inbox-summary:after{content:'›';font-size:18px;color:#8b949b;transform:rotate(90deg)}.ideeen-melding-kaart[open] .ideeen-inbox-summary:after{transform:rotate(-90deg)}.ideeen-melding-kaart[open] .ideeen-inbox-summary{border-bottom:1px solid #edf0f2;background:#fbfcfd}.ideeen-melding-kaart>.ideeen-melding-meta,.ideeen-melding-kaart>.ideeen-melding-body,.ideeen-melding-kaart>.ideeen-melding-acties{margin-left:12px;margin-right:12px}.ideeen-melding-meta{padding-top:10px;margin-bottom:8px!important}.ideeen-melding-acties{margin-bottom:12px}.ideeen-inbox-summary strong{font-size:11px;color:#252b30}.ideeen-inbox-summary>span:not(.ideeen-status){font-size:9px;color:#6b747b}@media(max-width:800px){.ideeen-inbox-summary{grid-template-columns:auto 1fr auto}.ideeen-inbox-summary>span:nth-of-type(n+3){display:none}}
/* v834 - Ideeën overzicht als compacte tabel */
.ideeen-overzicht-tablewrap{margin-top:10px}
.ideeen-overzicht-table{width:100%;table-layout:fixed}
.ideeen-overzicht-table th:nth-child(1){width:16%}
.ideeen-overzicht-table th:nth-child(2){width:14%}
.ideeen-overzicht-table th:nth-child(3){width:auto}
.ideeen-overzicht-table th:nth-child(4){width:14%}
.ideeen-overzicht-table th:nth-child(5){width:11%}
.ideeen-overzicht-table th.ideeen-open-kolom{width:28px}
.ideeen-overzicht-hoofdrow{cursor:pointer}
.ideeen-overzicht-hoofdrow:hover td{background:#f7f9fa}
.ideeen-overzicht-hoofdrow:focus{outline:2px solid rgba(0,102,170,.18);outline-offset:-2px}
.ideeen-overzicht-hoofdrow td{vertical-align:middle}
.ideeen-titel-cel strong{font-size:11px;color:#252b30}
.ideeen-open-kolom{text-align:center!important;padding-left:4px!important;padding-right:4px!important}
.ideeen-row-arrow{display:inline-block;font-size:18px;color:#8b949b;transition:transform .15s ease}
.ideeen-melding-kaart.is-open .ideeen-row-arrow{transform:rotate(90deg)}
.ideeen-overzicht-detailrow>td{padding:0 12px 12px!important;background:#fbfcfd;border-top:0!important}
.ideeen-overzicht-detailrow .ideeen-melding-meta{padding-top:10px;margin:0 0 8px!important}
.ideeen-overzicht-detailrow .ideeen-melding-acties{margin-bottom:0}
@media(max-width:800px){.ideeen-overzicht-table{table-layout:auto}.ideeen-overzicht-table th:nth-child(1),.ideeen-overzicht-table td:nth-child(1),.ideeen-overzicht-table th:nth-child(4),.ideeen-overzicht-table td:nth-child(4){display:none}}

/* v836 - Studie beheer: compact voortgangsoverzicht */
.studie-admin-overview th,.studie-admin-overview td{vertical-align:middle}
.studie-admin-overview th:nth-child(1){min-width:170px}.studie-admin-overview th:nth-child(2){min-width:220px}.studie-admin-overview th:nth-child(5){min-width:190px}
.studie-overview-function{display:block;margin-top:2px;font-size:11px}
.studie-overview-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid #d7dbe0;border-radius:999px;background:#f5f6f7;color:#555;font-size:11px;font-weight:600;white-space:nowrap}
.studie-overview-status.is-active{background:#fff7d6;border-color:#ead27b;color:#725b00}.studie-overview-status.is-retry{background:#fff0f0;border-color:#e9aaaa;color:#9c2c2c}.studie-overview-status.is-done{background:var(--vhm-color-success-soft,#e7f5ea);border-color:#9dcea7;color:#286d36}
.studie-overview-progress{display:flex;align-items:center;gap:8px;min-width:160px}.studie-overview-progress-track{height:8px;flex:1;min-width:110px;border-radius:999px;background:#e7eaed;overflow:hidden}.studie-overview-progress-track>span{display:block;height:100%;border-radius:999px;background:#e66a00}.studie-overview-progress>b{min-width:36px;text-align:right;font-size:11px}

/* v837 Studie instellingen: beheerbare studierichtingen */
.studie-directions-title{align-items:center!important}.studie-direction-new{display:grid;grid-template-columns:1.1fr 1.1fr 1.6fr auto auto minmax(80px,.5fr);gap:7px;align-items:center;margin:8px 0 10px;padding:9px;background:#f7f8f9;border:1px solid #e1e4e7;border-radius:8px}.studie-direction-new[hidden]{display:none!important}.studie-direction-new input,.studie-direction-edit-grid input{width:100%;box-sizing:border-box;min-height:32px;padding:5px 8px;border:1px solid #d6d9dd;border-radius:7px;background:#fff;font:inherit}.studie-directions-table tbody tr[data-href]{cursor:pointer}.studie-directions-table tbody tr[data-href]:hover td{background:#f7f8fa}.studie-directions-table tbody tr.selected td{background:#fff6ed}.studie-direction-state{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #d7dbe0;border-radius:999px;font-size:11px}.studie-direction-state.is-active{background:var(--vhm-color-success-soft,#e7f5ea);border-color:#9dcea7;color:#286d36}.studie-direction-state.is-inactive{background:#f1f3f5;border-color:#d6d9dd;color:#666}.studie-direction-edit-grid{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(160px,1fr) minmax(220px,1.35fr) 82px 68px;gap:7px 9px;align-items:end}.studie-direction-edit-grid label{display:grid;gap:3px;font-size:11px;font-weight:600;min-width:0}.studie-direction-edit-grid .wide{grid-column:auto}.studie-direction-description{min-width:0}.studie-direction-order input{max-width:82px}.studie-direction-active{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;padding-bottom:7px;white-space:nowrap}.studie-direction-active input{width:auto!important;min-height:0!important}.studie-new-vak-row[hidden]{display:none!important}.studie-new-vak-row .button{white-space:nowrap}@media(max-width:1000px){.studie-direction-new{grid-template-columns:1fr 1fr}.studie-direction-edit-grid{grid-template-columns:1fr 1fr 1.25fr 82px}.studie-direction-active{grid-column:span 1}}@media(max-width:760px){.studie-direction-edit-grid{grid-template-columns:1fr 1fr}.studie-direction-description{grid-column:span 2}}@media(max-width:600px){.studie-direction-new,.studie-direction-edit-grid{grid-template-columns:1fr}.studie-direction-edit-grid .wide{grid-column:auto}}
/* v838 - Studie instellingen: sorteerbare studierichtingen */
.studie-directions-table thead th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
.studie-directions-table thead th.sortable::after{content:' ↕';opacity:.35;font-size:.85em}
.studie-directions-table thead th.sortable.sort-asc::after{content:' ↑';opacity:.75}
.studie-directions-table thead th.sortable.sort-desc::after{content:' ↓';opacity:.75}

/* v859 - één robuust verwijdericoon voor alle compacte verwijderknoppen.
   Inline SVG-masker voorkomt ontbrekende/onscherpe losse afbeeldingsbestanden. */
.vhm-delete-icon{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#a33f3f!important;font-size:0!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;vertical-align:middle!important}
.vhm-delete-icon::before{content:"";display:block;width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-2 6h10l-1 12H8L7 9Zm3 2v8h2v-8h-2Zm4 0v8h2v-8h-2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-2 6h10l-1 12H8L7 9Zm3 2v8h2v-8h-2Zm4 0v8h2v-8h-2Z'/%3E%3C/svg%3E") center/contain no-repeat}
.vhm-delete-icon:hover,.vhm-delete-icon:focus-visible{background:var(--vhm-color-danger-soft,#fdeeee)!important;border-color:#f0cccc!important;color:#8f2222!important;outline:none!important}
.vhm-delete-icon img{display:none!important}

/* v861 - Vaktechniek / Interim IBM-bibliotheek */
.vaktechniek-main{max-width:1380px}
.vaktechniek-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.vaktechniek-intro h1{margin:0 0 5px}.vaktechniek-intro p{margin:0}.vaktechniek-intro input[type=search]{width:min(360px,100%);min-width:240px}
.vaktechniek-process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.vaktechniek-proces-card{min-width:0;margin:0}.vaktechniek-proces-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.vaktechniek-proces-head h2{margin:0;font-size:16px}.vaktechniek-proces-head small{color:#6b7280}
.vaktechniek-ibm-table th:first-child,.vaktechniek-ibm-table td:first-child{width:38px;text-align:center;color:#6b7280}.vaktechniek-ibm-table td{vertical-align:top;line-height:1.35}
.ibm-add-form{margin-top:10px;padding-top:10px;border-top:1px solid #ececec}.ibm-add-form textarea{width:100%;resize:vertical;min-height:76px}.ibm-add-form>div{display:flex;align-items:center;gap:10px;margin-top:7px}.ibm-pending-list{margin-top:9px;padding:9px 10px;border-radius:8px;background:#fff8df;font-size:12px}.ibm-pending-list>b{display:block;margin-bottom:5px}.ibm-pending-list>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid rgba(0,0,0,.05)}.ibm-pending-list>div:first-of-type{border-top:0}.ibm-pending-list span{white-space:nowrap;color:#8a6500;font-weight:700}
.vaktechniek-beheer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:10px}.vaktechniek-beheer-head h2{margin:0 0 4px}.vaktechniek-beheer-head p{margin:0}.vaktechniek-beheer-head select{min-width:180px}
.vaktechniek-admin-table th:nth-child(1){width:14%}.vaktechniek-admin-table th:nth-child(2){width:19%}.vaktechniek-admin-table th:nth-child(3){width:39%}.vaktechniek-admin-table th:nth-child(4){width:11%}.vaktechniek-admin-table th:nth-child(5){width:10%}.vaktechniek-admin-table th:nth-child(6){width:7%}.vaktechniek-admin-table select,.vaktechniek-admin-table textarea{width:100%;font-size:12px}.vaktechniek-admin-table textarea{min-height:68px;resize:vertical}.vaktechniek-admin-table td{vertical-align:top}.ibm-review-status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.ibm-review-status.pending{background:#fff0c2;color:#7a5600}.ibm-review-status.approved{background:#def7e5;color:#126b31}.ibm-admin-actions{white-space:nowrap}.ibm-admin-actions .button{display:block;width:100%;margin-bottom:5px;padding:5px 7px;font-size:11px}.ibm-admin-actions .vhm-delete-icon{margin:0 auto;display:block}
@media(max-width:900px){.vaktechniek-process-grid{grid-template-columns:1fr}.vaktechniek-intro,.vaktechniek-beheer-head{align-items:stretch;flex-direction:column}.vaktechniek-intro input[type=search]{width:100%;min-width:0}}

/* v862 - Aanwezigheid / kantoorscherm */
.portal-page .app-aanwezigheid .app-icon{background:#edf7f1;color:#2f7a4e}
.aanwezigheid-page{background:var(--vhm-color-surface-soft,#f6f7f8)}.aanwezigheid-main{max-width:980px;margin:0 auto;padding:30px 22px 50px}.aanwezigheid-personal{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;background:#fff;border:1px solid #e5e7e9;border-radius:16px}.aanwezigheid-personal h1{margin:4px 0 7px;font-size:26px}.aanwezigheid-personal p{margin:0;color:#687078}.presence-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#8a9198}.presence-current{display:flex;align-items:center;gap:10px;min-width:170px;padding:12px 16px;border-radius:999px;font-size:15px}.presence-current>span,.presence-summary-item i,.presence-person-dot,.presence-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:currentColor}.presence-groen{background:#e5f5eb;color:#277247}.presence-geel{background:var(--vhm-color-warning-soft,#fff4cf);color:var(--vhm-color-warning,#8a6400)}.presence-blauw{background:var(--vhm-color-info-soft,#e8f1fb);color:#346c9b}.presence-rood{background:#f9e7e7;color:#a94343}.presence-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.presence-choice,.presence-modal-option{min-height:78px;border:2px solid transparent;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;cursor:pointer;box-shadow:0 1px 4px #00000008}.presence-choice:hover,.presence-choice:focus-visible,.presence-modal-option:hover,.presence-modal-option:focus-visible{border-color:currentColor;outline:none}.presence-choice.active{border-color:currentColor;box-shadow:0 0 0 3px currentColor inset}.presence-choice-groen{color:#277247}.presence-choice-geel{color:var(--vhm-color-warning,#8a6400)}.presence-choice-blauw{color:#346c9b}.presence-choice-rood{color:#a94343}.presence-choice-groen .presence-dot{background:#36a864}.presence-choice-geel .presence-dot{background:#d6a100}.presence-choice-blauw .presence-dot{background:#4a89bd}.presence-choice-rood .presence-dot{background:#c65353}.presence-message{min-height:24px;margin:9px 2px;color:#596168;font-size:13px}.presence-screen-link{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;padding:18px 20px;background:#fff;border:1px solid #e5e7e9;border-radius:14px}.presence-screen-link div{display:flex;flex-direction:column;gap:3px}.presence-screen-link span{font-size:13px;color:#777f86}
.presence-kiosk-page{margin:0;background:#f4f5f6;color:#202427;font-family:var(--vhm-font-family,Arial,sans-serif)}.presence-kiosk-main{padding:22px 26px 34px;max-width:1600px;margin:0 auto}.presence-kiosk-header{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:16px;margin-bottom:16px}.presence-kiosk-header h1{margin:0;font-size:32px}.presence-kiosk-header p{margin:4px 0 0;color:#747c83}.presence-back{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fff;border:1px solid #e2e4e6;color:#333;text-decoration:none;font-size:25px}.presence-clock{text-align:right}.presence-clock b{display:block;font-size:30px;line-height:1}.presence-clock span{display:block;margin-top:6px;color:#727980;font-size:13px}.presence-kiosk-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px 70px}.presence-summary-item{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:13px}.presence-summary-item i{width:9px;height:9px}.presence-people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}.presence-person-card{position:relative;display:grid;grid-template-columns:54px 1fr 18px;align-items:center;gap:12px;min-height:86px;padding:14px 16px;background:#fff;border:2px solid transparent;border-radius:15px;text-align:left;cursor:pointer;box-shadow:0 1px 5px #0000000b}.presence-person-card:hover,.presence-person-card:focus-visible{border-color:currentColor;outline:none}.presence-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#eef0f2;color:#525b62;font-size:17px;font-weight:800}.presence-person-copy{min-width:0}.presence-person-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;color:#252a2e}.presence-person-copy small{display:block;margin-top:4px;font-size:13px;color:inherit}.presence-person-dot{justify-self:end;width:13px;height:13px}.presence-person-groen{color:#277247}.presence-person-groen .presence-person-dot{background:#36a864}.presence-person-geel{color:var(--vhm-color-warning,#8a6400)}.presence-person-geel .presence-person-dot{background:#d6a100}.presence-person-blauw{color:#346c9b}.presence-person-blauw .presence-person-dot{background:#4a89bd}.presence-person-rood{color:#a94343}.presence-person-rood .presence-person-dot{background:#c65353}.presence-loading{padding:30px;text-align:center;color:#747c83;grid-column:1/-1}.presence-modal[hidden]{display:none}.presence-modal{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:22px}.presence-modal-backdrop{position:absolute;inset:0;background:#1119}.presence-modal-card{position:relative;width:min(620px,100%);padding:28px;background:#fff;border-radius:20px;box-shadow:0 18px 55px #0003}.presence-modal-card h2{margin:5px 0 20px;font-size:28px}.presence-modal-close{position:absolute;right:14px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:#f0f1f2;font-size:27px;cursor:pointer}.presence-modal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.presence-modal-option{min-height:88px}.presence-modal-open{overflow:hidden}
@media(max-width:760px){.aanwezigheid-main{padding:18px 14px 36px}.aanwezigheid-personal{align-items:flex-start;flex-direction:column}.presence-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presence-screen-link{align-items:flex-start;flex-direction:column}.presence-screen-link .button{width:100%;text-align:center}.presence-kiosk-main{padding:15px}.presence-kiosk-header{grid-template-columns:48px 1fr}.presence-clock{display:none}.presence-kiosk-summary{margin-left:0}.presence-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presence-person-card{grid-template-columns:44px 1fr 14px;padding:11px}.presence-avatar{width:42px;height:42px}.presence-person-copy b{font-size:16px}}@media(max-width:470px){.presence-people-grid{grid-template-columns:1fr}.presence-modal-options{grid-template-columns:1fr}}


/* v863 - Aanwezigheid: direct dagbord met drie vaste statuskolommen */
.presence-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.presence-board-column{min-width:0;background:#fff;border:1px solid #e1e4e6;border-radius:15px;overflow:hidden;box-shadow:0 1px 5px #00000008}
.presence-board-column>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e6e8e9;font-size:16px}
.presence-board-column>header span{display:flex;align-items:center;gap:9px;font-weight:800}.presence-board-column>header i{width:10px;height:10px;border-radius:50%;display:inline-block}.presence-board-column>header>b{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:999px;background:#f1f2f3;font-size:13px;color:#444}
.presence-board-afwezig>header{background:#fcf4f4;color:#943b3b}.presence-board-afwezig>header i{background:#c65353}
.presence-board-pauze>header{background:#fff9e6;color:#806000}.presence-board-pauze>header i{background:#d6a100}
.presence-board-aanwezig>header{background:#f0f9f3;color:#256b43}.presence-board-aanwezig>header i{background:#36a864}
.presence-board-list{display:flex;flex-direction:column;padding:7px}
.presence-board-person{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:9px 11px;border:0;border-bottom:1px solid #eceeef;background:#fff;text-align:left;cursor:pointer;font:inherit;color:#252a2e}
.presence-board-person:last-child{border-bottom:0}.presence-board-person:hover,.presence-board-person:focus-visible{background:#f7f8f9;outline:2px solid currentColor;outline-offset:-2px}.presence-board-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}.presence-board-person i{flex:0 0 auto;width:10px;height:10px;border-radius:50%}.presence-board-person-rood{color:#8e3b3b}.presence-board-person-rood i{background:#c65353}.presence-board-person-geel{color:#7b5c00}.presence-board-person-geel i{background:#d6a100}.presence-board-person-groen{color:#256b43}.presence-board-person-groen i{background:#36a864}
.presence-board-empty{margin:0;padding:15px 11px;color:#92989d;font-size:13px;text-align:center}.presence-board .presence-loading{grid-column:auto;margin:0;padding:22px 10px}
.presence-modal-options-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.presence-board{grid-template-columns:1fr}.presence-modal-options-three{grid-template-columns:1fr}.presence-board-column>header{position:sticky;top:0;z-index:1}}


/* v864 - aanwezigheidsscherm: rustige header en goed zichtbare popup-sluitknop */
body.presence-kiosk-page header::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
body.presence-kiosk-page .presence-kiosk-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-height:86px !important;
  box-sizing:border-box !important;
  padding:10px 18px !important;
  margin:0 0 16px !important;
  gap:24px !important;
  background:linear-gradient(135deg,#fff 35%,#fff8e9 72%,#fff1cf 100%) !important;
  border:0 !important;
  border-bottom:1px solid #e3d8be !important;
  border-radius:0 !important;
}
.presence-brand-logo{
  display:block;
  width:auto;
  height:64px;
  max-width:220px;
  object-fit:contain;
}
.presence-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  margin-left:auto;
  text-decoration:none;
}
.presence-home-link img{display:block;width:30px;height:35px;object-fit:contain}
body.presence-kiosk-page .presence-clock{
  margin-left:12px;
  text-align:right;
}
body.presence-kiosk-page .presence-board-column>header{
  min-height:0 !important;
  height:auto !important;
  position:relative !important;
  padding:12px 14px !important;
  margin:0 !important;
}
body.presence-kiosk-page .presence-modal-close{
  display:grid !important;
  place-items:center !important;
  right:14px !important;
  top:14px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  padding:0 !important;
  border:2px solid #fff !important;
  border-radius:50% !important;
  background:#252a2e !important;
  color:#fff !important;
  box-shadow:0 2px 10px #0003 !important;
  cursor:pointer !important;
  line-height:1 !important;
}
body.presence-kiosk-page .presence-modal-close span{
  display:block;
  margin-top:-2px;
  color:#fff !important;
  font-size:31px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
body.presence-kiosk-page .presence-modal-close:hover,
body.presence-kiosk-page .presence-modal-close:focus-visible{
  background:#000 !important;
  outline:3px solid #e99522 !important;
  outline-offset:2px !important;
}
@media(max-width:760px){
  body.presence-kiosk-page .presence-kiosk-header{min-height:70px !important;padding:8px 10px !important;margin-bottom:12px !important}
  .presence-brand-logo{height:50px;max-width:175px}
  body.presence-kiosk-page .presence-clock{display:block !important}
  body.presence-kiosk-page .presence-clock b{font-size:24px}
}


/* v865 - Beheer > Portaaltoegang: activiteit onder de naam en compacte, inhoudsbrede kolommen. */
body.admin-page .central-access-card .tablewrap{
  overflow-x:auto!important;
}
body.admin-page table.permissions-matrix-table.access-rights-table{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  table-layout:auto!important;
}
body.admin-page table.permissions-matrix-table.access-rights-table th:first-child,
body.admin-page table.permissions-matrix-table.access-rights-table td:first-child,
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:first-child,
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:first-child{
  width:1%!important;
  min-width:165px!important;
  max-width:220px!important;
  padding-left:8px!important;
  padding-right:12px!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body.admin-page table.permissions-matrix-table.access-rights-table th:nth-child(2),
body.admin-page table.permissions-matrix-table.access-rights-table td:nth-child(2),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:nth-child(2),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:nth-child(2){
  width:1%!important;
  min-width:105px!important;
  max-width:155px!important;
  padding-left:6px!important;
  padding-right:10px!important;
  text-align:left!important;
  white-space:nowrap!important;
}
body.admin-page table.permissions-matrix-table.access-rights-table th:nth-child(n+3),
body.admin-page table.permissions-matrix-table.access-rights-table td:nth-child(n+3),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table th:nth-child(n+3),
body.admin-page .beheer-main table.permissions-matrix-table.access-rights-table td:nth-child(n+3){
  width:1%!important;
  min-width:0!important;
  max-width:118px!important;
  padding-left:7px!important;
  padding-right:7px!important;
  text-align:center!important;
  white-space:normal!important;
}
.access-name-cell{vertical-align:middle!important}
.access-name-cell .impersonate-user-form{margin:0}
.access-name-activity{
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:2px;
  min-height:15px;
  color:#737373;
  font-size:9px;
  line-height:1.15;
  white-space:nowrap;
}
.access-name-activity .access-presence-dot{
  width:10px;
  height:12px;
  flex:0 0 10px;
}
.access-name-activity .access-presence-dot i{
  width:7px;
  height:7px;
}
.access-name-activity .access-module-label{
  font-size:9px;
  line-height:1.15;
  font-weight:600;
  color:#737373;
}


/* ===== v866: compacte homepage in drie functionele blokken ===== */
.portal-page .portal-home{width:min(1160px,100%)}
.portal-page .portal-home-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;align-items:start}
.portal-page .app-group{min-width:0;padding:12px;border:1px solid #dedede;border-radius:13px;background:#f9fafb;box-shadow:0 4px 14px #00000008}
.portal-page .app-group-items{display:grid;gap:9px}
.portal-page .app-group .app{grid-template-columns:48px minmax(0,1fr);gap:11px;min-height:78px;padding:11px 12px;border-radius:9px;box-shadow:none}
.portal-page .app-group .app .app-icon{width:46px;height:46px;border-radius:12px}
.portal-page .app-group .app .app-icon svg{width:30px;height:30px}
.portal-page .app-group .app b{font-size:14px;line-height:1.2}
.portal-page .app-group .app-deadlines-hint{font-size:9px;line-height:1.25}
@media(max-width:900px){.portal-page .portal-home-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.portal-page .portal-home-groups{grid-template-columns:1fr}.portal-page .app-group .app{min-height:72px}}

/* ===== v866: Vaktechniek kantoorbibliotheek beheer ===== */
.vaktechniek-kantoor-add{display:grid;grid-template-columns:minmax(190px,260px) minmax(320px,1fr) auto;gap:10px;align-items:start;margin:0 0 12px;padding:10px;border:1px solid #e4e6e8;border-radius:9px;background:#fafbfb}
.vaktechniek-kantoor-add select,.vaktechniek-kantoor-add textarea{width:100%;margin:0}
.vaktechniek-kantoor-add textarea{min-height:82px;resize:vertical}
.vaktechniek-kantoor-add>div{display:flex;flex-direction:column;gap:6px}
.vaktechniek-library-table th:nth-child(1){width:22%}.vaktechniek-library-table th:nth-child(2){width:50%}.vaktechniek-library-table th:nth-child(3){width:10%}.vaktechniek-library-table th:nth-child(4){width:11%}.vaktechniek-library-table th:nth-child(5){width:7%}
.ibm-source-badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.ibm-source-badge.office{background:#fff0df;color:#a84e00}.ibm-source-badge.employee{background:#eef2f5;color:#52616d}.ibm-source-name{display:block;margin-top:4px;color:#7a8085}
.vaktechniek-voorstellen-card{margin-top:14px}
@media(max-width:900px){.vaktechniek-kantoor-add{grid-template-columns:1fr}.vaktechniek-kantoor-add>div{flex-direction:row;flex-wrap:wrap}}

/* v868 - Vaktechniek > Interim: compacte databasegestuurde procesbibliotheek */
.vaktechniek-proces-tabs{margin-top:0!important}
.vaktechniek-process-card{padding:12px 14px!important}
.vaktechniek-process-top{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}
.vaktechniek-process-name-wrap{display:grid;gap:3px;flex:1;min-width:0;margin:0!important}
.vaktechniek-process-name-wrap>span{font-size:9px;font-weight:800;color:#687078;text-transform:uppercase;letter-spacing:.04em}
.vaktechniek-process-name-wrap input{width:100%;height:31px;box-sizing:border-box;padding:5px 8px;border:1px solid #c9ced2;border-radius:5px;background:#fff;font-size:12px;font-weight:700;color:#222}
.vaktechniek-inline-add{flex:0 0 auto;min-height:31px!important;padding:5px 10px!important;font-size:9px!important}
.vaktechniek-ibm-list,.vaktechniek-proposal-list{display:grid;gap:4px}
.vaktechniek-ibm-row{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:7px;align-items:center;min-height:34px;padding:3px 0;border-bottom:1px solid #eceeef}
.vaktechniek-ibm-row:last-child{border-bottom:0}
.vaktechniek-ibm-row input,.vaktechniek-proposal-row input{width:100%;height:29px;box-sizing:border-box;padding:4px 7px;border:1px solid #cbd0d4;border-radius:4px;background:#fff;font-size:11px;color:#222}
.vaktechniek-ibm-row input:focus,.vaktechniek-proposal-row input:focus,.vaktechniek-process-name-wrap input:focus{border-color:var(--orange);outline:1px solid var(--orange);outline-offset:0}
.vaktechniek-ibm-row-new input{border-color:var(--orange);background:#fffaf5}
.vaktechniek-empty{margin:4px 0!important;padding:7px 0!important;font-size:9px!important}
.vaktechniek-ibm-row .ibm-source-badge{padding:3px 6px!important;font-size:9px!important;line-height:1!important;white-space:nowrap}
.vaktechniek-ibm-row .vhm-delete-icon,.vaktechniek-proposal-row .vhm-delete-icon{margin:0!important}
.vaktechniek-voorstellen-card{margin-top:10px!important;padding:11px 14px!important}
.vaktechniek-voorstellen-card .vaktechniek-beheer-head{margin-bottom:7px!important}
.vaktechniek-voorstellen-card .vaktechniek-beheer-head h2{margin:0!important;font-size:12px!important}
.vaktechniek-voorstellen-card .vaktechniek-beheer-head p{margin:2px 0 0!important;font-size:9px!important}
.vaktechniek-proposal-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto 28px;gap:7px;align-items:center;min-height:34px;padding:3px 0;border-bottom:1px solid #eceeef}
.vaktechniek-proposal-row:last-child{border-bottom:0}
.vaktechniek-proposal-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;color:#555}
.vaktechniek-proposal-row .button{min-height:28px!important;padding:4px 8px!important;font-size:9px!important}
@media(max-width:760px){.vaktechniek-process-top{align-items:stretch;flex-direction:column}.vaktechniek-inline-add{width:100%}.vaktechniek-proposal-row{grid-template-columns:1fr 28px}.vaktechniek-proposal-user{grid-column:1/-1}.vaktechniek-proposal-row .ibm-omschrijving{grid-column:1/-1}.vaktechniek-proposal-row .button{width:auto}.vaktechniek-ibm-row{grid-template-columns:minmax(0,1fr) 28px}.vaktechniek-ibm-row .ibm-source-badge{display:none}}

/* v869 - Vaktechniek Interim beheer */
.vaktechniek-process-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.vaktechniek-process-actions .danger.small,.vaktechniek-ibm-row .danger.small,.vaktechniek-proposal-row .danger.small{min-height:28px!important;padding:5px 9px!important;font-size:9px!important;line-height:1!important;white-space:nowrap}
.vaktechniek-ibm-row{grid-template-columns:minmax(0,1fr) auto auto!important}
.vaktechniek-proposal-row{grid-template-columns:125px minmax(145px,210px) minmax(280px,1fr) auto auto!important}
.vaktechniek-proposal-row select{width:100%;height:29px;box-sizing:border-box;padding:3px 24px 3px 7px;border:1px solid #cbd0d4;border-radius:4px;background:#fff;font-size:9px;color:#222}
.vaktechniek-pending-card{margin-top:0!important}
@media(max-width:900px){.vaktechniek-proposal-row{grid-template-columns:1fr 1fr!important}.vaktechniek-proposal-user{grid-column:1/-1}.vaktechniek-proposal-row .ibm-omschrijving{grid-column:1/-1}.vaktechniek-process-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}


/* ===== v870: homepage - één vlakke tegelgrid, drie per rij ===== */
.portal-page .portal-home-groups{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:22px!important;
  align-items:stretch!important;
}
.portal-page .portal-home-groups>.app-group,
.portal-page .portal-home-groups>.app-group>.app-group-items{
  display:contents!important;
}
.portal-page .portal-home-groups .app{
  min-width:0;
  min-height:78px;
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid #ddd!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 4px 12px #0000000b!important;
}
@media(max-width:900px){.portal-page .portal-home-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.portal-page .portal-home-groups{grid-template-columns:1fr!important}}

/* v870 - proces toevoegen boven de niveau-3 tabs */
.vaktechniek-proces-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 7px}
.vaktechniek-proces-toolbar .button.small{min-height:29px!important;padding:5px 9px!important;font-size:9px!important}


/* v871 - Vaktechniek Interim: procesbeheer centraal, inhoud per proces */
.vaktechniek-process-manager{padding:12px 14px!important}
.vaktechniek-process-manager .vaktechniek-beheer-head{margin-bottom:8px!important}
.vaktechniek-process-list{display:grid;gap:7px;max-width:860px}
.vaktechniek-process-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;padding:1px 0;border:0}
.vaktechniek-process-drag-handle{display:flex;justify-content:center;align-items:center;width:24px;height:29px;cursor:grab;color:#858b90;font-size:18px;font-weight:700;letter-spacing:-3px;user-select:none;border-radius:5px;touch-action:none}
.vaktechniek-process-drag-handle:hover,.vaktechniek-process-drag-handle:focus-visible{background:#f0f2f4;color:#41494f;outline:0}
.vaktechniek-process-drag-handle:active{cursor:grabbing}
.vaktechniek-process-row.is-dragging{opacity:.5}
.vaktechniek-process-row input{width:100%;height:29px;box-sizing:border-box;padding:4px 7px;border:1px solid #cbd0d4;border-radius:4px;background:#fff;font-size:11px;color:#222}
.vaktechniek-process-row input:focus{border-color:var(--orange);outline:1px solid var(--orange);outline-offset:0}
.vaktechniek-process-row-new{grid-template-columns:24px minmax(0,1fr);padding-top:7px}
.vaktechniek-process-row-new::before{content:'';display:block}
.vaktechniek-process-row-new input{background:#fff;border-style:solid}
.vaktechniek-process-row .danger.small{min-height:28px!important;padding:5px 9px!important;font-size:9px!important;line-height:1!important;white-space:nowrap}
.vaktechniek-process-card{margin-top:0!important}
.vaktechniek-process-card .vaktechniek-ibm-list{margin-top:0}
.vaktechniek-ibm-row-new{border-bottom:0!important;padding-top:7px!important}
.vaktechniek-ibm-row-new input{background:#fff!important;border:1px solid #cbd0d4!important}
@media(max-width:760px){.vaktechniek-process-row{grid-template-columns:24px minmax(0,1fr) auto}.vaktechniek-process-row-new{grid-template-columns:24px minmax(0,1fr)}}
.vaktechniek-ibm-row-new{grid-template-columns:minmax(0,1fr)!important}
.vaktechniek-ibm-row-new .ibm-source-badge,.vaktechniek-ibm-row-new>span{display:none!important}


/* ===== v873: homepage - laatste volledig geslaagde AFAS-synchronisatie ===== */
.portal-page .portal-home{position:relative}
.portal-page .portal-home-sync{position:absolute;top:6px;right:0;font-size:11px;line-height:1.25;color:#777;white-space:nowrap}
.portal-page .portal-home-sync b{color:#3f4549;font-weight:700}
@media(max-width:720px){
  .portal-page .portal-home-sync{position:static;margin:-8px 0 12px;text-align:right;white-space:normal}
}


/* ===== v874: homepage header alignment + beheer in moduleheaders ===== */
.portal-page .portal-home>.portal-logo-link{display:block!important;width:max-content!important;max-width:calc(100% - 320px)!important;margin:0 auto!important;text-align:center!important}
.portal-page .portal-home>.portal-logo-link .portal-logo{margin-left:auto!important;margin-right:auto!important}
.portal-page .portal-home-meta{position:absolute;top:6px;right:10px;text-align:right;font-size:11px;line-height:1.35;color:#777;white-space:nowrap}
.portal-page .portal-home-meta .portal-home-sync{position:static!important;top:auto!important;right:auto!important;margin:0!important;text-align:right!important;white-space:nowrap!important}
.portal-page .portal-home-meta .portal-home-user{margin-top:3px;color:#777}
.portal-page .portal-home-meta b{color:#3f4549;font-weight:700}
.portal-page .portal-home-actions{justify-content:flex-end!important}
.planning-nav .planning-manage-link{white-space:nowrap!important}
@media(max-width:720px){
  .portal-page .portal-home>.portal-logo-link{max-width:100%!important}
  .portal-page .portal-home-meta{position:static!important;margin:-8px 10px 12px!important;text-align:right!important;white-space:normal!important}
  .portal-page .portal-home-meta .portal-home-sync{white-space:normal!important}
}


/* ===== v875: beheerknop blauw + Systeem > Update ===== */
.planning-nav > .planning-nav-link.planning-manage-link,
body.planning-page > header .planning-nav > .planning-nav-link.planning-manage-link,
body.planning-admin-page > header .planning-nav > .planning-nav-link.planning-manage-link,
body.admin-page>header.central-module-header .planning-nav-link.planning-manage-link,
.evaluation-app-page>header.central-module-header .planning-nav-link.planning-manage-link{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  box-shadow:0 2px 0 #1e40af,0 2px 5px #0000001f!important;
}
.planning-nav > .planning-nav-link.planning-manage-link:hover,
body.planning-page > header .planning-nav > .planning-nav-link.planning-manage-link:hover,
body.planning-admin-page > header .planning-nav > .planning-nav-link.planning-manage-link:hover,
body.admin-page>header.central-module-header .planning-nav-link.planning-manage-link:hover,
.evaluation-app-page>header.central-module-header .planning-nav-link.planning-manage-link:hover{
  background:#1d4ed8!important;
  border-color:#1e40af!important;
  color:#fff!important;
}
.system-update-card{max-width:920px}
.system-update-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}
.system-update-heading h2{margin:0 0 3px!important}
.system-update-heading p{margin:0!important}
.system-update-version{font-size:9px;color:#666;white-space:nowrap;padding-top:2px}
.system-update-result{margin:12px 0;padding:9px 11px;border:1px solid #ddd;background:#fafafa;font-size:9px;line-height:1.55}
.system-update-result>b{display:block;margin-bottom:3px;font-size:11px}
.system-update-form{margin-top:14px}
.system-update-note{margin:12px 0 0!important}
.system-update-note code{background:#f0f1f2;padding:1px 4px;border-radius:3px}
@media(max-width:720px){.system-update-heading{flex-direction:column;gap:4px}.system-update-version{white-space:normal}}


/* ===== v876: compacte headers ===== */
.planning-nav .planning-home-link{display:inline-flex!important}
/* Vaktechniek gebruikt vanaf v876 exact dezelfde centrale moduleheader. */
body.vaktechniek-page>header.central-module-header{display:flex!important}

/* v1232 — toegestane navigatie blijft altijd zichtbaar.
   Ook wanneer een gebruiker slechts één niveau-2/3 onderdeel mag zien, tonen we
   die knop zodat de navigatiecontext en rechtenstructuur zichtbaar blijven.
   Verberg subtabs nooit enkel omdat er maar één toegestane keuze is. */

/* v878 — Update-recht gebruikt dezelfde rustige checkboxpresentatie als Rechten. */

/* v880: uniforme beheer-verwijderknoppen en hoofdstukindeling mailtemplates */
.admin-delete-button{width:auto!important;min-width:max-content!important;height:auto!important;min-height:28px!important;padding:6px 9px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important}

/* v913 - één compacte basis voor alle gewone dropdowns en hoofdnav-home. */
select{
  min-height:30px;
  padding:4px 28px 4px 8px;
  border:1px solid #bfc5ca;
  border-radius:5px;
  background:#fff;
  color:#30363b;
  font:inherit;
  line-height:1.2;
}
.planning-nav>.planning-home-link,
body.planning-page>header .planning-nav>.planning-home-link,
body.planning-admin-page>header .planning-nav>.planning-home-link,
body.studie-page>header .planning-nav>.planning-home-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:29px!important;
  width:29px!important;
  height:29px!important;
  min-height:29px!important;
  padding:6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4d555c!important;
  box-shadow:none!important;
}
.planning-nav>.planning-home-link:hover,
body.planning-page>header .planning-nav>.planning-home-link:hover,
body.planning-admin-page>header .planning-nav>.planning-home-link:hover,
body.studie-page>header .planning-nav>.planning-home-link:hover{border-color:transparent!important;background:transparent!important;color:#d85f00!important;transform:none!important;box-shadow:none!important}
.planning-home-mark{position:relative;display:block;width:18px;height:18px;overflow:visible}
.planning-home-mark img{position:absolute;z-index:2;left:0;top:-2px;display:block;width:18px!important;height:21px!important;object-fit:contain;transform:none;filter:none}

/* Voortgang taakpopup: alleen inhoud-specifieke geselecteerde-medewerkerweergave. */
#progressTaskModal #progressTaskSelected .bf-collega-chip{font-size:9px!important}
#progressTaskModal #progressTaskSelected .bf-collega-chip-remove{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#8a8f94!important;font-size:14px!important;line-height:1!important;box-shadow:none!important}
#progressTaskModal #progressTaskSelected .bf-collega-chip-remove:hover{color:#c9342f!important}

/* Projectkolom volgt de langste klantnaam, met 20px extra ademruimte. */
.progress-page .progress-table td:nth-child(1),
.progress-page .progress-table .progress-header-row th:nth-child(1){min-width:60px!important;width:60px!important;max-width:60px!important}
.progress-client-label>b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
/* Voortgang: dropdownkolommen en dropdowns zijn exact 100px breed. */
.progress-page .progress-table{table-layout:auto!important;width:max-content!important;min-width:100%!important}
.progress-page .progress-table col{width:auto!important}
.progress-page .progress-table td:nth-child(-n+5),
.progress-page .progress-table .progress-header-row th:nth-child(-n+5),
.progress-page .progress-table .progress-filter-row th:nth-child(-n+5){width:auto!important;min-width:0!important;max-width:none!important}
.progress-page .progress-table td:nth-child(n+6),
.progress-page .progress-table .progress-header-row th:nth-child(n+6),
.progress-page .progress-table .progress-filter-row th:nth-child(n+6){width:100px!important;min-width:100px!important;max-width:100px!important}
.progress-page .progress-table td:nth-child(1),
.progress-page .progress-table .progress-header-row th:nth-child(1),
.progress-page .progress-table .progress-filter-row th:nth-child(1){width:var(--progress-project-width,78px)!important;min-width:var(--progress-project-width,78px)!important;max-width:var(--progress-project-width,78px)!important}
.tpl-toolbar-editor{grid-template-columns:minmax(300px,1fr) auto!important}
.tpl-row{grid-template-columns:minmax(0,1fr) 92px auto!important}
.eval-option-row{grid-template-columns:minmax(100px,160px) auto!important}
.mail-template-chapter-label{display:inline-block;margin:-2px 0 12px;padding:4px 8px;border-radius:5px;background:#f1f2f3;color:#555;font-size:11px;font-weight:800}

/* ===== v881: subtiele homepage-opfrisbeurt, uitsluitend bestaande portaaldata ===== */
.portal-page .portal-home{width:min(1260px,calc(100% - 24px))!important;padding-top:2px}
.portal-page .home-v881-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin-top:24px!important;
  align-items:stretch!important;
}
.portal-page .home-v881-card{
  --home-accent:#4c9df0;
  --home-tint:#eef6ff;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:176px;
  overflow:hidden;
  padding:18px 18px 15px;
  border:1px solid #e1e5e9;
  border-top:5px solid var(--home-accent);
  border-radius:10px;
  background:#fff;
  color:#18243b;
  text-decoration:none;
  box-shadow:0 5px 16px #1322380c;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.portal-page .home-v881-card:hover{
  transform:translateY(-2px);
  border-color:#cfd5db;
  border-top-color:var(--home-accent);
  box-shadow:0 9px 22px #13223813;
}
.portal-page .home-v881-head{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:58px;
}
.portal-page .home-v881-head-link{
  color:inherit;
  text-decoration:none;
}
.portal-page .home-v881-head-link:hover b{color:var(--home-accent)}
.portal-page .home-v881-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--home-tint);
  color:var(--home-accent);
}
.portal-page .home-v881-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:3.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.portal-page .home-v881-head b{
  min-width:0;
  color:#101b35;
  font-size:19px;
  line-height:1.15;
  font-weight:800;
}
.portal-page .home-v881-planning{--home-accent:#459be9;--home-tint:#eaf4ff}
.portal-page .home-v881-evaluaties{--home-accent:#3eb86d;--home-tint:#eaf8ef}
.portal-page .home-v881-projecten{--home-accent:#f39a38;--home-tint:#fff1e2}
.portal-page .home-v881-voortgang{--home-accent:#8b5de8;--home-tint:#f2edff}
.portal-page .home-v881-studie{--home-accent:#28aaa1;--home-tint:#e7f8f6}
.portal-page .home-v881-ideeen{--home-accent:#e2b000;--home-tint:#fff7d8}
.portal-page .home-v881-vaktechniek{--home-accent:#ef5a71;--home-tint:#ffedf1}
.portal-page .home-v881-aanwezigheid{--home-accent:#3f98e4;--home-tint:#eaf4ff}
.portal-page .home-v881-dashboards{--home-accent:#6379b8;--home-tint:#edf1fb}
.portal-page .home-v881-beheer{--home-accent:#66707d;--home-tint:#eff1f3}


.portal-page .home-v881-actions-label{
  margin-top:10px;
  color:#59677d;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
}
.portal-page .home-v881-actions-label + .home-v881-kpis{margin-top:6px}

.portal-page .home-v881-kpis,
.portal-page .home-v881-planning-body,
.portal-page .home-v881-open{
  margin-top:auto;
  border-radius:8px;
  background:linear-gradient(180deg,#fafbfd,#f7f9fb);
}
.portal-page .home-v881-kpis{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  margin-top:18px;
  padding:10px 0;
}
.portal-page .home-v881-kpis-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-page .home-v881-kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.portal-page .home-v881-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-page .home-v881-kpis>div,
.portal-page .home-v881-kpis>a{
  min-width:0;
  padding:2px 12px;
  border-left:1px solid #dde2e7;
}
.portal-page .home-v881-kpis>a{display:block;color:inherit;text-decoration:none;border-radius:5px}
.portal-page .home-v881-kpis>a:hover{background:#eef2f6}
.portal-page .home-v881-kpis>div:first-child,
.portal-page .home-v881-kpis>a:first-child{border-left:0}
.portal-page .home-v881-kpis strong{
  display:block;
  margin-bottom:3px;
  color:#101b35;
  font-size:21px;
  line-height:1;
  font-weight:800;
}
.portal-page .home-v881-kpis span{
  display:block;
  color:#59677d;
  font-size:11px;
  line-height:1.2;
}
.portal-page .home-v881-kpis .warn strong{color:#e58400}
.portal-page .home-v881-kpis .overdue strong{color:#dc3545}
.portal-page .home-v881-kpis .ok strong{color:#239357}

.portal-page .home-v881-planning-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:16px;
  padding:9px 12px;
}
.portal-page .home-v881-planning-body>div{min-width:0;padding-right:12px}
.portal-page .home-v881-planning-body>div+div{padding:0 0 0 14px;border-left:1px solid #dde2e7}
.portal-page .home-v881-planning-body strong{
  display:block;
  margin-bottom:5px;
  color:#18243b;
  font-size:11px;
}
.portal-page .home-v881-planning-body ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.portal-page .home-v881-planning-body li{
  overflow:hidden;
  color:#506079;
  font-size:10.5px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-page .home-v881-planning-body small{display:block;margin-top:3px;color:#3987cb;font-size:9.5px;font-weight:700}
.portal-page .home-v881-empty{color:#a1a7ad;font-size:12px}

.portal-page .home-v881-open{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding:12px 13px;
  background:linear-gradient(90deg,var(--home-tint),#f9fbfa);
}
.portal-page .home-v881-open-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--home-accent)}
.portal-page .home-v881-open div{min-width:0}
.portal-page .home-v881-open strong{display:block;color:#17213a;font-size:12px;line-height:1.25}
.portal-page .home-v881-open small{display:block;margin-top:3px;color:#68758a;font-size:9px;line-height:1.25}


.portal-page .home-v881-eval-summary{margin-top:auto;padding:9px 12px;border-radius:8px;background:linear-gradient(180deg,#fafbfd,#f7f9fb);display:grid;gap:6px}
.portal-page .home-v881-eval-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-size:10.5px;line-height:1.2;color:#506079}
.portal-page .home-v881-eval-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-page .home-v881-eval-row strong{font-size:9px;white-space:nowrap;padding:3px 7px;border-radius:999px;background:#fff;border:1px solid #e1e5e9;color:#526277}
.portal-page .home-v881-eval-row strong.open{color:#217d43;border-color:#bfe5ca;background:#effaf2}
.portal-page .home-v881-eval-row strong.done{color:#39744b;border-color:#d1e6d7;background:#f4faf6}
.portal-page .home-v881-eval-next{padding-top:6px;border-top:1px solid #e3e7ea;color:#68758a;font-size:9.7px;font-weight:700;line-height:1.25}

@media(max-width:1180px){
  .portal-page .home-v881-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .portal-page .home-v881-card{min-height:168px;padding:16px 16px 14px}
  .portal-page .home-v881-head{grid-template-columns:54px minmax(0,1fr);gap:12px;min-height:54px}
  .portal-page .home-v881-icon{width:54px;height:54px}
  .portal-page .home-v881-icon svg{width:31px;height:31px}
  .portal-page .home-v881-head b{font-size:18px}
}
@media(max-width:680px){
  body.portal-page{padding:14px!important;place-items:start center!important}
  .portal-page .portal-home{width:100%!important}
  .portal-page .home-v881-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:16px!important}
  .portal-page .home-v881-card{min-height:160px;padding:14px;border-top-width:4px}
  .portal-page .home-v881-head{grid-template-columns:50px minmax(0,1fr);gap:11px;min-height:50px}
  .portal-page .home-v881-icon{width:50px;height:50px}
  .portal-page .home-v881-icon svg{width:29px;height:29px}
  .portal-page .home-v881-head b{font-size:17px}
  .portal-page .home-v881-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}
  .portal-page .home-v881-kpis-4>div:nth-child(3),.portal-page .home-v881-kpis-4>a:nth-child(3){border-left:0}
}

/* v883: deze drie Home-tegels hebben bewust géén ondertitel. */
.portal-page .home-v881-title-only > .home-v881-subtitle,
.portal-page .home-v881-title-only > .subtitle,
.portal-page .home-v881-title-only > .tile-subtitle,
.portal-page .home-v881-title-only > p{display:none!important}
.portal-page .home-v881-title-only .home-v881-head b::after{content:none!important;display:none!important}

/* v885 - Studie en Vaktechniek: hoofdcontainer exact gelijk aan Projecten */
body.studie-page > main.studie-main{
  width:100%!important;
  max-width:1400px!important;
  margin:16px auto 0!important;
  padding:12px 16px!important;
  box-sizing:border-box!important;
}
body.vaktechniek-page > main.vaktechniek-main{
  width:100%!important;
  max-width:1400px!important;
  margin:8px auto 0!important;
  padding:12px 16px!important;
  box-sizing:border-box!important;
}
@media(max-width:800px){
  body.studie-page > main.studie-main,
  body.vaktechniek-page > main.vaktechniek-main{
    width:100%!important;
    padding:12px 16px!important;
  }
}


/* v887 Facturatie-dashboard */
.fact-dashboard{display:flex;flex-direction:column;gap:14px}.fact-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fact-title-row h2{margin:0 0 3px}.fact-title-row p{margin:0;color:var(--vhm-color-muted,#667085)}.fact-term-grid,.fact-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fact-term-grid>div,.fact-kpi-grid>article{background:#fff;border:1px solid #e4e7ec;border-radius:10px}.fact-term-grid>div{padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.fact-term-grid span{font-weight:700}.fact-term-grid b{font-size:17px}.fact-term-grid small{grid-column:1/-1;color:var(--vhm-color-muted,#667085)}.fact-kpi-grid>article{padding:14px 16px;display:flex;flex-direction:column;gap:3px}.fact-kpi-grid span{color:var(--vhm-color-muted,#667085);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.fact-kpi-grid b{font-size:24px}.fact-kpi-grid small{color:var(--vhm-color-muted,#667085)}.fact-kpi-alert b{color:#b42318}.fact-panel{padding:14px}.fact-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.fact-panel-head h3{margin:0 0 2px}.fact-panel-head p{margin:0}.fact-panel-head>b{font-size:20px}.fact-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.fact-month-grid>div{background:#f8fafc;border:1px solid #eaecf0;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:2px}.fact-month-grid span{font-size:12px;color:var(--vhm-color-muted,#667085);font-weight:700;text-transform:uppercase}.fact-month-grid b{font-size:18px}.fact-month-grid small{color:var(--vhm-color-muted,#667085)}.fact-table{width:100%;border-collapse:collapse;min-width:1120px}.fact-table th,.fact-table td{padding:9px 10px;border-bottom:1px solid #eaecf0;vertical-align:top}.fact-table th{background:#f8fafc;text-align:left;white-space:nowrap}.fact-table td:first-child{min-width:190px}.fact-table td:first-child small{display:block;color:var(--vhm-color-muted,#667085);margin-top:2px}.fact-term-cell{min-width:145px}.fact-term-cell>b,.fact-term-cell>span,.fact-term-cell>small{display:block}.fact-term-cell>span{margin-top:3px}.fact-term-cell>small{color:var(--vhm-color-muted,#667085);margin-top:2px}.fact-term-cell.missing{background:#fff7ed}.fact-unplanned{color:#b42318;font-weight:700}.fact-table .num{text-align:right;white-space:nowrap}@media(max-width:900px){.fact-term-grid,.fact-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-title-row{flex-direction:column}}@media(max-width:560px){.fact-term-grid,.fact-kpi-grid{grid-template-columns:1fr}}
/* v890 facturatiekalender */
.fact-calendar-table{min-width:1500px;table-layout:fixed}.fact-calendar-table th,.fact-calendar-table td{padding:8px 7px}.fact-calendar-table th:first-child,.fact-calendar-table td:first-child{width:210px;min-width:210px}.fact-calendar-table th:nth-child(2),.fact-calendar-table td:nth-child(2){width:90px}.fact-calendar-table .fact-month-head,.fact-calendar-table .fact-calendar-cell{width:86px;text-align:right}.fact-calendar-cell{white-space:nowrap;vertical-align:middle!important}.fact-calendar-cell b{font-size:12px}.fact-client-cell{position:relative}.fact-row-missing .fact-client-cell{background:#fff0ef;border-left:3px solid #d92d20}.fact-missing-list{display:block!important;color:#b42318!important;font-weight:700;margin-top:4px!important;line-height:1.25}.fact-budget-cell{white-space:nowrap}

/* v891 - Facturatie compact op één breedte + Dashboardinstellingen/Fases */
.fact-calendar-compact{width:100%;min-width:0!important;table-layout:fixed;font-size:11px}
.fact-calendar-compact th,.fact-calendar-compact td{padding:7px 4px!important}
.fact-calendar-compact th:first-child,.fact-calendar-compact td:first-child{width:155px!important;min-width:0!important}
.fact-calendar-compact th:nth-child(2),.fact-calendar-compact td:nth-child(2){width:74px!important}
.fact-calendar-compact .fact-month-head,.fact-calendar-compact .fact-calendar-cell{width:auto!important;min-width:0;text-align:right;overflow:hidden}
.fact-calendar-compact .fact-month-head span,.fact-calendar-compact .fact-month-head b{display:block;white-space:nowrap}
.fact-calendar-compact .fact-month-head span{font-size:9px;text-transform:uppercase;color:var(--vhm-color-muted,#667085)}
.fact-calendar-compact .fact-month-head b,.fact-calendar-compact .fact-calendar-cell b,.fact-calendar-compact tfoot th{font-size:10.5px;white-space:nowrap}
.fact-calendar-compact .fact-client-cell b{display:block;white-space:normal;line-height:1.2}
.fact-calendar-compact .fact-client-cell small{font-size:9px;line-height:1.2}
.fact-calendar-compact .fact-budget-cell{font-size:10.5px}
.fact-calendar-compact .fact-total-row th{background:#f8fafc;border-top:2px solid #d0d5dd;padding-top:8px!important;padding-bottom:8px!important}
.fact-tablewrap{overflow-x:hidden}
.dashboard-fases-table .budget-pct-col{width:120px}.dashboard-fases-table .delete-col{width:100px}

/* v894 Facturatie: fasekleuren, legenda en compacte klantrollen */
.fact-phase-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-4px}
.fact-legend-item{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:700;color:#344054;background:#fff}
.fact-legend-item i{width:8px;height:8px;border-radius:50%;display:block;background:currentColor}
.fact-phase-planning{--fact-bg:#eaf2ff;--fact-border:#bfd4ff;--fact-text:#2457a6}
.fact-phase-interim{--fact-bg:#fff4dd;--fact-border:#f5d49a;--fact-text:#8a5a00}
.fact-phase-ejc{--fact-bg:#f1eaff;--fact-border:#d7c3ff;--fact-text:#6840a6}
.fact-phase-afronding{--fact-bg:#e8f7ee;--fact-border:#b9e3c8;--fact-text:#267a46}
.fact-legend-item.fact-phase-planning,.fact-legend-item.fact-phase-interim,.fact-legend-item.fact-phase-ejc,.fact-legend-item.fact-phase-afronding{background:var(--fact-bg);border-color:var(--fact-border);color:var(--fact-text)}
.fact-calendar-cell{white-space:normal!important;padding:4px 3px!important}
.fact-phase-pill{display:block;width:100%;box-sizing:border-box;margin:2px 0;padding:4px 5px;border:1px solid var(--fact-border);border-radius:7px;background:var(--fact-bg);color:var(--fact-text);font-size:9px;font-weight:800;line-height:1.1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact-empty-month{color:#98a2b3}
.fact-client-roles{display:block!important;color:var(--vhm-color-muted,#667085)!important;font-size:9.5px!important;line-height:1.3!important;margin-top:3px!important;white-space:normal}

/* v895 Facturatie: compacte rollen, sortering, 0-regels en gelijke maandkolommen */
.fact-panel-head-table{align-items:center;margin-bottom:7px}
.fact-zero-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#475467;white-space:nowrap;cursor:pointer;user-select:none}
.fact-zero-toggle input{margin:0;width:14px;height:14px;accent-color:var(--orange,var(--vhm-color-primary,#e96f00))}
.fact-calendar-compact th:first-child,.fact-calendar-compact td:first-child{width:11.4%!important;min-width:0!important}
.fact-calendar-compact th:nth-child(2),.fact-calendar-compact td:nth-child(2){width:5.8%!important;min-width:0!important}
.fact-calendar-compact .fact-month-head,.fact-calendar-compact .fact-calendar-cell{width:6.9%!important;min-width:0!important}
.fact-calendar-compact .fact-client-cell{padding-left:5px!important;padding-right:5px!important}
.fact-calendar-compact .fact-client-cell b{font-size:10.5px;line-height:1.15}
.fact-client-roles{font-size:9px!important;line-height:1.15!important;margin-top:2px!important;overflow-wrap:anywhere}
.fact-calendar-compact .fact-month-head b,.fact-calendar-compact .fact-calendar-cell,.fact-calendar-compact tfoot th{font-size:9px}
.fact-calendar-compact .fact-phase-pill{font-size:9.5px;padding:4px 3px;border-radius:7px}
.fact-empty-month{display:block;text-align:center;color:#98a2b3;font-weight:600}
.fact-table th.fact-sortable{position:relative;cursor:pointer;user-select:none;padding-right:12px!important}
.fact-table th.fact-sortable::after{content:'↕';position:absolute;right:3px;top:50%;transform:translateY(-50%);font-size:7px;color:#98a2b3;font-weight:400}
.fact-table th.fact-sortable.sort-asc::after{content:'▲';color:var(--orange,var(--vhm-color-primary,#e96f00))}
.fact-table th.fact-sortable.sort-desc::after{content:'▼';color:var(--orange,var(--vhm-color-primary,#e96f00))}
.fact-table th.fact-sortable:focus-visible{outline:2px solid var(--orange,var(--vhm-color-primary,#e96f00));outline-offset:-2px}
.fact-row-missing .fact-client-cell{background:#fff0ef;border-left:3px solid #d92d20}
.fact-missing-list{display:none!important}

/* v927 - de nieuwe Home-knop altijd zichtbaar en vrij van oude cache-/headerregels. */
.planning-nav{z-index:130!important;overflow:visible!important}
.central-module-header .planning-nav{z-index:130!important}
.planning-nav>.planning-home-link,
body.planning-page>header .planning-nav>.planning-home-link,
body.planning-admin-page>header .planning-nav>.planning-home-link,
body.studie-page>header .planning-nav>.planning-home-link{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  box-sizing:border-box!important;
  padding:3px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.planning-home-mark{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:36px!important;
  min-width:34px!important;
  min-height:36px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}
.planning-home-mark img{
  position:static!important;
  z-index:auto!important;
  display:block!important;
  width:34px!important;
  height:36px!important;
  min-width:34px!important;
  min-height:36px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  visibility:visible!important;
  opacity:1!important;
  transform:translateY(-3px)!important;
  filter:none!important;
}
.presence-home-link{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:48px!important;
  min-width:46px!important;
  min-height:48px!important;
  margin-left:auto!important;
  z-index:2!important;
}
.presence-home-link img{
  display:block!important;
  width:38px!important;
  height:44px!important;
  object-fit:contain!important;
  visibility:visible!important;
  opacity:1!important;
}

/* v947 - 100px dropdownkolommen met 2px witruimte rondom. */
.progress-page .progress-table col:nth-child(n+6),
.progress-page .progress-table td:nth-child(n+6),
.progress-page .progress-table .progress-header-row th:nth-child(n+6),
.progress-page .progress-table .progress-filter-row th:nth-child(n+6){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.progress-page .progress-table td:nth-child(n+6),
.progress-page .progress-table .progress-filter-row th:nth-child(n+6){
  padding:2px!important;
}
.progress-page .progress-table td:nth-child(n+6)>.progress-input:not(.progress-checkbox),
.progress-page .progress-table td:nth-child(n+6)>.progress-select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.progress-page .progress-table td:nth-child(n+6)>.progress-select{
  padding:2px 5px!important;
}
.progress-page .progress-table .progress-filter-row th:nth-child(n+6)>.progress-multifilter-button{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Kolommen 2 t/m 4: inhoud bepaalt de breedte volledig. */
.progress-page .progress-table col:nth-child(2),
.progress-page .progress-table col:nth-child(3),
.progress-page .progress-table col:nth-child(4),
.progress-page .progress-table td:nth-child(2),
.progress-page .progress-table td:nth-child(3),
.progress-page .progress-table td:nth-child(4),
.progress-page .progress-table .progress-header-row th:nth-child(2),
.progress-page .progress-table .progress-header-row th:nth-child(3),
.progress-page .progress-table .progress-header-row th:nth-child(4),
.progress-page .progress-table .progress-filter-row th:nth-child(2),
.progress-page .progress-table .progress-filter-row th:nth-child(3),
.progress-page .progress-table .progress-filter-row th:nth-child(4){
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.progress-page .progress-table td.progress-person-cell{
  padding:0!important;
  vertical-align:middle!important;
}
.progress-page .progress-table td.progress-person-cell>.progress-person-value{
  display:block!important;
  width:calc(100% - 4px)!important;
  min-width:0!important;
  min-height:24px!important;
  margin:2px!important;
  padding:3px 6px!important;
  box-sizing:border-box!important;
  border:1px solid #c7ccd1!important;
  background:#eef0f2!important;
  color:#343a40!important;
  line-height:16px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.progress-page .progress-table td.progress-person-cell.manager-required-cell>.progress-person-value{
  background:#fff2cc!important;
  border-color:#e0c56e!important;
}
.progress-page .progress-table td.progress-person-cell.manager-manual-cell>.progress-person-value{
  background:#f4cccc!important;
  border-color:#d98b8b!important;
}
.progress-page .progress-table td.progress-budget-cell>.progress-budget-value{
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}


/* v933 - Voortgang/Evaluatie: Manager kleurt net als dropdowns alleen het
   afgeronde waarde-element; de cel zelf blijft neutraal. */
.progress-page .progress-table td.progress-manager-cell.manager-required-cell,
.progress-page .progress-table td.progress-manager-cell.manager-manual-cell{
  background:transparent!important;
}
.progress-color-only-option .progress-color-checkbox.color-zwart.is-checked::after{color:#fff!important}


/* v973 - Aanwezigheid scherm is een puur drag & drop statusbord. */
body.presence-kiosk-page .presence-kiosk-header{
  grid-template-columns:1fr auto!important;
}
body.presence-kiosk-page .presence-brand-logo{justify-self:start!important}
body.presence-kiosk-page .presence-board-person{
  cursor:grab!important;
  user-select:none!important;
}
body.presence-kiosk-page .presence-board-person:active{cursor:grabbing!important}
body.presence-kiosk-page .presence-board-person.dragging{
  opacity:.42!important;
}
body.presence-kiosk-page .presence-board-column{
  transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease;
}
body.presence-kiosk-page .presence-board-column.dragover{
  border-color:var(--vhm-color-primary,#ef7d00)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--vhm-color-primary,#ef7d00) 24%,transparent)!important;
}
body.presence-kiosk-page .presence-board-column.dragover .presence-board-list{
  background:color-mix(in srgb,var(--vhm-color-primary,#ef7d00) 6%,#fff)!important;
}
@media(max-width:760px){body.presence-kiosk-page .presence-kiosk-header{grid-template-columns:1fr auto!important}}

/* v1005: Dashboards > Instellingen > Urenkoppeling (voorheen in Planning).
   De generieke .optie-subpanel heeft een 520px max-width !important; dit
   overzicht moet de volledige breedte gebruiken en op mobiel kunnen scrollen. */
.planning-admin-page .beheer-main .dashboard-uren-koppeling-panel{
  display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
  box-sizing:border-box!important;
}
.planning-admin-page .beheer-main .dashboard-uren-koppeling-panel .dashboard-uren-koppeling-scroll{
  width:100%!important;max-width:none!important;min-width:0!important;
  display:block;overflow-x:auto!important;box-sizing:border-box!important;
}
.planning-admin-page .beheer-main .dashboard-uren-koppeling-panel .uren-koppeling-table{
  width:100%!important;min-width:730px;
}
.planning-admin-page .beheer-main .dashboard-uren-koppeling-panel select.hours-category-option{
  width:300px;max-width:100%;box-sizing:border-box;
}

/* v1016: Niet van toepassing door indiensttreding is geen definitief gesprek. */
.bf-status-badge.bf-status-niet_van_toepassing {background:#edf0f2!important;color:#626b72!important;border:1px solid #d5dade!important}
.eval-status-dot-grijs {background:#9aa2aa!important;border-color:#9aa2aa!important}

/* v1066 - Studie beheer: semester bewerkbaar, drag/drop en vaste nieuwe invoerregel */
.studie-edit-table .studie-drag-col{width:34px;min-width:34px;text-align:center;padding-left:5px!important;padding-right:5px!important}
.studie-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;border-radius:6px;color:#8b9298;cursor:grab;font-weight:700;letter-spacing:-3px;user-select:none}
.studie-drag-handle:hover{background:#f1f2f3;color:#4f565c}.studie-vak-row.is-dragging{opacity:.45}.studie-vak-row[draggable=true]{transition:opacity .12s ease}
.studie-edit-table .studie-semester{width:58px!important;min-width:58px!important;max-width:76px!important;text-align:center}
.studie-vakken-help{margin:3px 0 0!important}.studie-new-vak-row td{background:#fafafa}

/* v1066 - Te verzenden mails: ontvangers controleerbaar via hover */
.mailing-recipients{cursor:help}.mailing-hover-hint{color:#8a9198;font-size:11px}

/* v1075 - centrale overzichten zijn gekleurd maar read-only en klikken door naar de bron. */
.central-access-card td.readonly-overview-link{cursor:pointer!important}
.central-access-card td.readonly-overview-link:hover{background:#f3f6f8}
.central-access-card td.readonly-overview-link:focus{outline:2px solid #7b8790;outline-offset:-2px}
.central-access-card td.readonly-overview-link input.readonly-overview-indicator{pointer-events:none!important;opacity:1!important;filter:none!important;cursor:pointer!important}
.central-access-card td.readonly-overview-link input.readonly-admin-indicator{accent-color:var(--portal-blue)!important}
.central-access-card td.readonly-overview-link input.readonly-portal-indicator{accent-color:var(--portal-orange)!important}
/* Alle vinkjes op niveau-2 Rechten zijn beheerrechten en dus blauw. */
.permissions-matrix-table input.managed-right{accent-color:var(--portal-blue)!important}
/* v1075 - visuele read-only vinkjes blijven gekleurd, maar zijn nooit direct te wijzigen. */
input.readonly-overview-indicator[aria-disabled="true"]{pointer-events:none!important;user-select:none}
.system-right-admin-update input.readonly-overview-indicator{pointer-events:none!important;opacity:1!important;filter:none!important;accent-color:var(--portal-blue)!important}


/* ===== v1081: Beheer level-1 context + uniforme Home-knop ===== */
/* Ook met slechts één beschikbare beheermodule blijft de niveau-1 balk zichtbaar. */
body.admin-page .central-admin-tabs{
  display:flex!important;
  min-height:30px!important;
}
body.admin-page .central-admin-tabs>a:only-child{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
/* Beheer gebruikt exact dezelfde losse Home-knop als de overige pagina's.
   Oude oranje/actieve knopachtergronden mogen hier nooit doorheen komen. */
body.admin-page .planning-nav>.planning-home-link,
body.planning-admin-page .planning-nav>.planning-home-link{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
body.admin-page .planning-nav>.planning-home-link::before,
body.admin-page .planning-nav>.planning-home-link::after,
body.planning-admin-page .planning-nav>.planning-home-link::before,
body.planning-admin-page .planning-nav>.planning-home-link::after{
  content:none!important;
  display:none!important;
}

/* v1082 · Vaktechniek consultaties */
.vaktechniek-functional-tabs{margin-bottom:12px}
body.vaktechniek-page .vaktechniek-functional-tabs{margin:0 0 12px!important}
.consult-header,.consult-detail-head,.consult-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.consult-header h1,.consult-section-head h2{margin:0}
.consult-list-tools{display:flex;gap:10px;align-items:center;margin-bottom:12px}.consult-list-tools input{min-width:300px}.consult-list-tools select{min-width:180px}
.consult-table tbody tr[data-href]{cursor:pointer}.consult-table tbody tr[data-href]:hover td{background:#f8fafb}.consult-table tbody tr[data-href]:focus{outline:2px solid #8eb4cf;outline-offset:-2px}.consult-table td:first-child small{display:block;color:#777;margin-top:2px}.consult-table a{color:inherit;text-decoration:none}.consult-table td{padding:0!important}.consult-table .consult-row-link{display:block;box-sizing:border-box;min-height:36px;padding:8px 10px;color:inherit;text-decoration:none}.consult-table .consult-row-link:focus-visible{outline:2px solid #8eb4cf;outline-offset:-2px;border-radius:3px}.consult-readonly-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border:1px solid #d9dee2;border-radius:999px;background:#f3f5f6;color:#515b62;font-size:11px;font-weight:700;vertical-align:middle}
.consult-alert{padding:10px 12px;border-radius:8px;margin:0 0 12px;border:1px solid #ccc}.consult-alert.error{background:#fff0ef;border-color:#e0a09a}.consult-alert.success{background:var(--success);border-color:var(--success);color:#fff}.consult-alert.warning{background:#fff8e5;border-color:#e6c765}
.consult-grid{display:grid;gap:12px 16px}.consult-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.consult-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:14px}.consult-question-grid .wide{grid-column:1/-1}
.consult-form label,.consultaties-page section.card>label{display:flex;flex-direction:column;gap:5px;font-weight:700}.consult-form label small,.consultaties-page section.card>label small{font-weight:400;color:#777}.consult-form input,.consult-form select,.consult-form textarea,.consultaties-page textarea,.consult-more-form input,.consult-upload input[type=file]{box-sizing:border-box;width:100%;border:1px solid #cfcfcf;border-radius:7px;padding:8px 9px;background:#fff;font:inherit}.consult-form textarea,.consultaties-page textarea{resize:vertical;min-height:78px}.consult-form :disabled,.consultaties-page textarea:disabled{background:#f5f5f5;color:#444}
.consult-actions,.consult-inline-actions,.consult-upload,.consult-more-form{display:flex;gap:8px;align-items:center;margin:10px 0 14px}.consult-more-form input{flex:1}.consult-detail-head{margin:0 0 12px}.consult-files{display:grid;gap:7px}.consult-files a{display:flex;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:inherit;background:#fff}.consult-files span{color:#777;font-size:11px}.consult-log summary{cursor:pointer;font-weight:700}.consult-log p{border-bottom:1px solid #eee;padding-bottom:8px}.consult-log p:last-child{border-bottom:0}
.status-badge.status-neutral{background:#eceff1;color:#455a64}.status-badge.status-info{background:#e4f1fb;color:#235d86}.status-badge.status-warning{background:#fff2c9;color:#795900}.status-badge.status-danger{background:#fde6e3;color:#9d2a1f}.status-badge.status-purple{background:#eee5fa;color:#62418a}.status-badge.status-success{background:#e4f5e6;color:#2d6b36}
@media(max-width:800px){.consult-grid.two,.consult-question-grid{grid-template-columns:1fr}.consult-question-grid .wide{grid-column:auto}.consult-header,.consult-detail-head,.consult-section-head{align-items:flex-start;flex-direction:column}.consult-list-tools{align-items:stretch;flex-direction:column}.consult-list-tools input{min-width:0}.consult-files a{flex-direction:column}}
.consult-file-row{display:flex;align-items:center;gap:8px}.consult-file-row>a{flex:1}.consult-file-row form{margin:0}.consult-file-row .danger.small{white-space:nowrap}
@media(max-width:800px){.consult-file-row{align-items:stretch;flex-direction:column}.consult-file-row .danger.small{width:100%}}
/* v1083 Vaktechnische consultaties: projectkoppeling en eerdere consultatie */
.consult-existing-prior{font-weight:400;font-size:12px;color:#666;margin-top:2px}.consult-existing-prior a{color:inherit}
.consult-file-kind{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:10px;background:#f1f1f1;color:#555;font-size:9px;font-weight:700;vertical-align:1px}
.consult-question-grid [hidden]{display:none!important}
/* v1089 · Consultaties: tweedelig projectoverzicht en bijlagen per tekstveld */
.consult-project-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.consult-project-picker{min-width:0;padding:4px 0}.consult-project-picker h2{margin:0 0 14px}.consult-project-picker>label{margin-bottom:5px}
.consult-project-form-fields{display:grid;gap:10px;margin-top:12px}.consult-project-form-fields [hidden]{display:none!important}
.consult-project-inline-field{display:grid!important;grid-template-columns:minmax(170px,38%) minmax(0,1fr);align-items:center;gap:10px;margin:0!important}.consult-project-inline-field>span:first-child{min-width:0;line-height:1.25}.consult-project-inline-field>input,.consult-project-inline-field>select{min-width:0}.consult-project-inline-control{display:grid;gap:4px;min-width:0}.consult-project-inline-control input[type=file]{max-width:100%}
.consult-project-search-wrap{position:relative}.consult-project-search-wrap>input[type=search]{height:42px;padding:9px 11px;border-color:#b9c2c9;border-radius:9px;box-shadow:0 1px 2px rgba(28,45,60,.06)}.consult-project-search-wrap>input[type=search]:focus{outline:2px solid #a9c9df;outline-offset:1px;border-color:#7fa9c4}
.consult-project-search-wrap .customer-search-results{z-index:10050;max-height:280px;border-radius:0 0 9px 9px}.consult-project-search-wrap .customer-search-option{padding:9px 11px;font-size:13px}.consult-project-search-wrap .customer-search-empty{padding:10px 11px;color:#777;font-size:12px;background:#fff}
.consult-project-hint{display:block;margin-top:7px;color:#777;font-size:11px}
.consult-summary-card{min-width:0;padding:15px 16px;border:1px solid #ead5c3;border-radius:12px;background:linear-gradient(135deg,#fffaf5 0%,#fff 65%);box-shadow:0 3px 12px rgba(94,65,39,.07)}
.consult-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.consult-summary-heading h2{margin:1px 0 0;font-size:16px}.consult-summary-kicker{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#a65f2c}.consult-summary-mark{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#f7e8da;color:#a65f2c;font-size:13px;font-weight:800}
.consult-summary-project{margin:0 0 9px;padding-bottom:8px;border-bottom:1px solid #f0e2d6;color:#37434b;font-size:13px;font-weight:800;overflow-wrap:anywhere}.consult-summary-client-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px;text-transform:uppercase}.consult-summary-client-title .status-badge,.consult-summary-client-title .consult-readonly-badge{text-transform:none}.consult-summary-note{margin:-1px 0 10px;padding:7px 8px;border-radius:5px;background:#fff8e8;color:#65511e;font-size:11px;line-height:1.4}
.consult-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0}.consult-summary-item{min-width:0}.consult-summary-item dt{margin:0 0 3px;color:#777;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.consult-summary-item dd{margin:0;color:#29323a;font-size:12px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.consult-summary-client{grid-column:span 2}.consult-summary-empty{margin:2px 0 1px;color:#737b80;font-size:12px;line-height:1.45}.consult-summary-card [hidden]{display:none!important}
.consult-field-upload{display:flex;flex-direction:column;gap:4px;margin-top:6px;color:#70787f;font-size:11px;font-weight:400!important}.consult-field-upload input[type=file]{padding:6px 8px;border-color:var(--vhm-color-border,#d8dde1);background:#f7f8f9;font-size:11px}.consult-context-files{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 1px}.consult-context-files a{display:inline-flex;padding:4px 8px;border:1px solid #dfe3e6;border-radius:7px;background:#f7f8f9;color:#49545d;font-size:11px;font-weight:500;text-decoration:none;overflow-wrap:anywhere}
.consult-field-upload{flex-direction:row;align-items:center;gap:8px}.consult-field-upload input[type=file]{width:auto;min-width:0;flex:1}.consult-upload-optional{flex:none;white-space:nowrap;color:#687780;font-size:11px}
.consult-stage-textarea{background:#fff!important;border-color:#d7dadd!important}.consult-stage-textarea:disabled{background:#f3f4f5!important;color:#444}.consult-stage-preview{border-left:3px solid #d7dadd}.consult-stage-preview textarea::placeholder{color:#737b80}
@media(max-width:1050px){.consult-project-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:800px){.consult-project-top{grid-template-columns:1fr}.consult-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.consult-summary-grid{grid-template-columns:1fr 1fr;gap:9px}.consult-summary-client{grid-column:span 2}}
@media(max-width:460px){.consult-project-inline-field{grid-template-columns:1fr;align-items:stretch;gap:5px}}
/* v1098 · Consultatieformulier: begeleidende tekst in tekstvelden en compacte projectvelden. */
/* v1099 · Uitgebreide consultatie-opmaakbalk en zichtbare Vaktechniek niveau-2 tabs. */

/* v1097 · Consultaties: uitgebreide opmaak, externe complianceflow en invoerstijl. */
.consult-rich-editor{position:relative;display:grid;gap:0;margin:0 0 8px;border:1px solid #cbd3da;border-radius:10px;background:#fff;box-shadow:0 1px 3px #1f29370a;overflow:visible}
.consult-rich-toolbar{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:7px 8px;border-bottom:1px solid #e2e7eb;border-radius:10px 10px 0 0;background:#f4f6f7}
.consult-rich-tools-group{position:relative;display:flex;align-items:center;gap:3px;min-width:0}
.consult-rich-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:31px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#33414a;font:inherit;font-size:12px;font-weight:650;line-height:1;cursor:pointer;transition:background .14s,border-color .14s,box-shadow .14s}
.consult-rich-toolbar button:hover:not(:disabled){border-color:#cbd5dc;background:#fff;box-shadow:0 1px 2px #0000000c}
.consult-rich-toolbar button:focus-visible,.consult-rich-toolbar select:focus-visible,.consult-rich-table-panel input:focus-visible{outline:2px solid #8bb6d3;outline-offset:1px}
.consult-rich-toolbar button:disabled,.consult-rich-toolbar select:disabled,.consult-rich-toolbar input:disabled{opacity:.48;cursor:default}
.consult-rich-toolbar .rich-icon-bold{font-weight:800}.consult-rich-toolbar .rich-icon-italic{font-family:Georgia,serif;font-size:14px;font-style:italic}.consult-rich-toolbar .rich-icon-underline{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.consult-rich-toolbar .rich-icon-strike{text-decoration:line-through}
.consult-rich-toolbar select{height:30px;max-width:150px;padding:4px 24px 4px 8px;border:1px solid #d5dce0;border-radius:6px;background:#fff;color:#33414a;font:inherit;font-size:11px}
.consult-rich-toolbar .consult-rich-divider{display:block;flex:0 0 1px;width:1px;height:21px;margin:0 2px;background:#d5dce0}
.consult-rich-color{position:relative;display:inline-grid;place-items:center;width:31px;height:30px;border:1px solid transparent;border-radius:6px;color:#33414a;cursor:pointer}.consult-rich-color:hover{border-color:#cbd5dc;background:#fff}.consult-rich-color-icon{display:grid;place-items:center;width:18px;height:18px;border-bottom:3px solid var(--rich-color,#263746);font-size:12px;font-weight:800;line-height:1}.consult-rich-highlight .consult-rich-color-icon{border:0;border-radius:3px;background:linear-gradient(transparent 47%,var(--rich-color,#fff0a8) 47%);font-size:14px}.consult-rich-cell-shade .consult-rich-color-icon{border:1px solid #65727b;border-radius:2px;background:linear-gradient(135deg,transparent 48%,var(--rich-color,#fce6d5) 49%)}.consult-rich-color input[type=color]{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}
.consult-rich-table-wrap{position:relative}.consult-rich-table-toggle{white-space:nowrap}.consult-rich-table-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:8;display:flex;align-items:flex-end;gap:8px;min-width:max-content;padding:10px;border:1px solid #d7dfe4;border-radius:9px;background:#fff;box-shadow:0 7px 22px #1f293726}.consult-rich-table-panel[hidden]{display:none}.consult-rich-table-panel label{display:grid;gap:4px;color:#59666e;font-size:9px;font-weight:700}.consult-rich-table-panel input{box-sizing:border-box;width:62px;height:29px;padding:4px 6px;border:1px solid #cbd4da;border-radius:6px;font:inherit;font-size:11px}.consult-rich-toolbar button.consult-rich-table-insert{height:29px;padding:0 10px;border-color:#a94800;background:#c95500;color:#fff;font-size:9px}.consult-rich-toolbar button.consult-rich-table-insert:hover:not(:disabled){border-color:#873c06;background:#ad4900}
.consult-rich-content{min-height:150px;padding:12px 14px;border-radius:0 0 10px 10px;background:#fff;color:#26323a;font-size:13px;line-height:1.55;overflow-wrap:anywhere;outline:0}
.consult-rich-content[contenteditable="true"]:focus{box-shadow:inset 0 0 0 2px #d8e8f2}
.consult-rich-content[contenteditable="false"]{background:#f5f5f5;color:#444}
.consult-rich-content:empty::before{content:"Typ hier…";color:#929ba1}
.consult-rich-content ul,.consult-rich-content ol{padding-left:25px}.consult-rich-content h2{margin:12px 0 7px;font-size:18px;line-height:1.25}.consult-rich-content h3{margin:10px 0 6px;font-size:15px;line-height:1.3}.consult-rich-content blockquote{margin:8px 0;padding:5px 12px;border-left:3px solid #d47731;background:#faf6f2;color:#59666e}.consult-rich-content table{width:100%;margin:9px 0;border-collapse:collapse;table-layout:fixed}.consult-rich-content th,.consult-rich-content td{min-width:40px;padding:6px 7px;border:1px solid #aeb9c0;vertical-align:top}.consult-rich-content th{background:#eef1f3;font-weight:700}.consult-rich-content td:focus,.consult-rich-content th:focus{outline:2px solid #8bb6d3;outline-offset:-2px}.consult-rich-status{display:block;padding:0 10px;color:#9a531b;font-size:9px;line-height:1.4}.consult-rich-status:empty{display:none}.consult-rich-select-label>.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.consult-rich-value{display:none!important}
.consult-autosave-status{align-self:center;color:#64717a;font-size:12px}
.consult-actions{flex-wrap:wrap}
.consult-field-upload input[type=file],.consult-upload input[type=file],.consult-form input[type=file]{box-sizing:border-box;max-width:100%;padding:7px;border:1px solid #d4dbe0;border-radius:8px;background:#f8fafb;color:#4b5962;font-size:12px}
.consult-field-upload input[type=file]::file-selector-button,.consult-upload input[type=file]::file-selector-button,.consult-form input[type=file]::file-selector-button{margin-right:10px;padding:7px 11px;border:1px solid #d4dbe0;border-radius:6px;background:#fff;color:#34434c;font:inherit;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}
.consult-field-upload input[type=file]::file-selector-button:hover,.consult-upload input[type=file]::file-selector-button:hover,.consult-form input[type=file]::file-selector-button:hover{border-color:#bdc9d0;background:#eef3f6}
.consult-summary-heading{margin-bottom:9px}
.consult-summary-heading h2{margin:0}
@media(max-width:800px){.consult-rich-toolbar{gap:4px;padding:6px}.consult-rich-tools-group{gap:2px}.consult-rich-toolbar button{min-width:29px;padding:0 6px}.consult-rich-format-group select{max-width:130px}.consult-autosave-status{flex-basis:100%}}
.consult-project-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;margin:0 0 14px}
.consult-project-field>label{margin:0!important;white-space:nowrap;font-weight:700}
.consult-project-field .consult-project-search-wrap{width:100%;min-width:0}
.consult-rich-toolbar .consult-rich-divider{display:block;flex:0 0 1px;width:1px;height:21px;margin:0 3px;background:#d8dee3}
.consult-rich-toolbar{flex-wrap:wrap}
.module-subtabs a.tab-disabled,.beheer-level3-tabs a.tab-disabled{opacity:.45!important;cursor:not-allowed!important;pointer-events:none!important;box-shadow:none!important}
.vt-compliance-officer-add{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin:10px 0 18px;padding:14px;border:1px dashed var(--line,#cbd5e1);border-radius:12px;background:var(--surface-muted,#f8fafc)}
.vt-compliance-officer-add label{display:grid;gap:5px;font-size:.9rem;color:var(--muted,#687386)}
.vt-compliance-officer-add input,.vt-compliance-officers table input[type=text],.vt-compliance-officers table input[type=email]{box-sizing:border-box;width:100%;min-width:0}
.vt-compliance-officers table td:last-child{white-space:nowrap}
@media(max-width:800px){.consult-project-field{grid-template-columns:1fr;align-items:stretch;gap:5px}.vt-compliance-officer-add{grid-template-columns:1fr}}

/* v1111 · Consultaties: alleen bekende inhoud + compacte resterende workflow */
.consult-workflow-list{display:grid;gap:8px;margin-top:10px}
.consult-workflow-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;border:1px solid #dde3e7;border-radius:9px;background:#fafbfc}
.consult-workflow-step.is-current{border-color:#d8ad89;background:#fff8f2}
.consult-workflow-marker{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 7px;border-radius:999px;background:#eef1f3;color:#59656d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.consult-workflow-step.is-current .consult-workflow-marker{background:#f4dfcf;color:#8b4c1d}
.consult-workflow-step>div{display:grid;gap:2px;min-width:0}
.consult-workflow-person{color:#67737b;font-size:12px}
.vt-consult-admin-list td.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.vt-consult-admin-list td.actions .small{white-space:nowrap}
@media(max-width:600px){.consult-workflow-step{grid-template-columns:1fr}.consult-workflow-marker{justify-self:start}.vt-consult-admin-list td.actions{align-items:stretch}.vt-consult-admin-list td.actions>*{width:100%}}

/* v1113 · Studie beheer: sleepbare studierichtingen + verwijderen + ECTS */
.studie-directions-table .studie-drag-col{width:34px;min-width:34px;text-align:center;padding-left:5px!important;padding-right:5px!important}
.studie-directions-table .studie-module-row[draggable=true]{transition:opacity .12s ease}
.studie-directions-table .studie-module-row.is-dragging{opacity:.45}
.studie-directions-table .studie-delete-col,.studie-edit-table .studie-delete-col{width:96px;white-space:nowrap;text-align:right}
.studie-direction-edit-grid{grid-template-columns:minmax(150px,.9fr) minmax(160px,1fr) minmax(220px,1.35fr) 72px}

/* v1114 · Consultaties: Voortgang-mailknop, wit actief eindconclusieveld en zichtbare volgende ontvanger */

/* v1115 · Consultaties beheer: compacte compliance-invoer en rustige tabelacties */
.vt-compliance-officers .vt-compliance-officer-new td{background:#fafafa}
.vt-compliance-officers .vt-compliance-officer-new input[type=text],
.vt-compliance-officers .vt-compliance-officer-new input[type=email]{background:#fff}
.vt-compliance-officers .vt-compliance-officer-new input::placeholder{color:#92999f}
.vt-consult-admin-list td.actions{gap:5px!important;flex-wrap:nowrap!important;white-space:nowrap}
.vt-consult-admin-action{
  appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:28px!important;height:28px!important;margin:0!important;padding:4px 9px!important;
  border:1px solid #cfd5da!important;border-radius:6px!important;background:#fff!important;color:#39434a!important;
  box-shadow:none!important;text-decoration:none!important;font:700 9px/1 Arial,sans-serif!important;white-space:nowrap!important;cursor:pointer!important;
}
.vt-consult-admin-action:hover,.vt-consult-admin-action:focus-visible{background:#f3f5f6!important;border-color:#b8c0c6!important;color:#20272c!important;outline:none!important}
.vt-consult-admin-reopen{border-color:#e1b48e!important;background:#fffaf6!important;color:#98501c!important}
.vt-consult-admin-reopen:hover,.vt-consult-admin-reopen:focus-visible{border-color:#d59661!important;background:#fff2e7!important;color:#7e3f13!important}
.vt-consult-admin-list .vt-consult-admin-delete{flex:0 0 var(--vhm-icon-button-size)!important}
@media(max-width:760px){.vt-consult-admin-list td.actions{flex-wrap:wrap!important}.vt-consult-admin-list td.actions>*{width:auto!important}}

/* v1116 Studie: nieuwe studierichting direct als invoerregel onder de lijst, gelijk aan onderdelen/vakken */
.studie-new-direction-row td{background:#fafafa;padding-top:5px!important;padding-bottom:5px!important}
.studie-new-direction-row input{width:100%;min-height:27px;padding:4px 7px;border:1px solid #d6d9dd;border-radius:6px;background:#fff;font:inherit;box-sizing:border-box}
.studie-new-direction-row .button{white-space:nowrap}

/* v1151 Consultaties: compacte terugstuuractie met opmerkingen */
.consult-return-form{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0 14px}
.consult-return-fields{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.consult-return-fields[hidden]{display:none!important}
.consult-return-fields textarea{width:100%;min-height:72px;resize:vertical}
@media(max-width:700px){.consult-return-fields{grid-template-columns:1fr}.consult-return-fields .button{justify-self:start}}

/* v1155 consultaties: verplichte velden, lokale uploadfouten en workflowvolgorde */
.consult-required-missing{border-color:#c93333!important;outline:1px solid #c93333!important;outline-offset:0}
.consult-validation-summary{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d56262;border-radius:7px;background:#fff4f4;color:#7e1f1f;font-size:12px;line-height:1.45}
.consult-validation-summary ul{margin:6px 0 0 18px;padding:0}.consult-validation-summary li{margin:2px 0}
.consult-field-error{display:block;margin-top:5px;color:#a52828;font-size:11px;font-weight:600}.consult-field-error[hidden]{display:none}
.consult-actions-stack{align-items:flex-start;flex-direction:column}.consult-actions-stack .button{align-self:flex-start}
.consult-file-row{display:flex;align-items:center;gap:8px}.consult-file-row>a{flex:1}.consult-upload{flex-direction:column;align-items:stretch}.consult-upload .consult-autosave-status{min-height:14px}

/* Consultaties v1156: uniforme pill-statussen en lokale succesmelding. */
.consultaties-page .status-badge{display:inline-flex;align-items:center;border-radius:999px!important;padding:3px 8px;border:1px solid transparent;vertical-align:middle}
.consult-saved-inline{margin:2px 0 0;width:fit-content;max-width:100%}

/* v1165: Vaktechniek consultatie-KPI's op Home direct klikbaar. */
.home-v881-actions-link{display:block;color:inherit;text-decoration:none}.home-v881-actions-link:hover{text-decoration:underline}

/* v1185 Events-tegel */
.home-v881-events .home-events-list{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.home-v881-events .home-events-list a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid #eceeef;color:inherit;text-decoration:none;font-size:8px}
.home-v881-events .home-events-list a:last-child{border-bottom:0}
.home-v881-events .home-events-list a span{color:#a65a18;font-weight:700}
.home-v881-events .home-events-list a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.home-v881-events .home-events-empty{display:block;padding:7px 0;color:#8a9399;font-size:8px}
.home-v881-events .home-events-all{display:inline-block;margin-top:6px;color:#a65a18;text-decoration:none;font-size:8px;font-weight:700}

/* v1190 - uniforme datum/tijdvelden in Planning-popup */
.planning-time-line{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.planning-time-line .vhm-modal-field{margin:0}
.planning-time-line.is-all-day .vhm-modal-field{opacity:.45}
.planning-all-day{display:inline-flex;align-items:center;gap:5px;height:30px;margin-bottom:1px;font-size:9px;font-weight:700;white-space:nowrap}
.planning-all-day input{margin:0}


/* v1203 - Events Home: komende events als compacte afgeronde buttons */
.home-v881-events .home-events-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}
.home-v881-events .home-event-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  min-height:24px;
  padding:3px 8px;
  box-sizing:border-box;
  border:1px solid #e2e5e7;
  border-radius:999px;
  color:#424b51;
  text-decoration:none;
  font-size:7.5px;
  line-height:1.15;
}
.home-v881-events .home-event-chip span{
  flex:0 0 auto;
  font-weight:700;
}
.home-v881-events .home-event-chip b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
}
.home-v881-events .home-event-chip small{
  font-size:7px;
  font-weight:700;
}
.home-v881-events .home-event-chip-handmatig{
  background:#fff9f3;
  border-color:#f0dfcf;
}
.home-v881-events .home-event-chip-verjaardag{
  background:#faf7fc;
  border-color:#e7dcec;
}
.home-v881-events .home-event-chip-kantoordag{
  background:#f6f9fa;
  border-color:#dfe9ed;
}
.home-v881-events .home-event-chip-feestdag{
  background:#f8faf6;
  border-color:#e0e8da;
}
.home-v881-events .home-event-chip:hover{
  filter:brightness(.985);
}


/* v1205 - Events Home gebruikt exact de centrale Styleguide-kleuren */
.home-v881-events .home-event-chip-handmatig{
  background:var(--vhm-color-primary-soft)!important;
  border-color:#f0cda8!important;
  color:var(--vhm-color-primary-hover)!important;
}
.home-v881-events .home-event-chip-verjaardag{
  background:var(--vhm-status-purple-bg)!important;
  border-color:var(--vhm-status-purple-border)!important;
  color:var(--vhm-status-purple-fg)!important;
}
.home-v881-events .home-event-chip-kantoordag{
  background:var(--vhm-status-info-bg)!important;
  border-color:var(--vhm-status-info-border)!important;
  color:var(--vhm-status-info-fg)!important;
}
.home-v881-events .home-event-chip-feestdag{
  background:var(--vhm-status-success-bg)!important;
  border-color:var(--vhm-status-success-border)!important;
  color:var(--vhm-status-success-fg)!important;
}
.home-v881-events .home-event-chip b,
.home-v881-events .home-event-chip span,
.home-v881-events .home-event-chip small{
  color:inherit!important;
}








/* v1213 - Planning verplaatsen: compacte voorwaarden/doelsituatie in één lijnstijl. */
#planningTransferOpen[hidden]{display:none!important}
#planningTransferModal .planning-transfer-dialog{max-width:650px!important}
#planningTransferModal .planning-transfer-panel{margin:0!important;padding:0!important}
#planningTransferModal .planning-transfer-panel+.planning-transfer-panel{
  margin-top:14px!important;padding-top:13px!important;border-top:1px solid var(--vhm-color-border)!important;
}
#planningTransferModal .planning-transfer-heading{
  margin:0 0 7px!important;font-size:9px!important;line-height:1.2!important;font-weight:700!important;color:var(--vhm-color-text)!important;
}
#planningTransferModal .planning-transfer-line{
  display:grid!important;
  grid-template-columns:78px 12px minmax(0,1fr)!important;
  gap:4px!important;
  align-items:center!important;
  min-height:25px!important;
  font-size:9px!important;
}
#planningTransferModal .planning-transfer-key{color:var(--vhm-color-muted)!important;font-size:9px!important}
#planningTransferModal .planning-transfer-line>b{font-weight:400!important;color:var(--vhm-color-muted)!important}
#planningTransferModal .planning-transfer-line>strong{font-size:9px!important}
#planningTransferModal .planning-transfer-line--chips{align-items:start!important;padding:3px 0!important}
#planningTransferModal .planning-transfer-line--control{align-items:center!important}
#planningTransferModal .planning-transfer-line--options{align-items:start!important;padding-top:4px!important}
#planningTransferModal .planning-transfer-chipset{
  display:flex!important;flex-wrap:wrap!important;gap:4px!important;align-items:center!important;min-width:0!important;
}
#planningTransferModal .planning-transfer-toggle-chip,
#planningTransferModal .planning-transfer-static-chip{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:21px!important;padding:2px 7px!important;
  border:1px solid var(--vhm-status-neutral-border)!important;border-radius:999px!important;
  background:var(--vhm-status-neutral-bg)!important;color:var(--vhm-status-neutral-fg)!important;
  font:600 8px/1 Arial,sans-serif!important;box-shadow:none!important;
}
#planningTransferModal button.planning-transfer-toggle-chip{cursor:pointer!important}
#planningTransferModal .planning-transfer-toggle-chip.is-excluded{
  opacity:.46!important;text-decoration:line-through!important;
}
#planningTransferModal .planning-transfer-option-boxes{
  display:flex!important;flex-wrap:wrap!important;gap:4px 8px!important;
}
#planningTransferModal .modal-choice{
  font-size:8.5px!important;line-height:1.2!important;
}
#planningTransferModal .planning-transfer-date-target{
  display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;
}
#planningTransferModal #transferTargetFirstDate{
  width:132px!important;min-width:132px!important;
}
#planningTransferModal .planning-transfer-target-employees{min-width:0!important}
#planningTransferModal .planning-transfer-employee-search{margin-top:5px!important;max-width:280px!important}
#planningTransferModal .planning-transfer-preview{
  margin:12px 0 0!important;padding:7px 9px!important;
  border:1px solid var(--vhm-color-border)!important;border-radius:6px!important;
  background:var(--vhm-color-surface-soft)!important;color:var(--vhm-color-muted)!important;font-size:8.5px!important;
}


/* v1215 - Planning verplaatsen: Optie en Datum compacter uitlijnen. */
#planningTransferModal .planning-transfer-line--options{
  align-items:center!important;
  padding-top:1px!important;
  padding-bottom:1px!important;
}
#planningTransferModal .planning-transfer-option-boxes{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:4px 12px!important;
  min-height:24px!important;
}
#planningTransferModal .planning-transfer-option-boxes .modal-choice{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  font-size:8.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#planningTransferModal .planning-transfer-option-boxes .modal-choice input[type="checkbox"]{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin:0!important;
}

#planningTransferModal .planning-transfer-date-target{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  min-height:25px!important;
}
#planningTransferModal #transferTargetFirstDate{
  width:128px!important;
  min-width:128px!important;
  height:26px!important;
  min-height:26px!important;
  padding:2px 7px!important;
  margin:0!important;
  border:1px solid var(--vhm-color-border-strong)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--vhm-color-text)!important;
  font:400 9px/1 Arial,sans-serif!important;
  box-sizing:border-box!important;
}
#planningTransferModal #transferTargetDates{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:4px!important;
}
#planningTransferModal #transferTargetDates .planning-transfer-static-chip{
  min-height:22px!important;
  height:22px!important;
  padding:2px 7px!important;
  font-size:8px!important;
}




/* v1219 - datum toevoegen via permanent leeg 00-00-00 blokje */
#planningTransferModal .planning-transfer-date-target{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:4px!important;
}
#planningTransferModal #transferTargetDates{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
}
#planningTransferModal .planning-transfer-date-placeholder-wrap{
  display:inline-flex!important;
  align-items:center!important;
}
#planningTransferModal .planning-transfer-empty-date-chip{
  opacity:.55!important;
  border-style:dashed!important;
}
#planningTransferModal .planning-transfer-inline-date-input{
  width:76px!important;
  min-width:76px!important;
  height:21px!important;
  min-height:21px!important;
  padding:2px 7px!important;
  margin:0!important;
  border:1px solid var(--vhm-status-neutral-border)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--vhm-color-text)!important;
  font:600 8px/1 Arial,sans-serif!important;
  text-align:center!important;
  box-sizing:border-box!important;
  outline:none!important;
}
#planningTransferModal .planning-transfer-inline-date-input:focus{
  border-color:var(--vhm-color-primary)!important;
}


/* v1220 - Doelsituatie Datum bovenaan uitlijnen */
#planningTransferModal .planning-transfer-target .planning-transfer-line--control:has(.planning-transfer-date-target){
  align-items:start!important;
  padding-top:3px!important;
}
#planningTransferModal .planning-transfer-target .planning-transfer-line--control:has(.planning-transfer-date-target)>.planning-transfer-key,
#planningTransferModal .planning-transfer-target .planning-transfer-line--control:has(.planning-transfer-date-target)>b{
  padding-top:5px!important;
}


/* v1221 - Nieuw-blok direct achter laatste datum */
#planningTransferModal #transferTargetDates{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:4px!important;
}
#planningTransferModal .planning-transfer-date-placeholder-wrap{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
}
#planningTransferModal .planning-transfer-empty-date-chip{
  opacity:.65!important;
}

/* v1256: generieke tabelwrapper/navigatie/tabelbasis verplaatst naar assets/vhm-ui.css.
   Geen nieuwe module-specifieke kopieën van deze componenten toevoegen. */


/* v1261 Ideeën: categorie-rechten en sleepbare instellingen */
.ideeen-categorieen-table .ideeen-drag-col{width:24px}
.ideeen-drag-handle{width:24px;text-align:center;cursor:grab;user-select:none;color:#777}
.ideeen-categorieen-table tr.is-dragging{opacity:.45}
.ideeen-categorie-rechten{white-space:nowrap}

/* v1262 Ideeën: ontvangers kunnen per medewerker of per hele functie worden toegevoegd. */
.ideeen-notificatie-functie{max-width:160px}

/* v1269 Studie: centrale modulekeuze, 80%-breedte, diploma en vakkenpakket */
body.studie-page > main.studie-main{width:80%!important;max-width:none!important;margin:12px auto 0!important;padding:10px 0 24px!important}.studie-page .studie-fasebar{margin:0 0 8px!important;width:100%!important}.studie-page .studie-fasebar .studie-user-tabs{display:flex!important;flex-wrap:wrap!important;gap:4px!important;width:100%!important;margin:0!important;padding:6px!important;background:#eceeef!important;border:1px solid #dde1e4!important;border-radius:8px!important;box-sizing:border-box!important}.studie-page .studie-fasebar .studie-user-tabs>a{min-height:var(--vhm-level2-height)!important;padding:5px 10px!important;border:1px solid transparent!important;border-radius:var(--vhm-level2-radius)!important;background:transparent!important;color:#46515a!important;font:700 var(--vhm-level2-font-size)/1 var(--vhm-font-family)!important}.studie-page .studie-fasebar .studie-user-tabs>a.active{background:var(--vhm-color-primary)!important;border-color:var(--vhm-color-primary)!important;color:#fff!important}.studie-phase-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.studie-phase-heading h2{margin:0!important}.studie-diploma-toggle{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;white-space:nowrap}.studie-save-alert{margin:0 0 8px!important;padding:7px 10px!important;font-size:9px!important}.studie-phase-card.is-diploma .studie-progress-table tbody tr[data-vak]>td{background:#f0f1f2!important;color:#81868b!important}.studie-phase-card.is-diploma .studie-progress-table select{opacity:.65!important}.studie-progress-table th:nth-child(4),.studie-progress-table td:nth-child(4){width:92px!important;min-width:92px!important;max-width:92px!important;text-align:center!important}.studie-progress-table th:nth-child(5),.studie-progress-table td:nth-child(5){width:150px!important;min-width:150px!important;max-width:150px!important}@media(max-width:900px){body.studie-page > main.studie-main{width:96%!important}}

.studie-diploma-toggle input{appearance:none!important;-webkit-appearance:none!important;width:30px!important;height:16px!important;border:1px solid #b8bec4!important;border-radius:999px!important;background:#dfe2e5!important;position:relative!important;cursor:pointer!important;margin:0!important}.studie-diploma-toggle input:before{content:''!important;position:absolute!important;width:12px!important;height:12px!important;left:1px!important;top:1px!important;border-radius:50%!important;background:#fff!important;transition:left .15s ease!important}.studie-diploma-toggle input:checked{background:#2f8f46!important;border-color:#2f8f46!important}.studie-diploma-toggle input:checked:before{left:15px!important}

/* v1270 studie user page cleanup */
body.studie-page > main.studie-main{width:80%!important;max-width:none!important;margin:12px auto 0!important;padding:10px 0 24px!important}.studie-page .studie-fasebar{margin:0 0 8px!important;width:100%!important}.studie-page .studie-fasebar .studie-user-tabs{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important;margin:0!important;padding:6px 8px!important;background:#eceeef!important;border:1px solid #dde1e4!important;border-radius:8px!important;box-sizing:border-box!important}.studie-page .studie-fasebar .studie-user-tabs>a{display:inline-flex!important;align-items:center!important;min-height:27px!important;padding:0 10px!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#46515a!important;font:700 9px/1 Arial!important;text-decoration:none!important;white-space:nowrap!important}.studie-page .studie-fasebar .studie-user-tabs>a.active{background:#5b6872!important;border-color:#5b6872!important;color:#fff!important}.studie-phase-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 10px!important}.studie-phase-heading h2{margin:0!important}.studie-diploma-switch{display:inline-flex!important;align-items:center!important;gap:8px!important;font:700 9px/1 Arial!important;color:#46515a!important;white-space:nowrap!important;cursor:pointer!important}.studie-diploma-switch__control{position:relative!important;display:inline-flex!important;width:34px!important;height:18px!important}.studie-diploma-switch__control>input{position:absolute!important;inset:0!important;opacity:0!important;margin:0!important;cursor:pointer!important}.studie-diploma-switch__slider{position:absolute!important;inset:0!important;border:1px solid #b8bec4!important;border-radius:999px!important;background:#dfe2e5!important;transition:background .15s ease,border-color .15s ease!important}.studie-diploma-switch__slider:before{content:""!important;position:absolute!important;left:2px!important;top:2px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#fff!important;transition:transform .15s ease!important}.studie-diploma-switch__control>input:checked+.studie-diploma-switch__slider{background:#2f8f46!important;border-color:#2f8f46!important}.studie-diploma-switch__control>input:checked+.studie-diploma-switch__slider:before{transform:translateX(16px)!important}.studie-save-alert[hidden]{display:none!important}.studie-save-alert{margin:0 0 8px!important;padding:7px 10px!important;font-size:9px!important}.studie-phase-card.is-diploma .studie-progress-table tbody tr[data-vak]>td{background:#f0f1f2!important;color:#81868b!important}.studie-phase-card.is-diploma .studie-progress-table select,.studie-phase-card.is-diploma .studie-progress-table input[type=checkbox]{opacity:.65!important}.studie-progress-table th:nth-child(4),.studie-progress-table td:nth-child(4){width:110px!important;min-width:110px!important;max-width:110px!important;text-align:center!important}.studie-progress-table th:nth-child(5),.studie-progress-table td:nth-child(5){width:140px!important;min-width:140px!important;max-width:140px!important}@media(max-width:900px){body.studie-page > main.studie-main{width:96%!important}}

/* v1271 Studie: tabel past binnen 80%-module zonder horizontale scrollbar */
.studie-page .studie-phase-card .tablewrap{overflow-x:hidden!important;}
.studie-page .studie-progress-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;}
.studie-page .studie-progress-table th,.studie-page .studie-progress-table td{box-sizing:border-box!important;min-width:0!important;}
.studie-page .studie-progress-table th:nth-child(1),.studie-page .studie-progress-table td:nth-child(1){width:46px!important;min-width:46px!important;max-width:46px!important;}
.studie-page .studie-progress-table th:nth-child(2),.studie-page .studie-progress-table td:nth-child(2){width:auto!important;min-width:0!important;max-width:none!important;}
.studie-page .studie-progress-table th:nth-child(3),.studie-page .studie-progress-table td:nth-child(3){width:74px!important;min-width:74px!important;max-width:74px!important;}
.studie-page .studie-progress-table th:nth-child(4),.studie-page .studie-progress-table td:nth-child(4){width:112px!important;min-width:112px!important;max-width:112px!important;text-align:center!important;}
.studie-page .studie-progress-table th:nth-child(5),.studie-page .studie-progress-table td:nth-child(5){width:132px!important;min-width:132px!important;max-width:132px!important;}
.studie-page .studie-progress-table select.studie-status{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
.studie-page .studie-new-vak-row input{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;}
.studie-page .studie-new-vak-row input[name="semester"]{width:100%!important;min-width:0!important;max-width:100%!important;}
.studie-page .studie-new-vak-row input[name="ects"]{width:100%!important;min-width:0!important;max-width:100%!important;}

/* v1272 Studie: twee kolommen met vakken */
.studie-vakken-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;width:100%!important}.studie-vakken-pane{min-width:0!important;overflow:hidden!important;border:1px solid #dde1e4!important;border-radius:8px!important;background:#fff!important}.studie-vakken-pane .studie-progress-table{width:100%!important;table-layout:fixed!important;margin:0!important}.studie-vakken-pane .studie-progress-table th,.studie-vakken-pane .studie-progress-table td{padding:6px 7px!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.studie-vakken-pane .studie-progress-table th:nth-child(1),.studie-vakken-pane .studie-progress-table td:nth-child(1){width:34px!important;max-width:34px!important}.studie-vakken-pane .studie-progress-table th:nth-child(3),.studie-vakken-pane .studie-progress-table td:nth-child(3){width:42px!important;max-width:42px!important}.studie-vakken-pane .studie-progress-table th:nth-child(4),.studie-vakken-pane .studie-progress-table td:nth-child(4){width:52px!important;max-width:52px!important;text-align:center!important}.studie-vakken-pane .studie-progress-table th:nth-child(5),.studie-vakken-pane .studie-progress-table td:nth-child(5){width:118px!important;max-width:118px!important}.studie-vakken-pane .studie-progress-table select{width:100%!important;min-width:0!important;height:28px!important;font-size:9px!important}.studie-vaknaam{min-width:0!important}.studie-empty-row td{text-align:center!important;color:#9aa1a7!important}.studie-new-vak-inline{display:grid!important;grid-template-columns:70px minmax(180px,1fr) 80px auto!important;gap:8px!important;align-items:center!important;margin-top:10px!important;padding:8px!important;border:1px solid #dde1e4!important;border-radius:8px!important;background:#f8f9fa!important}.studie-new-vak-inline input{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:29px!important;font:400 9px/1 Arial!important}.studie-new-vak-inline .muted{font-size:9px!important;white-space:nowrap!important}.studie-totalbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin-top:8px!important;padding:7px 9px!important;border-top:1px solid #dde1e4!important;font-size:9px!important}.studie-phase-card.is-diploma .studie-vakken-pane .studie-progress-table tbody tr[data-vak]>td{background:#f0f1f2!important;color:#81868b!important}@media(max-width:1180px){.studie-vakken-grid{grid-template-columns:1fr!important}.studie-new-vak-inline{grid-template-columns:70px minmax(140px,1fr) 80px!important}.studie-new-vak-inline .muted{grid-column:1/-1!important;white-space:normal!important}}\n
/* v1273 studie module labels */
.studie-page .studie-user-tabs>a{max-width:240px!important;overflow:hidden!important;text-overflow:ellipsis!important}.studie-page .studie-user-tabs>a[title]{cursor:pointer!important}

/* v1465 Interim: processen op niveau 3, volledige breedte en klikbaar kopiëren */
.ibm-process-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.vaktechniek-main .vaktechniek-process-grid{grid-template-columns:minmax(0,1fr)}
.vaktechniek-main .vaktechniek-process-grid .vaktechniek-proces-card{width:100%}
.ibm-copy-row{cursor:pointer}.ibm-copy-row:hover,.ibm-copy-row:focus-visible{background:#eaf3fc;outline:1px solid #cad9e8}
/* v1524: Niet-blokkerende kopieermelding; verandert de paginalay-out nooit. */
.ibm-copy-message{position:fixed;right:20px;bottom:20px;top:auto;left:auto;z-index:3000;box-sizing:border-box;max-width:calc(100vw - 32px);width:max-content;margin:0;padding:9px 14px;border:1px solid #bfd8c6;border-radius:8px;background:#e9f5eb;color:#236b36;box-shadow:none;font:12px/1.35 Arial,sans-serif;pointer-events:none}
.ibm-copy-message[hidden]{display:none!important}
.ibm-copy-message::before{content:'✓';font-weight:bold;margin-right:7px}
.ibm-copy-message.is-error{background:#fff0ee;color:#a52823;border-color:#eabbb7}
.ibm-copy-message.is-error::before{content:'!'}
@media(max-width:600px){.ibm-copy-message{right:12px;bottom:12px}}

/* Projecten: consistente subtiele verwijderknoppen (v1480) */
.project-unified-delete,.project-table-remove,.project-table-column-remove,.project-table-row-actions button{width:19px!important;min-width:19px!important;height:19px!important;min-height:19px!important;padding:0!important;border:0!important;border-radius:3px!important;background:transparent!important;box-shadow:none!important;color:#b42318!important;font-size:15px!important;line-height:18px!important;cursor:pointer!important;text-align:center!important}
.project-unified-delete:hover,.project-table-remove:hover,.project-table-column-remove:hover{background:#fff0ee!important}

/* v1491: Home uitsluitend als los icoon, zonder oranje knopachtergrond. */
body.admin-page .central-module-header .planning-nav a.planning-home-link,
body.admin-page .central-module-header .planning-nav a.planning-home-link:hover,
body.admin-page .central-module-header .planning-nav a.planning-home-link:focus,
body.admin-page .central-module-header .planning-nav a.planning-home-link.active {
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:0!important;box-shadow:none!important;outline-offset:2px;
}
body.admin-page .central-module-header .planning-home-mark{background:transparent!important;border:0!important;box-shadow:none!important}

/* v1547: Analyses Planning - rolkolommen en compacte filters. */
.dashboard-card .dashboard-planning-filters{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin:10px 0 10px;padding:0}
.dashboard-card .dashboard-planning-filters label{display:flex;flex-direction:column;gap:4px;font:700 11px Arial,sans-serif;color:#45535c}
.dashboard-card .dashboard-planning-filters select{box-sizing:border-box;min-width:115px;max-width:220px;height:30px;padding:4px 8px;border:1px solid #c7cdd2;border-radius:6px;background:#fff;color:#293740;font:11px Arial,sans-serif}
.dashboard-card .dashboard-planning-filters select:focus-visible{outline:2px solid #80aacc;outline-offset:1px}
.dashboard-grouped-comparison .dashboard-role-col{min-width:82px!important;max-width:135px!important;width:100px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;text-align:left!important}
.dashboard-grouped-comparison .dashboard-role-col.cl-col{min-width:82px!important;max-width:135px!important;width:90px!important}
.dashboard-grouped-comparison .dashboard-role-col .dashboard-filter{box-sizing:border-box;min-width:0!important;width:100%!important}
@media(max-width:700px){.dashboard-card .dashboard-planning-filters{gap:7px}.dashboard-card .dashboard-planning-filters select{min-width:100px}}

/* v1548: Analyse planning gebruikt voortaan de compacte aanvinkdropdowns van Voortgang.
   De onderliggende rolgegevens worden alleen nog gebruikt voor filters. */
.dashboard-card .dashboard-planning-filters{align-items:center!important;gap:6px!important;margin:8px 0 10px!important}
.dashboard-card .dashboard-planning-filters .dashboard-checkfilter-btn{
  position:relative!important;min-width:94px!important;height:29px!important;min-height:29px!important;
  padding:0 25px 0 9px!important;border:1px solid #bfc5ca!important;border-radius:5px!important;
  background:#fff!important;color:#30363b!important;text-align:left!important;
  font:700 9px Arial,sans-serif!important;line-height:27px!important;box-sizing:border-box!important;
  box-shadow:none!important;cursor:pointer!important
}
.dashboard-card .dashboard-planning-filters .dashboard-checkfilter-btn::after{content:'▾';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:9px;color:#626a70}
.dashboard-card .dashboard-planning-filters .dashboard-checkfilter-btn[aria-expanded="true"]::after{content:'▴'}
.dashboard-card .dashboard-planning-filters .dashboard-checkfilter-btn:is(.active,:hover){border-color:var(--orange,#e96f00)!important;background:#fff7f0!important;color:#d85f00!important}
.dashboard-top-filter-menu{z-index:21000!important}
.dashboard-top-filter-menu .progress-multifilter-actions input[type="search"]{order:1!important;min-width:0!important}
.dashboard-top-filter-menu .progress-multifilter-actions button{order:2!important}


/* v1549 – Dashboard Analyse planning: exact de rustige Voortgang-topfilterstijl.
   De vijf aanvinkfilters blijven functioneel ongewijzigd. */
body.planning-admin-page .dashboard-card .dashboard-planning-filters{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex-wrap:wrap!important;gap:6px!important;margin:8px 0 10px!important;
}
body.planning-admin-page .dashboard-card .dashboard-planning-filters button.dashboard-checkfilter-btn{
  -webkit-appearance:none!important;appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  position:relative!important;width:auto!important;min-width:88px!important;max-width:none!important;
  height:29px!important;min-height:29px!important;max-height:29px!important;
  box-sizing:border-box!important;margin:0!important;padding:0 25px 0 10px!important;
  border:1px solid #bfc5ca!important;border-radius:5px!important;
  background:#fff!important;background-image:none!important;color:#30363b!important;
  text-align:left!important;font:700 9px/27px Arial,sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;cursor:pointer!important;
}
body.planning-admin-page .dashboard-card .dashboard-planning-filters button.dashboard-checkfilter-btn::after{
  content:'▾'!important;position:absolute!important;right:8px!important;top:50%!important;
  transform:translateY(-52%)!important;color:#626a70!important;font:400 9px/1 Arial,sans-serif!important;
  pointer-events:none!important;
}
body.planning-admin-page .dashboard-card .dashboard-planning-filters button.dashboard-checkfilter-btn[aria-expanded="true"]::after{content:'▴'!important}
body.planning-admin-page .dashboard-card .dashboard-planning-filters button.dashboard-checkfilter-btn:is(:hover,:focus-visible,.active){
  border-color:var(--orange,#e96f00)!important;background:#fff7f0!important;color:#d85f00!important;
}

/* v1578: AFAS-urendump achter de totalen in Analyse per klant. */
.actual-hours-open{border:0;background:transparent;padding:1px 3px;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#9aa5b1}
.actual-hours-open:hover,.actual-hours-open:focus-visible{color:#1d5690;text-decoration-color:currentColor;outline-offset:2px}
.actual-hours-overlay[hidden]{display:none!important}
.actual-hours-overlay{position:fixed;z-index:9900;inset:0;background:rgba(0,0,0,.55);padding:20px;display:flex;justify-content:center;align-items:center}
.actual-hours-window{width:min(1300px,98vw);height:min(82vh,820px);background:#fff;color:#212529;border-radius:12px;display:flex;flex-direction:column;min-height:300px;box-shadow:0 18px 65px #0004;overflow:hidden}
.actual-hours-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #e1e4e8;gap:15px}
.actual-hours-header h2{margin:0;font-size:19px}.actual-hours-header p{margin:3px 0 0;color:#626b73;font-size:12px}
.actual-hours-close{border:0;border-radius:8px;background:#f1f3f5;font-size:28px;line-height:1;cursor:pointer;width:34px;height:34px;flex-shrink:0}
.actual-hours-content{min-height:0;flex:1;display:flex;flex-direction:column}.actual-hours-message{padding:7px 18px;font-size:12px;color:#66727e;flex:none;min-height:30px}
.actual-hours-tablewrap{min-height:0;flex:1;overflow:auto}.actual-hours-detail{border-collapse:collapse;width:100%;min-width:1050px;font-size:12px}
.actual-hours-detail th,.actual-hours-detail td{padding:7px 9px;border:1px solid #e0e4e8;white-space:nowrap;vertical-align:top}
.actual-hours-detail td:nth-child(7){white-space:normal;min-width:160px;max-width:300px}.actual-hours-detail thead th{position:sticky;top:0;background:#ed6b23;color:#fff;text-align:left;z-index:1}
.actual-hours-detail th:nth-child(8),.actual-hours-detail th:nth-child(9),.actual-hours-detail td:nth-child(8),.actual-hours-detail td:nth-child(9){text-align:right}
.actual-hours-detail tbody tr:nth-child(even){background:#f6f7f8}.actual-hours-detail tfoot th{position:sticky;bottom:0;background:#e5e8eb;color:#24292e;font-weight:750;z-index:1}
.actual-hours-footer{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid #e1e4e8;font-size:11px;color:#606a75}
.actual-hours-footer>span{max-width:690px}.actual-hours-pager{display:flex;align-items:center;gap:10px;white-space:nowrap}.actual-hours-pager button{border:1px solid #cfd4d9;background:#fff;border-radius:6px;padding:5px 10px;cursor:pointer;color:#24292e}
.actual-hours-pager button:disabled{opacity:.4;cursor:default}
@media(max-width:700px){.actual-hours-overlay{padding:8px}.actual-hours-window{width:100%;height:94vh}.actual-hours-footer{flex-direction:column;align-items:flex-start}.actual-hours-header{padding:12px}}

/* v1579: totalen in Analyse per klant gedragen zich visueel als Verdeling per functie. */
body.planning-admin-page .dashboard-card button.actual-hours-open,
body.planning-admin-page button.actual-hours-open{
  border:0!important;background:none!important;background-image:none!important;
  color:inherit!important;padding:0!important;margin:0!important;
  font:inherit!important;font-weight:inherit!important;
  text-decoration:underline dotted!important;text-underline-offset:3px!important;
  cursor:pointer!important;box-shadow:none!important;border-radius:0!important;
  min-height:0!important;height:auto!important;line-height:inherit!important;
  min-width:0!important;width:auto!important;display:inline!important;
}
body.planning-admin-page button.actual-hours-open:hover,
body.planning-admin-page button.actual-hours-open:focus-visible{
  color:#e88116!important;background:transparent!important;
}
/* Houd ook de detailweergave rustig en gelijk aan de andere analysetabellen. */
body.planning-admin-page .actual-hours-detail thead th{
  background:#f1f3f5!important;color:#292f34!important;border-color:#dfe3e7!important;
}
.actual-hours-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.actual-hours-excel{display:inline-flex;align-items:center;gap:6px;background:#fff!important;
  color:#30363b!important;border:1px solid #cbd2d8!important;border-radius:6px!important;
  box-shadow:none!important;padding:7px 11px!important;font-size:12px!important;
  font-weight:600!important;white-space:nowrap;cursor:pointer}
.actual-hours-excel:hover,.actual-hours-excel:focus-visible{background:#f1f4f6!important;border-color:#9faab4!important}
.actual-hours-excel:disabled{opacity:.5;cursor:default}
@media(max-width:700px){.actual-hours-header-actions{gap:5px}.actual-hours-excel{padding:6px!important;font-size:11px!important}}

/* v1580: werkelijk huidig/vorig jaar in een overzicht met dezelfde jaar-tabs
   als de groepering bij Nog geplande uren. */
.client-actual-years-heading{margin-top:9px}
.client-actual-years-heading .client-groep-tabs{gap:5px}
.client-actual-year-panel[hidden]{display:none!important}
.client-actual-year-panel .tablewrap{margin-top:0}
