/* Moving-In LT-portal. Kleurvariabelen en typografie volgen docs/referentie-opzet.html. */
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700;900&display=swap');

:root{
  color-scheme:light;
  --surface-1:#FFFFFF; --plane:#F7F9FD; --line:#E1E7F0;
  --ink-1:#1F262F; --ink-2:#313A45; --ink-3:#7B8593;
  --grid:#EDF1F7; --axis:#C7CFDA;
  --navy:#1F262F; --lime:#CFFF8E; --brand:#8DC63F;
  --st-top:#0F6820; --st-ok:#5FA524; --st-warn:#E8760F; --st-crit:#B3242E;
  --st-top-bg:#E3F1E4; --st-ok-bg:#EDF6E1; --st-warn-bg:#FDF0E1; --st-crit-bg:#FAE9EA;
  --neutral:#8894A3; --neutral-bg:#F2F5F9;
  --shadow:0 4px 16px rgba(0,0,0,.05);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Titillium Web',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--plane);color:var(--ink-2);line-height:1.5;font-size:15px;min-height:100vh}
.ct{max-width:1460px;margin:0 auto;padding:0 22px}
a{color:inherit}

header.top{position:sticky;top:0;z-index:70;background:var(--surface-1);border-bottom:1px solid var(--line);box-shadow:0 3px 14px rgba(0,0,0,.05)}
.hr1{display:flex;align-items:center;gap:15px;padding:12px 22px;flex-wrap:wrap}
.tt{font-weight:900;font-size:14.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-1)}
.tt small{display:block;font-weight:600;font-size:11px;letter-spacing:.03em;color:var(--ink-3);text-transform:none}
.sp{margin-left:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.knop{display:inline-block;border:1px solid var(--line);background:var(--plane);border-radius:30px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:700;color:var(--ink-2);cursor:pointer;text-decoration:none;white-space:nowrap}
.knop.primair{background:var(--navy);border-color:var(--navy);color:#fff}
.knop.primair:hover{background:#2b3542}
.knop:hover{background:var(--grid)}

main{padding:18px 0 40px}

.melding{border-radius:14px;padding:10px 16px;margin:0 0 12px;font-size:13.5px;border:1px solid var(--line);background:var(--surface-1)}
.melding.ok{background:var(--st-ok-bg);border-color:var(--st-ok);color:var(--ink-1)}
.melding.waarschuwing{background:var(--st-warn-bg);border-color:var(--st-warn);color:var(--ink-1)}
.melding.fout{background:var(--st-crit-bg);border-color:var(--st-crit);color:var(--ink-1)}

/* telstrook zoals de kerncijfers in de referentie */
.bar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:4px 0 16px}
.bcell{background:var(--surface-1);border:1px solid var(--line);border-radius:16px;padding:11px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}
.bcell .n{font-weight:900;font-size:22px;line-height:1;color:var(--ink-1)}
.bcell .n span{font-size:12px;font-weight:600;color:var(--ink-3)}
.bcell .l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:13px;font-weight:900;color:#fff}
.dot.sm{width:17px;height:17px;font-size:10px}

/* afdelingskaarten met tabel */
.kaart{background:var(--surface-1);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.kaart h2{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-1);padding:12px 18px 10px;border-bottom:1px solid var(--grid);display:flex;gap:10px;align-items:baseline}
.kaart h2 small{font-weight:600;font-size:11.5px;color:var(--ink-3);text-transform:none;letter-spacing:0}
table.reg{width:100%;border-collapse:collapse;font-size:13.5px}
table.reg th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700;text-align:left;padding:8px 12px;border-bottom:1px solid var(--grid)}
table.reg td{padding:8px 12px;border-bottom:1px solid var(--grid);vertical-align:middle}
table.reg tr:last-child td{border-bottom:none}
table.reg tbody tr{cursor:pointer}
table.reg tbody tr:hover{background:var(--plane)}
td.code{font-weight:700;color:var(--ink-3);white-space:nowrap;width:80px}
td.naam{font-weight:700;color:var(--ink-1)}
td.dim{color:var(--ink-3)}

.chip{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:2px 11px 3px;font-size:11.5px;font-weight:700;white-space:nowrap}
.chip.actief{background:var(--st-ok-bg);color:var(--st-ok)}
.chip.concept{background:var(--st-warn-bg);color:var(--st-warn)}
.chip.inactief{background:var(--neutral-bg);color:var(--neutral)}
.chip.mist{background:var(--st-warn-bg);color:var(--st-warn)}
.chip.compleet{background:var(--st-ok-bg);color:var(--st-ok)}
.label{display:inline-block;border:1px solid var(--line);background:var(--plane);border-radius:20px;padding:0 8px;font-size:10.5px;font-weight:700;color:var(--ink-3);margin-right:3px;white-space:nowrap}

/* formulier */
.fkop{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:2px 0 14px}
.fkop h1{font-size:22px;font-weight:900;color:var(--ink-1)}
.fkop .code{font-weight:700;color:var(--ink-3)}
.fgrid{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:16px;align-items:start}
@media(max-width:1150px){.fgrid{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);background:var(--surface-1);border-radius:16px;box-shadow:var(--shadow);padding:14px 18px 18px;margin-bottom:14px;min-width:0}
legend{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:0 6px}
.rij{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 14px;margin-top:8px}
.veld{display:flex;flex-direction:column;gap:3px;min-width:0}
.veld.breed{grid-column:1/-1}
.veld label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.veld input[type=text],.veld input[type=date],.veld select,.veld textarea{font-family:inherit;font-size:13.5px;color:var(--ink-1);border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--plane);width:100%}
.veld textarea{min-height:64px;resize:vertical}
.veld input:focus,.veld select:focus,.veld textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.vink{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-1);padding:4px 0}
.vink input{width:16px;height:16px;accent-color:var(--brand)}

.zijpaneel{background:var(--surface-1);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;position:sticky;top:76px}
.zijpaneel h3{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:8px}
.zijpaneel ul{list-style:none}
.zijpaneel li{font-size:13px;padding:3px 0;display:flex;gap:8px;align-items:center}
.zijpaneel .governance{font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--grid);margin-top:10px;padding-top:10px}
.fknoppen{display:flex;gap:8px;align-items:center;margin-top:4px}

footer.onder{padding:20px 22px;color:var(--ink-3);font-size:12px;text-align:center}

/* gebruikersmenu rechtsboven: alleen de naam, met uitklap voor uitloggen */
.gebruikersmenu{position:relative}
.gebruikersmenu summary{list-style:none;cursor:pointer;border:1px solid var(--line);background:var(--plane);border-radius:30px;padding:6px 14px;font-size:12px;font-weight:700;color:var(--ink-1);white-space:nowrap}
.gebruikersmenu summary::-webkit-details-marker{display:none}
.gebruikersmenu summary::after{content:' ▾';color:var(--ink-3)}
.gebruikersmenu .menuvlak{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface-1);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:4px;z-index:90;min-width:190px}
.gebruikersmenu .menuvlak a,.gebruikersmenu .menuvlak button{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-1);text-decoration:none;border:none;background:transparent;text-align:left;padding:7px 10px;border-radius:9px;cursor:pointer;width:100%}
.gebruikersmenu .menuvlak a:hover,.gebruikersmenu .menuvlak button:hover{background:var(--plane)}

/* ---------- invoer ---------- */
.hoofdnav{display:flex;gap:6px}
.invoerkop{display:flex;flex-direction:column;gap:10px;padding:2px 0 14px}
.personen{display:flex;gap:6px;flex-wrap:wrap}
.weekstrip{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap}
.wklab{font-size:12.5px;font-weight:700;color:var(--ink-1);margin-right:9px;white-space:nowrap;padding-bottom:4px}
.wk{border:1px solid var(--line);background:var(--surface-1);border-radius:9px;padding:2px 8px 3px;font-family:inherit;cursor:pointer;text-align:center;min-width:41px;line-height:1.12;text-decoration:none;display:inline-block}
.wk b{display:block;font-size:12.5px;font-weight:900;color:var(--ink-1)}
.wk i{display:block;font-style:normal;font-size:9px;font-weight:700;color:var(--ink-3)}
.wk.on{background:var(--navy);border-color:var(--navy)}
.wk.on b,.wk.on i{color:#fff}
.wk.fut{opacity:.32;cursor:not-allowed}
.wk.persoon{border-radius:30px;padding:4px 14px}
.wk.persoon b{font-size:12px}

table.invoer td{vertical-align:middle}
th.r,td.r{text-align:right}
.invoercel input{font-family:inherit;font-size:14px;font-weight:700;color:var(--ink-1);border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--plane);width:130px;text-align:right}
.invoercel input:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.chip.st-top{background:var(--st-top-bg);color:var(--st-top)}
.chip.st-ok{background:var(--st-ok-bg);color:var(--st-ok)}
.chip.st-warn{background:var(--st-warn-bg);color:var(--st-warn)}
.chip.st-crit{background:var(--st-crit-bg);color:var(--st-crit)}
.chip.st-none,.chip.st-notgt,.chip.st-ctx{background:var(--neutral-bg);color:var(--neutral)}
.knop.klein{padding:3px 10px;font-size:11px}
.detailrij.verborgen{display:none}
.detailrij>td{background:var(--plane);padding:12px 16px}
.detailblok{display:flex;flex-direction:column;gap:10px;max-width:860px}
.mistekst{font-size:12px;font-weight:700;color:var(--st-warn)}
.oktekst{font-size:12px;font-weight:700;color:var(--st-ok)}
details.asana summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--ink-2);padding:2px 0}
details.asana .rij{margin:8px 0}
.naam small{display:block;font-weight:600}
