.mkal{
  --mkal-rand:#E1E6EE; --mkal-rand-zacht:#EDF0F5; --mkal-licht:#DCE5F3; --mkal-leeg:#E8ECF2; --mkal-gat:#AEB8C6;
  --mkal-blauw:var(--bl-blauw,#2E74F0); --mkal-tekst:var(--bl-tekst,#1F5FD6);
  position:relative;margin:56px 0 0;padding:24px 32px 28px;background:#fff;border:1px solid var(--mkal-rand);
  font-family:var(--f);font-variant-numeric:tabular-nums;color:var(--inkt);text-align:left
}
.mkal-balk{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:26px}
.mkal-meta{font-size:13px;line-height:20px;color:var(--n500)}
.mkal-teller{margin-left:auto;font-size:13px;line-height:20px;color:var(--n500)}
.mkal-teller b{font-weight:600;color:var(--inkt)}
.mkal-teller .gat{color:var(--n600)}
.mkal-knop{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;font:500 12px/16px var(--f);color:var(--n600);background:#fff;border:1px solid var(--mkal-rand);cursor:pointer;transition:border-color .15s,color .15s}
.mkal-knop:hover{border-color:var(--n400);color:var(--inkt)}
.mkal-knop:focus-visible{outline:2px solid var(--inkt);outline-offset:2px}
.mkal-knop svg{width:11px;height:11px}
.an-statisch .mkal-knop{display:none}
.mkal-raster{position:relative;margin-top:18px;border-top:1px solid var(--mkal-rand)}
.mkal-rij{display:grid;grid-template-columns:188px minmax(0,1fr) 92px;align-items:center;gap:20px;min-height:48px;border-bottom:1px solid var(--mkal-rand-zacht)}
.mkal-rij.mkal-kop{min-height:38px;border-bottom:0}
.mkal-model{display:flex;align-items:center;gap:12px;min-width:0;font-size:14px;line-height:18px;font-weight:500;color:var(--inkt)}
.mkal-model img{width:18px;height:18px;flex:none;object-fit:contain}
.mkal-naam{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkal-naam small{display:block;font-size:11px;line-height:15px;font-weight:400;color:var(--n500)}
.mkal-weken{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-self:stretch}
.mkal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;justify-items:center;padding:0 6px}
.mkal-week + .mkal-week{border-left:1px solid var(--mkal-rand-zacht)}
.mkal-wk{display:flex;align-items:center;padding:0 8px;font-size:12px;line-height:16px;color:var(--n500);white-space:nowrap}
.mkal-wk + .mkal-wk{border-left:1px solid var(--mkal-rand-zacht)}
.mkal-begin{color:var(--n400)}
.mkal-stip,.mkal-leeg{display:block;width:12px;height:12px;border-radius:50%}
.mkal-stip{background:var(--mkal-leeg)}
.mkal-stip.ja{background:var(--mkal-blauw)}
.mkal-stip.nee{background:var(--mkal-licht)}
.mkal-stip.gat{background:transparent;border:1px dashed var(--mkal-gat)}
.mkal-som{font-size:13px;line-height:20px;color:var(--n500);text-align:right;white-space:nowrap}
.mkal-som b{font-size:15px;font-weight:600;color:var(--mkal-tekst)}
.mkal-kop .mkal-som{font-size:12px;line-height:16px}
.mkal-cursor{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--mkal-blauw);opacity:0;pointer-events:none}
.mkal-lijnrij{display:grid;grid-template-columns:188px minmax(0,1fr) 92px;gap:6px 20px;margin-top:22px}
.mkal-aslabels{grid-column:1;grid-row:2;position:relative;height:150px}
.mkal-aslabels span{position:absolute;right:0;transform:translateY(-50%);font-size:11px;line-height:14px;color:var(--n400)}
.mkal-lijnvak{grid-column:2;grid-row:2;position:relative;height:150px}
.mkal-as{position:absolute;left:0;right:0;height:1px;background:#E5E9F0}
.mkal-lijnvak svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mkal-lijn{fill:none;stroke:var(--mkal-blauw);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mkal-punt{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid var(--mkal-blauw);border-radius:50%;background:#fff}
.mkal-waarde{position:absolute;left:50%;bottom:100%;margin-bottom:5px;transform:translateX(-50%);font-size:12px;line-height:14px;font-weight:600;color:var(--mkal-tekst);white-space:nowrap}
.mkal-lijnlabel{grid-column:1/-1;grid-row:1;margin-bottom:8px;font-size:13px;line-height:20px;color:var(--n500)}
.mkal-lijnlabel b{font-weight:500;color:var(--inkt);margin-right:6px}
.mkal-weekn{grid-column:2;grid-row:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));font-size:12px;line-height:16px;color:var(--n500);text-align:center}
.mkal-legenda{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;padding-top:16px;border-top:1px solid var(--mkal-rand-zacht);font-size:12px;line-height:18px;color:var(--n500)}
.mkal-legenda span{display:inline-flex;align-items:center;gap:8px}
.mkal-legenda .mkal-stip{width:10px;height:10px}
.mkal-onder{margin-top:10px;max-width:760px;font-size:13px;line-height:20px;color:var(--n500)}
@media (max-width:1100px){
  .mkal-begin{display:none}
}
@media (max-width:900px){
  .mkal-rij,.mkal-lijnrij{grid-template-columns:132px minmax(0,1fr) 72px;gap:6px 12px}
  .mkal-week{padding:0 3px}
  .mkal-stip,.mkal-leeg{width:9px;height:9px}
}
@media (max-width:640px){
  .mkal{margin-top:40px;padding:16px 14px 18px}
  .mkal-meta{order:3;flex-basis:100%}
  .mkal-teller{margin-left:0}
  .mkal-knop{margin-left:auto}
  .mkal-rij,.mkal-lijnrij{grid-template-columns:20px minmax(0,1fr) 54px;gap:6px 8px}
  .mkal-rij{min-height:34px}
  .mkal-model{gap:0}
  .mkal-naam{display:none}
  .mkal-week{padding:0 1px}
  .mkal-wk{padding:0 3px;font-size:10px}
  .mkal-stip,.mkal-leeg{width:6px;height:6px}
  .mkal-stip.gat{border:1px solid var(--mkal-gat)}
  .mkal-som{font-size:11px}
  .mkal-som b{font-size:13px}
  .mkal-kop .mkal-som{font-size:10px}
  .mkal-aslabels,.mkal-lijnvak{height:112px}
  .mkal-aslabels span{font-size:9px}
  .mkal-waarde{font-size:11px}
  .mkal-lijnlabel{font-size:12px;line-height:18px}
  .mkal-weekn{font-size:10px}
  .mkal-lang{display:none}
  .mkal-legenda{gap:6px 16px}
}
